stdint test: Fix compilation failure on OSF/1 with DTK compiler.
[gnulib.git] / ChangeLog
1 2011-04-10  Bruno Haible  <bruno@clisp.org>
2
3         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
4         * modules/stdint-tests (Depends-on): Add wchar.
5
6 2011-04-10  Jim Meyering  <meyering@redhat.com>
7
8         maint: remove doubled words in comments, e.g., s/a a/a/
9         * lib/strptime.c (day_of_the_week): s/the the/the/
10         * tests/test-chown.h (test_chown): s/a a/a/
11
12         test-chown.h: correct a cast
13         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
14         when the destination is a stat.st_gid.
15
16 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
17
18         getaddrinfo: Fix test for sa_len member.
19         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
20         include <sys/types.h> before <sys/socket.h>.
21
22 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
23
24         maint: change "can not" to "cannot"
25         * doc/posix-functions/iconv.texi (iconv): This one crossed line
26         boundaries.
27
28 2011-04-09  Jim Meyering  <meyering@redhat.com>
29
30         maint: change "a a" to "a"
31         * tests/test-lchown.h (test_lchown): s/a a/a/
32
33         maint.mk: prohibit \<the the\>
34         * top/maint.mk (sc_prohibit_the_the): New rule.
35
36         maint: fix "the the" in comment
37         * lib/count-one-bits.h: s/the the/the/
38
39         maint: change "can not" to "cannot"
40         But do not change the occurrences in maintain.texi or in
41         build-aux/po/Makefile.in.in, which I presume comes from gettext.
42         * doc/gnulib-tool.texi: s/can not/cannot/
43         * doc/posix-functions/accept.texi (accept): Likewise.
44         * doc/posix-functions/socket.texi (socket): Likewise.
45         * lib/mbrtowc.c: Likewise.
46
47         maint.mk: prohibit use of "can not"
48         * top/maint.mk (sc_prohibit_can_not): New rule.
49         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
50
51 2011-04-09  Bruno Haible  <bruno@clisp.org>
52
53         careadlinkat: Guard against misuse of careadlinkatcwd.
54         * lib/careadlinkat.c: Include <stdlib.h>.
55         (careadlinkatcwd): Check that the fd argument is as expected.
56
57 2011-04-09  Bruno Haible  <bruno@clisp.org>
58
59         careadlinkat: Use common coding style.
60         * lib/careadlinkat.c: Move gnulib includes after system includes.
61
62 2011-04-09  Bruno Haible  <bruno@clisp.org>
63
64         careadlinkat: Clarify specification.
65         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
66         (careadlinkatcwd): Add comment.
67         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
68
69 2011-04-09  Bruno Haible  <bruno@clisp.org>
70
71         areadlinkat: Avoid link error on many platforms.
72         * modules/areadlinkat (Depends-on): Add areadlink.
73
74 2011-04-09  Bruno Haible  <bruno@clisp.org>
75
76         allocator, careadlinkat: Fix double-inclusion guard.
77         * lib/allocator.h: Fix double-inclusion guard.
78         * lib/careadlinkat.h: Likewise.
79
80 2011-04-09  Bruno Haible  <bruno@clisp.org>
81
82         relocatable-prog-wrapper: Update after module 'areadlink' changed.
83         * lib/relocwrapper.c: Update dependencies hierarchy.
84         * build-aux/install-reloc: Update list of files to be compiled.
85         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
86         lib/allocator.[hc].
87
88 2011-04-08  Eric Blake  <eblake@redhat.com>
89
90         strftime: silence gnulib-tool warning
91         * modules/strftime-tests (Depends-on): Drop automatic dependency.
92
93 2011-04-08  Bruno Haible  <bruno@clisp.org>
94
95         verify: Fix syntax error with GCC 4.6 in C++ mode.
96         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
97         (HAVE_STATIC_ASSERT): New macro.
98         (verify_true, verify): Use 'static_assert' if it is supported and
99         '_Static_assert' is not supported.
100
101 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
102
103         allocator: New module.
104         * modules/allocator, lib/allocator.c: New files.
105         * lib/allocator.h (stdlib_allocator): New decl.
106         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
107         Remove.  Do not include <stdlib.h>.
108         (careadlinkat): Use stdlib_allocator instead of rolling our own.
109         * modules/careadlinkat (Files): Remove lib/allocator.h.
110         (Depends-on): Add allocator.
111
112         stdlib: let modules use system malloc, realloc
113         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
114         if !_GL_USE_STDLIB_ALLOC.
115         (malloc, realloc): Limit this change to a smaller scope.
116
117         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
118         (malloc, realloc): Don't #undef; no longer needed.
119         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
120         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
121         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
122         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
123         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
124         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
125         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
126         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
127
128         careadlinkat: rename members to avoid problem
129         * lib/allocator.h (struct allocator): Rename members from
130         malloc/realloc to allocate/reallocate, to avoid problems if malloc
131         and realloc are #define'd.  Reported by Eric Blake in
132         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
133         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
134
135 2011-04-08  Eric Blake  <eblake@redhat.com>
136
137         nonblocking: reduce dependency
138         * tests/test-nonblocking.c: Only test sockets when in use.
139         * modules/nonblocking-tests (Depends-on): Drop socket.
140         (Makefile.am): Link even if sockets are not present.
141         * modules/pipe2-tests (Makefile.am): Likewise.
142         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
143
144         pipe2: fix O_NONBLOCK support on mingw
145         * modules/pipe2 (Depends-on): Add nonblocking.
146         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
147         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
148         * tests/test-nonblocking.c (main): Likewise.
149         * modules/pipe2-tests (Makefile.am): Avoid link failure.
150
151         fcntl-h: fix O_ACCMODE on cygwin
152         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
153         * lib/fcntl.in.h (O_ACCMODE): Fix it.
154
155         pipe-filter: drop O_NONBLOCK workarounds
156         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
157         * modules/pipe-filter-ii (Depends-on): Likewise.
158         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
159
160         nonblocking: provide O_NONBLOCK for mingw
161         * modules/nonblocking (Depends-on): Add open.
162         (configure.ac): Set new witness macro.
163         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
164         * modules/fcntl-h (Makefile.am): Substitute it.
165         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
166         nonblocking module is in use.
167         * lib/nonblocking.c: Adjust portability test.
168         * lib/open.c (open): Don't let native open see gnulib flag.
169         * tests/test-fcntl-h.c (main): Enhance test.
170         * tests/test-open.h (test_open): Likewise.
171         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
172
173         careadlinkat: fix compilation error on mingw
174         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
175         within struct allocator.
176
177 2011-04-06  Eric Blake  <eblake@redhat.com>
178
179         binary-io: relicense under LGPLv2+
180         * modules/binary-io (License): Relax to LGPLv2+.
181         Requested for libvirt, and required by pipe2.
182
183 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
184
185         verify: use _Static_assert if available
186         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
187         (verify_true, verify): Use it if available.  This generates better
188         diagnostics with GCC 4.6.0 and later.
189
190 2011-04-05  Bruno Haible  <bruno@clisp.org>
191
192         Remove leftover generated .h files after config.status changed.
193
194         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
195         GL_GENERATE_ALLOCA_H.
196         * modules/alloca-opt (Makefile.am): Remove alloca.h if
197         GL_GENERATE_ALLOCA_H evaluates to false.
198
199         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
200         GL_GENERATE_ARGZ_H.
201         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
202         evaluates to false.
203
204         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
205         GL_GENERATE_BYTESWAP_H.
206         * modules/byteswap (Makefile.am): Remove byteswap.h if
207         GL_GENERATE_BYTESWAP_H evaluates to false.
208
209         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
210         GL_GENERATE_ERRNO_H.
211         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
212         evaluates to false.
213
214         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
215         GL_GENERATE_FLOAT_H.
216         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
217         evaluates to false.
218
219         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
220         GL_GENERATE_FNMATCH_H.
221         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
222         GL_GENERATE_FNMATCH_H evaluates to false.
223
224         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
225         GL_GENERATE_GLOB_H.
226         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
227         evaluates to false.
228
229         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
230         automake conditional GL_GENERATE_ICONV_H.
231         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
232         evaluates to false.
233
234         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
235         GL_GENERATE_NETINET_IN_H.
236         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
237         GL_GENERATE_NETINET_IN_H evaluates to false.
238
239         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
240         conditional GL_GENERATE_PTHREAD_H.
241         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
242         * modules/pthread (Makefile.am): Remove pthread.h if
243         GL_GENERATE_PTHREAD_H evaluates to false.
244
245         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
246         GL_GENERATE_SCHED_H.
247         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
248         evaluates to false.
249
250         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
251         conditional GL_GENERATE_SELINUX_CONTEXT_H.
252         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
253         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
254
255         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
256         GL_GENERATE_STDARG_H.
257         * modules/stdarg (Makefile.am): Remove stdarg.h if
258         GL_GENERATE_STDARG_H evaluates to false.
259
260         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
261         GL_GENERATE_STDBOOL_H.
262         * modules/stdbool (Makefile.am): Remove stdbool.h if
263         GL_GENERATE_STDBOOL_H evaluates to false.
264
265         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
266         conditional GL_GENERATE_STDDEF_H.
267         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
268         * modules/stddef (Makefile.am): Remove stddef.h if
269         GL_GENERATE_STDDEF_H evaluates to false.
270
271         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
272         GL_GENERATE_STDINT_H.
273         * modules/stdint (Makefile.am): Remove stdint.h if
274         GL_GENERATE_STDINT_H evaluates to false.
275
276         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
277         GL_GENERATE_SYSEXITS_H.
278         * modules/sysexits (Makefile.am): Remove sysexits.h if
279         GL_GENERATE_SYSEXITS_H evaluates to false.
280
281         Reported by Karl Berry and Ralf Wildenhues.
282
283 2011-04-05  Bruno Haible  <bruno@clisp.org>
284
285         Ensure to rebuild generated .h files when config.status has changed.
286         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
287         config.status.
288         * modules/ctype (Makefile.am): Likewise.
289         * modules/dirent (Makefile.am): Likewise.
290         * modules/errno (Makefile.am): Likewise.
291         * modules/fcntl-h (Makefile.am): Likewise.
292         * modules/float (Makefile.am): Likewise.
293         * modules/getopt-posix (Makefile.am): Likewise.
294         * modules/glob (Makefile.am): Likewise.
295         * modules/iconv-h (Makefile.am): Likewise.
296         * modules/inttypes (Makefile.am): Likewise.
297         * modules/langinfo (Makefile.am): Likewise.
298         * modules/locale (Makefile.am): Likewise.
299         * modules/math (Makefile.am): Likewise.
300         * modules/netdb (Makefile.am): Likewise.
301         * modules/netinet_in (Makefile.am): Likewise.
302         * modules/poll-h (Makefile.am): Likewise.
303         * modules/pthread (Makefile.am): Likewise.
304         * modules/pty (Makefile.am): Likewise.
305         * modules/sched (Makefile.am): Likewise.
306         * modules/search (Makefile.am): Likewise.
307         * modules/selinux-h (Makefile.am): Likewise.
308         * modules/signal (Makefile.am): Likewise.
309         * modules/spawn (Makefile.am): Likewise.
310         * modules/stdarg (Makefile.am): Likewise.
311         * modules/stdbool (Makefile.am): Likewise.
312         * modules/stddef (Makefile.am): Likewise.
313         * modules/stdint (Makefile.am): Likewise.
314         * modules/stdio (Makefile.am): Likewise.
315         * modules/stdlib (Makefile.am): Likewise.
316         * modules/string (Makefile.am): Likewise.
317         * modules/strings (Makefile.am): Likewise.
318         * modules/sys_file (Makefile.am): Likewise.
319         * modules/sys_ioctl (Makefile.am): Likewise.
320         * modules/sys_select (Makefile.am): Likewise.
321         * modules/sys_socket (Makefile.am): Likewise.
322         * modules/sys_stat (Makefile.am): Likewise.
323         * modules/sys_time (Makefile.am): Likewise.
324         * modules/sys_times (Makefile.am): Likewise.
325         * modules/sys_utsname (Makefile.am): Likewise.
326         * modules/sys_wait (Makefile.am): Likewise.
327         * modules/sysexits (Makefile.am): Likewise.
328         * modules/termios (Makefile.am): Likewise.
329         * modules/time (Makefile.am): Likewise.
330         * modules/unistd (Makefile.am): Likewise.
331         * modules/wchar (Makefile.am): Likewise.
332         * modules/wctype-h (Makefile.am): Likewise.
333         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
334
335 2011-04-05  Bruno Haible  <bruno@clisp.org>
336
337         pipe2: Relicense under LGPLv2+.
338         * modules/pipe2 (License): Change to LGPLv2+.
339         Requested by Eric Blake, for libvirt.
340
341 2011-04-05  Bruce Korb  <bkorb@gnu.org>
342
343         bootstrap: compute gnulib_extra_files after updating build_aux
344         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
345         change build_aux or also supply gnulib_extra_files.  Handle correctly.
346
347 2011-04-05  Eric Blake  <eblake@redhat.com>
348
349         bootstrap: preserve git whitelist item sorting
350         * build-aux/bootstrap (sort_patterns): New function.
351         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
352
353 2011-04-05  Simon Josefsson  <simon@josefsson.org>
354
355         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
356         sc_space_tab check.
357
358 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
359
360         areadlink, areadlinkat: rewrite in terms of careadlinkat
361         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
362         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
363         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
364         (malloc, realloc): Remove #undefs.
365         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
366         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
367         readlink, ssize_t, stdint, unistd.
368         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
369         areadlink, stdint.
370
371         careadlinkat: new module
372         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
373         * modules/careadlinkat: New files, written by me with
374         a review and feedback from Ben Pfaff in
375         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
376
377 2011-04-01  Bruno Haible  <bruno@clisp.org>
378
379         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
380         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
381         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
382         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
383         Reported by Bruce Korb <bruce.korb@gmail.com>.
384
385 2011-04-01  Bruno Haible  <bruno@clisp.org>
386
387         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
388         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
389         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
390         * modules/wcpcpy (Depends-on): Add extensions.
391         * modules/wcpncpy (Depends-on): Likewise.
392         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
393         systems.
394         * doc/posix-functions/wcpncpy.texi: Likewise.
395         * doc/posix-functions/wcwidth.texi: Likewise.
396
397 2011-03-31  Eric Blake  <eblake@redhat.com>
398
399         nonblocking: fix mingw test failures
400         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
401         non-blocking flag on regular file.
402         (get_nonblocking_flag): Set errno on invalid fd.
403         * tests/test-nonblocking.c (main): Avoid test failure on
404         directories if fchdir is not active.
405         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
406
407 2011-03-31  Bruno Haible  <bruno@clisp.org>
408
409         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
410         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
411         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
412         Reported by Simon Josefsson <simon@josefsson.org>.
413
414 2011-03-31  Bruno Haible  <bruno@clisp.org>
415         and Eric Blake  <eblake@redhat.com>
416
417         nonblocking: new module
418         * modules/nonblocking: New module.
419         * modules/nonblocking-tests: Likewise.
420         * lib/nonblocking.h: New file.
421         * lib/nonblocking.c: Likewise.
422         * tests/test-nonblocking.c: New test.
423         * lib/ioctl.c (ioctl) [mingw]: Update comment.
424
425 2011-03-30  Bruno Haible  <bruno@clisp.org>
426
427         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
428         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
429         instead of 'printf' format for GCC >= 4.4.
430         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
431         (fprintf, printf, vfprintf, vprintf): Declare with
432         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
433         the system's vfprintf() function.
434         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
435
436 2011-03-30  Eric Blake  <eblake@redhat.com>
437
438         passfd: fix scoping bug
439         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
440         before sendmsg/recvmsg.
441
442         passfd: standardize coding conventions
443         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
444         can be learned at compile time.
445         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
446         ifdefs.
447         (sendfd, recvfd): Follow gnulib code conventions.
448
449         passfd: fix incorrect sendmsg arguments
450         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
451         incorrect msg_controllen value.
452         * modules/passfd-tests (Depends-on): Check for alarm.
453         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
454         Reported by Bastien ROUCARIES.
455
456 2011-03-30  Bruno Haible  <bruno@clisp.org>
457
458         c-strcasestr: Relicense under LGPLv2+.
459         * modules/c-strcasestr (License): Change to LGPLv2+.
460         Requested by Eric Blake, for libvirt.
461
462 2011-03-30  Simon Josefsson  <simon@josefsson.org>
463
464         * users.txt: Add libidn2.  Fix libtasn1 link.
465
466 2011-03-30  Jim Meyering  <meyering@redhat.com>
467
468         tests: readlink* ("",... fails with EINVAL on newer kernels
469         readlink and readlinkat have typically failed with ENOENT for
470         the invalid, empty file name,  "".  However, with the advent
471         of linux-2.6.39, they fail with EINVAL.
472         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
473         when operating on the empty file name.
474         * tests/test-readlink.h (test_readlink): Likewise.
475
476 2011-03-29  Bruno Haible  <bruno@clisp.org>
477
478         Relicense some modules under LGPLv2+, for libidn2.
479         * modules/array-mergesort (License): Change to LGPLv2+.
480         * modules/c-strcaseeq (License): Likewise.
481         * modules/striconveh (License): Likewise.
482         * modules/striconveha (License): Likewise.
483         * modules/uniconv/base (License): Likewise.
484         * modules/uniconv/u8-conv-from-enc (License): Likewise.
485         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
486         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
487         * modules/unictype/base (License): Likewise.
488         * modules/unictype/bidiclass-of (License): Likewise.
489         * modules/unictype/category-M (License): Likewise.
490         * modules/unictype/category-none (License): Likewise.
491         * modules/unictype/category-of (License): Likewise.
492         * modules/unictype/category-test (License): Likewise.
493         * modules/unictype/category-test-withtable (License): Likewise.
494         * modules/unictype/combining-class (License): Likewise.
495         * modules/unictype/joiningtype-of (License): Likewise.
496         * modules/unictype/scripts (License): Likewise.
497         * modules/uninorm/base (License): Likewise.
498         * modules/uninorm/canonical-decomposition (License): Likewise.
499         * modules/uninorm/composition (License): Likewise.
500         * modules/uninorm/decompose-internal (License): Likewise.
501         * modules/uninorm/decomposition-table (License): Likewise.
502         * modules/uninorm/nfc (License): Likewise.
503         * modules/uninorm/nfd (License): Likewise.
504         * modules/uninorm/u32-normalize (License): Likewise.
505         * modules/unistr/base (License): Likewise.
506         * modules/unistr/u32-cpy (License): Likewise.
507         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
508         * modules/unistr/u32-to-u8 (License): Likewise.
509         * modules/unistr/u32-uctomb (License): Likewise.
510         * modules/unistr/u8-check (License): Likewise.
511         * modules/unistr/u8-mblen (License): Likewise.
512         * modules/unistr/u8-mbtouc (License): Likewise.
513         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
514         * modules/unistr/u8-mbtoucr (License): Likewise.
515         * modules/unistr/u8-prev (License): Likewise.
516         * modules/unistr/u8-strlen (License): Likewise.
517         * modules/unistr/u8-to-u32 (License): Likewise.
518         * modules/unistr/u8-uctomb (License): Likewise.
519         * modules/unitypes (License): Likewise.
520         Requested by Simon Josefsson.
521
522 2011-03-29  Simon Josefsson  <simon@josefsson.org>
523
524         lib-symbol-visibility: Add a notice.
525         * modules/lib-symbol-visibility (Notice): New field.
526
527 2011-03-29  Bruno Haible  <bruno@clisp.org>
528
529         getaddrinfo: Doc fix.
530         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
531         section "fixed in Gnulib".
532
533 2011-03-28  Simon Josefsson  <simon@josefsson.org>
534
535         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
536         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
537
538 2011-03-26  Bruno Haible  <bruno@clisp.org>
539
540         unictype/property-byname: Reduce the number of load-time relocations.
541         * lib/unictype/pr_byname.c: Include <stdlib.h>.
542         (UC_PROPERTY_INDEX_*): New enumeration values.
543         (uc_property_byname): Convert an index from the lookup table to an
544         uc_property_t.
545         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
546         values.
547
548 2011-03-26  Bruno Haible  <bruno@clisp.org>
549
550         unictype/property-byname: Allow omitted word separators and aliases.
551         * lib/unictype/pr_byname.gperf: Add property names without word
552         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
553         for 'space'.
554
555 2011-03-26  Bruno Haible  <bruno@clisp.org>
556
557         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
558         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
559         also hyphens to space.
560         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
561         without spaces.
562         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
563
564 2011-03-26  Bruno Haible  <bruno@clisp.org>
565
566         unictype/joiningtype-byname: Recognize long names as well.
567         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
568         a long name.
569         * lib/unictype/joiningtype_byname.c: Include <string.h>,
570         unictype/joiningtype_byname.h.
571         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
572         * lib/unictype/joiningtype_byname.gperf: New file.
573         * modules/unictype/joiningtype-byname (Files): Add
574         lib/unictype/joiningtype_byname.gperf.
575         (Depends-on): Add gperf.
576         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
577         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
578         long names.
579
580         Tests for module 'unictype/joiningtype-longname'.
581         * modules/unictype/joiningtype-longname-tests: New file.
582         * tests/unictype/test-joiningtype_longname.c: New file.
583
584         New module 'unictype/joiningtype-longname'.
585         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
586         * lib/unictype/joiningtype_longname.c: New file.
587         * modules/unictype/joiningtype-longname: New file.
588         * modules/unictype/joiningtype-all (Depends-on): Add
589         unictype/joiningtype-longname.
590
591 2011-03-26  Bruno Haible  <bruno@clisp.org>
592
593         unictype/bidiclass-byname: Recognize long names as well.
594         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
595         name.
596         * lib/unictype/bidi_byname.c: Include <string.h>,
597         unictype/bidi_byname.h.
598         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
599         * lib/unictype/bidi_byname.gperf: New file.
600         * modules/unictype/bidiclass-byname (Files): Add
601         lib/unictype/bidi_byname.gperf.
602         (Depends-on): Add gperf.
603         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
604         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
605         long names.
606
607         Tests for module 'unictype/bidiclass-longname'.
608         * modules/unictype/bidiclass-longname-tests: New file.
609         * tests/unictype/test-bidi_longname.c: New file.
610
611         New module 'unictype/bidiclass-longname'.
612         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
613         * lib/unictype/bidi_longname.c: New file.
614         * modules/unictype/bidiclass-longname: New file.
615         * modules/unictype/bidiclass-all (Depends-on): Add
616         unictype/bidiclass-longname.
617
618 2011-03-26  Bruno Haible  <bruno@clisp.org>
619
620         unictype/bidi*: Rename modules.
621         * modules/unictype/bidiclass-all: Renamed from
622         modules/unictype/bidicategory-all.
623         * modules/unictype/bidiclass-name: Renamed from
624         modules/unictype/bidiclass-name.
625         (Description): Update.
626         * modules/unictype/bidiclass-name-tests: Renamed from
627         modules/unictype/bidicategory-name-tests.
628         * modules/unictype/bidiclass-byname: Renamed from
629         modules/unictype/bidicategory-byname.
630         (Description): Update.
631         * modules/unictype/bidiclass-byname-tests: Renamed from
632         modules/unictype/bidicategory-byname-tests.
633         * modules/unictype/bidiclass-of: Renamed from
634         modules/unictype/bidicategory-of.
635         (Description): Update.
636         * modules/unictype/bidiclass-of-tests: Renamed from
637         modules/unictype/bidicategory-of-tests.
638         * modules/unictype/bidiclass-test: Renamed from
639         modules/unictype/bidicategory-test.
640         (Description): Update.
641         * modules/unictype/bidiclass-test-tests: Renamed from
642         modules/unictype/bidicategory-test-tests.
643         * modules/unictype/bidicategory-all: New file, a simple redirection.
644         * modules/unictype/bidicategory-name: Likewise.
645         * modules/unictype/bidicategory-byname: Likewise.
646         * modules/unictype/bidicategory-of: Likewise.
647         * modules/unictype/bidicategory-test: Likewise.
648         * modules/unictype/property-bidi-* (Dependencies): Update.
649         * lib/unictype/bidi_*.c: Update comment.
650
651 2011-03-26  Bruno Haible  <bruno@clisp.org>
652
653         unictype/bidi*: Rename functions, part 2.
654         * modules/unictype/bidicategory-name (configure.ac): Update required
655         libunistring version.
656         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
657
658 2011-03-25  Bruno Haible  <bruno@clisp.org>
659
660         New module 'unictype/combining-class-all'.
661         * modules/unictype/combining-class-all: New file.
662
663         Tests for module 'unictype/combining-class-byname'.
664         * modules/unictype/combining-class-byname-tests: New file.
665         * tests/unictype/test-combiningclass_byname.c: New file.
666
667         New module 'unictype/combining-class-byname'.
668         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
669         * lib/unictype/combiningclass_byname.c: New file.
670         * lib/unictype/combiningclass_byname.gperf: New file.
671         * modules/unictype/combining-class-byname: New file.
672
673         Tests for module 'unictype/combining-class-longname'.
674         * modules/unictype/combining-class-longname-tests: New file.
675         * tests/unictype/test-combiningclass_longname.c: New file.
676
677         New module 'unictype/combining-class-longname'.
678         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
679         * lib/unictype/combiningclass_longname.c: New file.
680         * modules/unictype/combining-class-longname: New file.
681
682         Tests for module 'unictype/combining-class-name'.
683         * modules/unictype/combining-class-name-tests: New file.
684         * tests/unictype/test-combiningclass_name.c: New file.
685
686         New module 'unictype/combining-class-name'.
687         * lib/unictype.in.h (uc_combining_class_name): New declaration.
688         * lib/unictype/combiningclass_name.c: New file.
689         * modules/unictype/combining-class-name: New file.
690
691 2011-03-25  Bruno Haible  <bruno@clisp.org>
692
693         unictype/combining-class: Rename source files.
694         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
695         of unictype/combining.h.
696         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
697         Update.
698         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
699         * modules/unictype/combining-class (Description): Fix.
700         (Files, Makefile.am): Update.
701         * tests/unictype/test-combiningclass.c: Renamed from
702         tests/unictype/test-combining.c.
703         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
704
705 2011-03-25  Bruno Haible  <bruno@clisp.org>
706
707         unictype: Update list of canonical combining classes.
708         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
709
710 2011-03-25  Bruno Haible  <bruno@clisp.org>
711
712         unictype/category-byname: Recognize long names as well.
713         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
714         a long name.
715         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
716         unictype/categ_byname.h.
717         (UC_CATEGORY_INDEX_*): New enumeration values.
718         (uc_general_category_byname): Use uc_general_category_lookup and
719         convert from index to value.
720         * lib/unictype/categ_byname.gperf: New file.
721         * modules/unictype/category-byname (Files): Add
722         lib/unictype/categ_byname.gperf.
723         (Depends-on): Add gperf.
724         (Makefile.am): Add rule for generating unictype/categ_byname.h.
725         * tests/unictype/test-categ_byname.c (main): Test the recognition of
726         long names.
727
728         Tests for module 'unictype/category-longname'.
729         * modules/unictype/category-longname-tests: New file.
730         * tests/unictype/test-categ_longname.c: New file.
731
732         New module 'unictype/category-longname'.
733         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
734         * lib/unictype/categ_longname.c: New file.
735         * modules/unictype/category-longname: New file.
736         * modules/unictype/category-all (Depends-on): Add it.
737
738 2011-03-25  Bruno Haible  <bruno@clisp.org>
739
740         Tests for module 'unictype/category-LC'.
741         * modules/unictype/category-LC-tests: New file.
742         * tests/unictype/test-categ_LC.c: New file, automatically generated.
743
744         New module 'unictype/category-LC'.
745         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
746         (UC_CATEGORY_LC): New declaration.
747         (UC_CASED_LETTER): New macro.
748         * lib/gen-uni-tables.c (is_category_LC): New function.
749         (output_categories): Also handle category LC.
750         (UC_CATEGORY_MASK_LC): New enumeration value.
751         (general_category_byname): Also handle category LC.
752         * lib/unictype/categ_LC.c: New file.
753         * lib/unictype/categ_LC.h: New file, automatically generated.
754         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
755         category LC.
756         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
757         * modules/unictype/category-LC: New file.
758         * modules/unictype/category-byname (Depends-on): Add
759         unictype/category-LC.
760         * modules/unictype/category-all (Depends-on): Likewise.
761
762 2011-03-25  Eric Blake  <eblake@redhat.com>
763
764         xmalloc: revert yesterday's regression
765         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
766         realloc's underlying behavior (allowing allocation of zero-size
767         objects, especially if malloc-gnu is also in use).
768
769 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
770
771         maint.mk: add missing version to VC-tag
772         * top/maint.mk: git tag was missing actual tag name; add it.
773
774         valgrind: do leak checking, and exit with code 1 on error (not 0)
775         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
776         to VALGRIND.
777
778 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
779
780         posix-modules: say what it does.
781         * posix-modules: Add a line to the --help output saying what it does.
782
783 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
784
785         xmalloc: Do not leak if underlying realloc is C99 compatible.
786         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
787         This avoids a leak on C99-based systems.  See
788         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
789
790 2011-03-24  Eric Blake  <eblake@redhat.com>
791
792         realloc: document portability problem
793         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
794         passing 0 size to realloc.
795
796 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
797
798         doc: update users.txt
799         * users.txt: Add cvsps, tmpwatch
800
801 2011-03-23  Matt Rice  <ratmice@gmail.com>
802
803         doc: update users.txt
804         * users.txt: Add gdb.
805
806 2011-03-23  Jim Meyering  <meyering@redhat.com>
807
808         doc: update users.txt
809         Looking through matches up to the following URL (there are still
810         several more pages), I found several projects that use gnulib:
811         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
812         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
813         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
814
815 2011-03-22  Bruno Haible  <bruno@clisp.org>
816
817         unictype/bidi*: Rename functions.
818         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
819         uc_bidi_class, uc_is_bidi_class): New declarations.
820         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
821         uc_bidi_category_byname.
822         (uc_bidi_category_byname): New function.
823         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
824         u_bidi_category_name.
825         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
826         (uc_bidi_category_name): New function.
827         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
828         uc_bidi_category.
829         (uc_bidi_category): New function.
830         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
831         uc_is_bidi_category. Invoke uc_bidi_class.
832         (uc_is_bidi_category): New function.
833         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
834         instead of uc_bidi_category_byname.
835         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
836         instead of uc_bidi_category_name.
837         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
838         uc_bidi_category.
839         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
840         instead of uc_is_bidi_category.
841
842 2011-03-21  Bruno Haible  <bruno@clisp.org>
843
844         New module 'unictype/joininggroup-all'.
845         * modules/unictype/joininggroup-all: New file.
846
847         Tests for module 'unictype/joininggroup-of'.
848         * modules/unictype/joininggroup-of-tests: New file.
849         * tests/unictype/test-joininggroup_of.c: New file.
850         * tests/unictype/test-joininggroup_of.h: New file, automatically
851         generated by gen-uni-tables.
852
853         New module 'unictype/joininggroup-of'.
854         * modules/unictype/joininggroup-of: New file.
855         * lib/unictype/joininggroup_of.c: New file.
856         * lib/unictype/joininggroup_of.h: New file, automatically generated by
857         gen-uni-tables.
858
859         Tests for module 'unictype/joininggroup-byname'.
860         * modules/unictype/joininggroup-byname-tests: New file.
861         * tests/unictype/test-joininggroup_byname.c: New file.
862
863         New module 'unictype/joininggroup-byname'.
864         * modules/unictype/joininggroup-byname: New file.
865         * lib/unictype/joininggroup_byname.c: New file.
866         * lib/unictype/joininggroup_byname.gperf: New file.
867
868         Tests for module 'unictype/joininggroup-name'.
869         * modules/unictype/joininggroup-name-tests: New file.
870         * tests/unictype/test-joininggroup_name.c: New file.
871
872         New module 'unictype/joininggroup-name'.
873         * modules/unictype/joininggroup-name: New file.
874         * lib/unictype/joininggroup_name.c: New file.
875         * lib/unictype/joininggroup_name.h: New file.
876
877         New module 'unictype/joiningtype-all'.
878         * modules/unictype/joiningtype-all: New file.
879
880         Tests for module 'unictype/joiningtype-of'.
881         * modules/unictype/joiningtype-of-tests: New file.
882         * tests/unictype/test-joiningtype_of.c: New file.
883         * tests/unictype/test-joiningtype_of.h: New file, automatically
884         generated by gen-uni-tables.
885
886         New module 'unictype/joiningtype-of'.
887         * modules/unictype/joiningtype-of: New file.
888         * lib/unictype/joiningtype_of.c: New file.
889         * lib/unictype/joiningtype_of.h: New file, automatically generated by
890         gen-uni-tables.
891
892         Tests for module 'unictype/joiningtype-byname'.
893         * modules/unictype/joiningtype-byname-tests: New file.
894         * tests/unictype/test-joiningtype_byname.c: New file.
895
896         New module 'unictype/joiningtype-byname'.
897         * modules/unictype/joiningtype-byname: New file.
898         * lib/unictype/joiningtype_byname.c: New file.
899
900         Tests for module 'unictype/joiningtype-name'.
901         * modules/unictype/joiningtype-name-tests: New file.
902         * tests/unictype/test-joiningtype_name.c: New file.
903
904         New module 'unictype/joiningtype-name'.
905         * modules/unictype/joiningtype-name: New file.
906         * lib/unictype/joiningtype_name.c: New file.
907
908         unictype: Add support for Arabic shaping properties.
909         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
910         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
911         declarations.
912         (UC_JOINING_GROUP_*): New enumeration values.
913         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
914         declarations.
915         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
916         (unicode_joining_type): New variable.
917         (UC_JOINING_GROUP_*): New enumeration values.
918         (unicode_joining_group): New variable.
919         (fill_arabicshaping, joining_type_as_c_identifier,
920         output_joining_type_test, output_joining_type,
921         joining_group_as_c_identifier, output_joining_group_test,
922         output_joining_group): New functions.
923         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
924         fill_arabicshaping and output_joining_type_test, output_joining_type,
925         output_joining_group_test, output_joining_group.
926         Reported by Simon Josefsson.
927
928 2011-03-21  Jim Meyering  <meyering@redhat.com>
929
930         strftime: fix a bug in yesterday's change
931         * lib/strftime.c (add): Accommodate width's initial value of -1.
932         Otherwise, nstrftime would copy uninitialized data into
933         the result buffer.
934
935 2011-03-21  Jim Meyering  <meyering@redhat.com>
936
937         tests: add strftime-tests module
938         * tests/test-strftime.c: New file.
939         * modules/strftime-tests: New module.
940
941 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
942
943         strftime: don't assume a byte count fits in 'int'
944         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
945         found this problem by static analysis, using gcc -Wstrict-overflow
946         (GCC 4.5.2, x86-64).  This reported an optimization that depended
947         on an integer overflow having undefined behavior, but it turns out
948         that the argument is a size, which might not fit in 'int' anyway,
949
950 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
951
952         stdio: don't require ignore_value around fwrite
953
954         This patch works around libc bug 11959
955         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
956         Without this patch, applications must often write
957         ignore_value (fwrite (...)) even though the ignore_value is
958         not helpful here.  It's common to write many objects, using
959         fwrite/printf/etc., and then use ferror to detect output error.
960
961         I considered making this patch optional, but decided against it,
962         because libc is obviously being inconsistent here: there is no
963         reason libc should insist that user code must inspect fwrite
964         return's value without also insisting that it inspect printf's,
965         putchar's, etc.  If user code wants to have a strict style where
966         all these functions' values are checked (so that ferror need not
967         be checked), we could add support for that style in a new gnulib
968         module, but in the meantime it's better to be consistent and to
969         support common usage.
970
971         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
972         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
973         that we are compiling in checking mode, and if not C++, and
974         if not already wrapping fwrite for some other reason.
975         (fwrite): #define to rpl_fwrite if the latter is defined.
976
977 2011-03-20  Bruno Haible  <bruno@clisp.org>
978
979         verror: Fix compilation error introduced on 2011-02-13.
980         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
981         instead of __attribute__.
982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
983
984 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
985             Bruno Haible  <bruno@clisp.org>
986
987         socklen: do not depend on sys_socket
988         While trying to modify Emacs to use gnulib's socklen module,
989         I discovered a circular dependency: socklen depends on sys_socket
990         and vice versa.  Emacs can use socklen, but it does not need
991         sys_socket because it has its own substitute for sys/socket.h.
992         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
993         gl_TYPE_SOCKLEN_T.
994         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
995         gl_PREREQ_SYS_H_SOCKET.
996         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
997         gl_PREREQ_SYS_H_SOCKET.
998         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
999         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
1000         * modules/socklen (Depends-on): Do not depend on sys_socket.
1001         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
1002
1003 2011-03-20  Jim Meyering  <meyering@redhat.com>
1004
1005         maint.mk: sort file names *after* new transformation
1006         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
1007         prefix would have led to an unwarranted failure in GNU parted.
1008         Sort after that transformation.
1009
1010 2011-03-19  Jim Meyering  <meyering@redhat.com>
1011
1012         maint.mk: fix po-file syntax-check rule
1013         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
1014         Patch by Bruno Haible.
1015
1016 2011-03-19  Bruno Haible  <bruno@clisp.org>
1017
1018         socklen: Update comment.
1019         * m4/socklen.m4: Update comment about platforms.
1020
1021 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1022             Bruno Haible  <bruno@clisp.org>
1023
1024         inet_ntop, inet_pton: Simplify.
1025         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
1026         documented to provide socklen_t and we already depend on sys_socket.
1027         * modules/inet_pton (Depends-on): Likewise.
1028         * lib/arpa_inet.in.h: Adjust comment.
1029
1030 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
1031             Bruno Haible  <bruno@clisp.org>
1032
1033         netdb: Simplify.
1034         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
1035         documented to provide socklen_t and we already depend on sys_socket.
1036         * lib/netdb.in.h: Adjust comment.
1037
1038 2011-03-19  Bruno Haible  <bruno@clisp.org>
1039
1040         sys_socket, netdb: Document problem with socklen_t.
1041         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
1042         platforms.
1043         * doc/posix-headers/netdb.texi: Likewise.
1044
1045 2011-03-18  Eric Blake  <eblake@redhat.com>
1046
1047         maint.mk: let po check work in VPATH build
1048         * top/maint.mk (po_file): Allow cfg.mk override.
1049         (sc_po_check): Allow VPATH use.
1050         Reported by Jiri Denemark.
1051
1052 2011-03-16  Jim Meyering  <meyering@redhat.com>
1053
1054         maint.mk: allow fine-grained syntax-check exclusion via Make variables
1055         Before, you would have had to create one .x-sc_ file per rule in order
1056         to exempt offending files.  Now, you may instead use a Make variable --
1057         usually defined in cfg.mk -- whose name identifies the affected rule.
1058         * top/maint.mk (_sc_excl): Define.
1059         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
1060         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
1061
1062 2011-03-13  Bruno Haible  <bruno@clisp.org>
1063
1064         ignore-value tests: Avoid warnings.
1065         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
1066         empty for gcc < 3.4.
1067
1068 2011-03-13  Bruno Haible  <bruno@clisp.org>
1069
1070         passfd: Fix link error on Solaris.
1071         * modules/passfd (Description): Correct.
1072         (Depends-on): Add socketlib.
1073         (Link): New section.
1074         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
1075
1076 2011-03-13  Bruno Haible  <bruno@clisp.org>
1077
1078         passfd: Fix link error on AIX 5.2.
1079         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
1080
1081 2011-03-13  Bruno Haible  <bruno@clisp.org>
1082
1083         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
1084         * lib/sys_socket.in.h: Include <stddef.h>.
1085         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
1086         CMSG_FIRSTHDR. Remove unused variable.
1087
1088 2011-03-13  Bruno Haible  <bruno@clisp.org>
1089
1090         passfd: Fix compilation error on OpenBSD.
1091         * lib/passfd.c: Include <sys/uio.h>.
1092
1093 2011-03-13  Bruno Haible  <bruno@clisp.org>
1094
1095         passfd test: Fix warnings.
1096         * tests/test-passfd.c: Include <sys/wait.h>.
1097         (main): Fix typo.
1098
1099 2011-03-13  Bruno Haible  <bruno@clisp.org>
1100
1101         passfd module, part 4, tweaks.
1102         * tests/test-passfd.c: Reorder includes.
1103         (main): Fix perror and printf calls.
1104
1105 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1106
1107         passfd module, part 4.
1108         * modules/passfd-tests: New file.
1109         * tests/test-passfd.c: New file.
1110
1111 2011-03-13  Jim Meyering  <meyering@redhat.com>
1112
1113         Makefile: rely on GNU make; derive syntax-check rule names
1114         Rather than requiring that each sc_ rule be listed as a dependent
1115         of "check", use features of GNU make to derive the list.
1116         * Makefile (syntax-check-rules): Define.
1117         (check): Depend on the new variable, not the hard-coded list.
1118
1119 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
1120             Bruno Haible  <bruno@clisp.org>
1121
1122         passfd module, part 3.
1123         * lib/passfd.h (recvfd): Add a flags argument.
1124         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
1125         (recvfd): Add a flags argument.
1126         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
1127         exists.
1128         * modules/passfd (Depends-on): Add cloexec.
1129         Suggested by Eric Blake.
1130
1131 2011-03-13  Bruno Haible  <bruno@clisp.org>
1132
1133         passfd module, part 2, tweaks.
1134         * modules/passfd (Files): Reorder.
1135         (Depends-on): Remove errno.
1136         (Include): Remove <sys/socket.h>, <sys/un.h>.
1137         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
1138         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
1139         specification header. Include <sys/socket.h> always. Don't include
1140         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
1141         (sendfd): Clarify that it sets errno when it fails.
1142         (recvfd): Fix specification.
1143
1144 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1145
1146         passfd module, part 2.
1147         * modules/passfd: New file.
1148         * lib/passfd.h: New file.
1149         * lib/passfd.c: New file.
1150
1151 2011-03-12  Bruno Haible  <bruno@clisp.org>
1152
1153         wcswidth, mbswidth: Avoid integer overflow.
1154         * lib/wcswidth.c: Include <limits.h>.
1155         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
1156         * lib/mbswidth.c: Include <limits.h>.
1157         (mbsnwidth): Avoid 'int' overflow.
1158         Reported by Jim Meyering.
1159
1160 2011-03-12  Bruno Haible  <bruno@clisp.org>
1161
1162         futimens, utimensat: Avoid endless recursion on Solaris 10.
1163         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
1164         Solaris.
1165         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
1166         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
1167
1168 2011-03-11  Jim Meyering  <meyering@redhat.com>
1169
1170         maint.mk: relax a regexp to accommodate other formatting styles
1171         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
1172         between "ngettext" and the following "(".
1173
1174 2011-03-11  Pádraig Brady <P@draigBrady.com>
1175
1176         maint.mk: suppress a false positive warning
1177         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
1178         diagnostics are marked with ngettext.
1179
1180 2011-03-10  Eric Blake  <eblake@redhat.com>
1181
1182         wchar: add explicit dependencies, for Tru64
1183         * modules/mbmemcasecoll (Depends-on): Add wchar.
1184         * modules/mbtowc (Depends-on): Likewise.
1185         * modules/vasnprintf (Depends-on): Likewise.
1186         * modules/unistdio/u-printf-args (Depends-on): Likewise.
1187         * modules/wctomb (Depends-on): Likewise.
1188         Reported by Peter O'Gorman.
1189
1190 2011-03-08  Bruno Haible  <bruno@clisp.org>
1191
1192         passfd module, part 1, tweaks.
1193         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
1194         Improve indentation. Improve AC_MSG_CHECKING messages.
1195         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
1196         gl_SOCKET_FAMILIES.
1197
1198 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
1199
1200         passfd module, part 1.
1201         * m4/afunix.m4: New file.
1202         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
1203         sockets.
1204
1205 2011-03-08  Bruno Haible  <bruno@clisp.org>
1206
1207         regex-quote: New API.
1208         * lib/regex-quote.h: Include <stdbool.h>.
1209         (struct regex_quote_spec): New type.
1210         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1211         New declarations.
1212         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1213         'const struct regex_quote_spec *' argument.
1214         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
1215         (pcre_special): New constant.
1216         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
1217         New functions.
1218         (regex_quote_length, regex_quote_copy, regex_quote): Take a
1219         'const struct regex_quote_spec *' argument.
1220         * modules/regex-quote (Depends-on): Add stdbool.
1221         * tests/test-regex-quote.c (check): Update for new API. Add test for
1222         anchored results.
1223         * NEWS: Mention the API change.
1224         Reported by Reuben Thomas and Eric Blake.
1225
1226 2011-03-06  Bruno Haible  <bruno@clisp.org>
1227
1228         regex-quote: Fix creation of POSIX extended regular expressions.
1229         * lib/regex-quote.c (ere_special): Add grouping and alternation
1230         operators.
1231
1232 2011-03-05  Bruno Haible  <bruno@clisp.org>
1233
1234         doc: Improve doc regarding autopoint vs. gnulib.
1235         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
1236         disable autopoint while running autoreconf.
1237         Suggested by Ralf Wildenhues.
1238
1239 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1240
1241         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
1242         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
1243
1244 2011-03-03  Bruce Korb  <bkorb@gnu.org>
1245
1246         parse-duration: remove xalloc.h dependency
1247         * lib/parse-duration.c (parse_period): handle NULL return from
1248         strdup instead of calling xstrdup().
1249         * modules/parse-duration: remove "xalloc" dependency
1250
1251 2011-03-03  Matthew Booth  <mbooth@redhat.com>
1252
1253         bootstrap: honor m4_base when running aclocal
1254         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
1255
1256 2011-03-02  Jim Meyering  <meyering@redhat.com>
1257
1258         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
1259         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
1260         on request from Matt Booth.
1261
1262 2011-03-01  Eric Blake  <eblake@redhat.com>
1263
1264         test-link: work on Hurd
1265         * tests/test-link.h (test_link): Hurd rejects linking directories
1266         with EISDIR instead of the POSIX-mandated EPERM.
1267
1268 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         stdio: simplify by moving files to printf-posix, sigpipe
1271         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
1272         since this symbol is needed only if printf is replaced.
1273         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
1274         Require gl_ASM_SYMBOL_PREFIX.
1275         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
1276         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
1277         (Depends-on): Add 'raise'.
1278         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
1279         * modules/stdio (Files): Remove lib/stdio-write.c,
1280         m4/asm-underscore.m4.
1281         (Depends-on): Remove 'raise'.
1282
1283         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
1284         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
1285         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
1286         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
1287
1288 2011-02-28  Bruno Haible  <bruno@clisp.org>
1289
1290         localcharset: Assume ANSI C behaviour of free().
1291         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
1292         calling free().
1293         Suggested by Simon Josefsson <simon@josefsson.org>.
1294
1295 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
1296             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
1297             Bruno Haible  <bruno@clisp.org>  (tiny change)
1298
1299         On Cygwin, use /proc file system instead of win32 API.
1300         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
1301         Win32 file names.
1302         (DllMain): Simplify by removing Cygwin specific code.
1303         (find_shared_library_fullname): Use Linux specific implementation also
1304         for Cygwin.
1305         (get_shared_library_fullname): Update accordingly.
1306         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
1307         Win32 file names.
1308         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
1309         Cygwin specific code.
1310
1311 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
1312             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
1313
1314         Fix OpenMP flag detection for various Fortran compilers.
1315         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
1316         OpenMP-conditional compilation construct, to force compile
1317         failure with missing OpenMP flag.
1318         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
1319
1320 2011-02-25  Eric Blake  <eblake@redhat.com>
1321
1322         strstr: expand test coverage
1323         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
1324         compilation.
1325         * tests/test-memmem.c (main): Duplicate tests.
1326         * tests/test-strcasestr.c (main): Likewise.
1327         * tests/test-c-strcasestr.c (main): Likewise.
1328
1329 2011-02-25  Jim Meyering  <meyering@redhat.com>
1330
1331         maint.mk: detect missing-NL-at-EOF, too
1332         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
1333         it also detects when a file lacks a newline at EOF.
1334         (require_exactly_one_NL_at_EOF_): Renamed from
1335         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
1336         since people may well have .x-sc_... file names tied to the
1337         existing name.  Suggested by Eric Blake.
1338
1339 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1340
1341         dirname: move m4/dos.m4 functionality into lib/dosname.h
1342
1343         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
1344         extracts symbols from it, puts them into config.h; but it's much
1345         easier to use the symbols directly.  filename.h already does this,
1346         but it disagrees with dos.m4 in some respects.  This patch
1347         introduces a different include file dosname.h that packages up
1348         dos.m4, and then later we can work on merging filename.h and
1349         dosname.h.  Applications that need only the easy-to-configure
1350         symbols should consider including dosname.h rather than dirname.h.
1351         * NEWS: Mention incompatible changes.
1352         * m4/dos.m4: Remove.
1353         * lib/dosname.h, modules/dosname: New files.
1354         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
1355         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
1356         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
1357         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
1358         Include dosname.h, not dirname.h.
1359         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
1360         Include dosname.h, for definitions of symbols like ISSLASH
1361         that used to be in config.h.
1362         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
1363         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1364         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1365         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1366         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
1367         * modules/rmdir (Files): Likewise.
1368         * modules/stat (Files): Likewise.
1369         * modules/unlink (Files): Likewise.
1370         * modules/dirname-lgpl (Depends-on): Add dosname.
1371         * modules/lstat (Depends-on): Likewise.
1372         * modules/openat (Depends-on): Likewise.
1373         * modules/rmdir (Depends-on): Likewise.
1374         * modules/savewd (Depends-on): Likewise.
1375         * modules/stat (Depends-on): Likewise.
1376         * modules/unlink (Depends-on): Likewise.
1377         * modules/openat (Depends-on): Remove dirname-lgpl.
1378         * modules/savewd (Depends-on): Likewise.
1379         * tests/test-dirname.c: Do not use removed symbols like
1380         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
1381         the remaining symbols, e.g., ISSLASH ('\\').
1382
1383 2011-02-25  Eric Blake  <eblake@redhat.com>
1384
1385         strstr: revert patches that introduced bug and pessimization
1386         * lib/str-two-way.h: Add another reference.
1387         (two_way_short_needle, two_way_long_needle): Revert changes from
1388         2011-02-24; they pessimize search speed.
1389         (critical_factorization): Partially revert changes from
1390         2010-06-22; they violate the requirement that the left half of the
1391         needle be smaller than the period of the needle.
1392
1393 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1394
1395         filenamecat: remove unnecessary dependency on dirname-lgpl
1396         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
1397         is no direct dependency, just an indirect one via filenamecat-lgpl.
1398
1399         remove: remove unnecessary use of m4/dos.m4
1400         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
1401         * modules/remove (FILES): Remove m4/dos.m4.
1402
1403         * lib/openat-proc.c: Don't include dirname.h; not needed.
1404
1405         backupfile: remove unnecessary use of m4/dos.m4
1406         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
1407         of its symbols are used by the backupfile code.  backupfile.c does
1408         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
1409         for the rare case of programs that want all their backup file
1410         names to live within 8+3 limits, and dos.m4 doesn't address that.
1411         * modules/backupfile (Files): Remove m4/dos.m4.
1412
1413 2011-02-24  Jim Meyering  <meyering@redhat.com>
1414
1415         strstr: fix a bug whereby strstr would mistakenly return NULL
1416         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
1417         in period calculation.
1418         (two_way_long_needle): Likewise.
1419         The original problem was reported by Mike Stump in
1420         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
1421         Ralf Wildenhues provided the short needle and haystack.
1422         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
1423         Add a more involved test to trigger the bug in two_way_long_needle.
1424
1425 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1426
1427         gnulib-tool: remove use of bold display in help screen
1428         * gnulib-tool (func_usage): Do not use bold display anymore in the
1429         help screen.  That was just meant to be a temporary emphasis for a
1430         backward-incompatible change.
1431
1432 2011-02-23  Bruno Haible  <bruno@clisp.org>
1433
1434         Fix misindentation of preprocessor directives.
1435         * lib/argp-namefrob.h: Reindent preprocessor directives.
1436         * lib/getopt_int.h (struct _getopt_data): Likewise.
1437         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
1438         * lib/vasnprintf.c (decode_long_double): Likewise.
1439         * tests/test-argmatch.c: Insert blank lines, for clarity.
1440         * tests/test-exclude.c: Likewise.
1441
1442 2011-02-22  Bruno Haible  <bruno@clisp.org>
1443
1444         ioctl: Fix for MacOS X in 64-bit mode.
1445         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
1446         value.
1447         Suggested by Eric Blake.
1448         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
1449
1450 2011-02-22  Jim Meyering  <meyering@redhat.com>
1451
1452         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
1453         * Makefile (sc_cpp_indent_check): Don't limit the check to files
1454         in lib/.
1455
1456 2011-02-22  Eric Blake  <eblake@redhat.com>
1457
1458         maint: avoid any CDPATH issue
1459         * Makefile (sc_cpp_indent_check): Anchor cd argument.
1460
1461         maint: adjust cpp indentation for my modules, as well
1462         * Makefile (sc_cpp_indent_check): Add my name.
1463         * lib/fbufmode.c: Filter through cppi.
1464         * lib/fpurge.c: Likewise.
1465         * lib/freadable.c: Likewise.
1466         * lib/freading.c: Likewise.
1467         * lib/fwritable.c: Likewise.
1468         * lib/fwriting.c: Likewise.
1469         * lib/sigaction.c: Likewise.
1470
1471 2011-02-22  Jim Meyering  <meyering@redhat.com>
1472
1473         maint: adjust cpp indentation to reflect nesting depth
1474         I.e., in a block of code that begins with an unnested "#if",
1475         put one space between the "#" in column 1 and following token.
1476         For example,
1477         -#include <sys/vfs.h>
1478         +# include <sys/vfs.h>
1479         Do this only in .c files that are part of a module I maintain.
1480         * lib/linkat.c: Filter through cppi.
1481         * lib/nanosleep.c: Likewise.
1482         * lib/openat.c: Likewise.
1483         * lib/openat-die.c: Likewise.
1484         * lib/dup3.c: Likewise.
1485         * lib/fchownat.c: Likewise.
1486         * lib/flock.c: Likewise.
1487         * lib/fsync.c: Likewise.
1488         * lib/fts.c: Likewise.
1489         * lib/getpass.c: Likewise.
1490         * lib/gettimeofday.c: Likewise.
1491         * lib/userspec.c: Likewise.
1492         * Makefile (sc_cpp_indent_check): New rule, to check this.
1493
1494 2011-02-22  Bruno Haible  <bruno@clisp.org>
1495
1496         New module 'wctomb'.
1497         * lib/stdlib.in.h (wctomb): New declaration.
1498         * lib/wctomb.c: New file.
1499         * lib/wctomb-impl.h: New file.
1500         * m4/wctomb.m4: New file.
1501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
1502         REPLACE_WCTOMB.
1503         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
1504         REPLACE_WCTOMB.
1505         * modules/wctomb: New file.
1506         * tests/test-stdlib-c++.cc: Test signature of wctomb.
1507         * doc/posix-functions/wctomb.texi: Mention the new module.
1508         * modules/wctob (Depends-on): Add wctomb.
1509
1510 2011-02-22  Bruno Haible  <bruno@clisp.org>
1511
1512         New module 'mbtowc'.
1513         * lib/stdlib.in.h (mbtowc): New declaration.
1514         * lib/mbtowc.c: New file.
1515         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
1516         * m4/mbtowc.m4: New file.
1517         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
1518         REPLACE_MBTOWC.
1519         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
1520         REPLACE_MBTOWC.
1521         * modules/mbtowc: New file.
1522         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
1523         * doc/posix-functions/mbtowc.texi: Mention the new module.
1524         * modules/btowc (Depends-on): Add mbtowc.
1525
1526 2011-02-22  Bruno Haible  <bruno@clisp.org>
1527
1528         wcrtomb: Add more tests for native Windows platforms.
1529         * tests/test-wcrtomb-w32-1.sh: New file.
1530         * tests/test-wcrtomb-w32-2.sh: New file.
1531         * tests/test-wcrtomb-w32-3.sh: New file.
1532         * tests/test-wcrtomb-w32-4.sh: New file.
1533         * tests/test-wcrtomb-w32-5.sh: New file.
1534         * tests/test-wcrtomb-w32.c: New file.
1535         * modules/wcrtomb-tests (Files): Add them.
1536         (Makefile.am): Arrange to run these tests.
1537         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
1538         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
1539
1540 2011-02-20  Bruno Haible  <bruno@clisp.org>
1541
1542         wcrtomb: Enhance test.
1543         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
1544
1545 2011-02-20  Bruno Haible  <bruno@clisp.org>
1546
1547         mbrtowc: Tiny optimization.
1548         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
1549
1550 2011-02-20  Jim Meyering  <meyering@redhat.com>
1551
1552         test-exclude.c: remove unmatched #endif
1553         * tests/test-exclude.c: Remove stray #endif, left over from
1554         the change of a week ago.
1555
1556 2011-02-19  Jim Meyering  <meyering@redhat.com>
1557
1558         git-version-gen: skip "-dirty" check when appropriate
1559         * build-aux/git-version-gen: Don't run any git commands when the
1560         version string comes from .tarball-version.  Prior to this, we
1561         would run git update-index --refresh even from a just-unpacked
1562         tarball directory, and that could affect a .git/ directory in a
1563         parent of the build directory.  Reported by Mike Frysinger.
1564
1565 2011-02-19  Bruno Haible  <bruno@clisp.org>
1566
1567         unictype/property-byname: Reduce the size of the 'data' segment.
1568         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
1569
1570 2011-02-19  Bruno Haible  <bruno@clisp.org>
1571
1572         unictype/scripts: Reduce the size of the 'data' segment.
1573         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
1574         '%pic'.
1575         * lib/unictype/scripts_byname.gperf: Regenerated.
1576
1577 2011-02-19  Bruno Haible  <bruno@clisp.org>
1578
1579         stdint: Update documentation.
1580         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
1581
1582 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1583
1584         stdint: omit redundant check for wchar.h
1585         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
1586         always tests whether wchar.h exists, so remove the now-redundant test.
1587
1588 2011-02-18  Bruno Haible  <bruno@clisp.org>
1589
1590         stdint: Cut dependency to module 'wchar'.
1591         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
1592         include the necessary prerequisites.
1593         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
1594         * modules/stdint (Depends-on): Remove wchar.
1595         (Makefile.am): Substitute HAVE_WCHAR_H.
1596         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
1597
1598 2011-02-18  Eric Blake  <eblake@redhat.com>
1599
1600         longlong: skip, rather than fail, on cross-compilation
1601         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
1602         when cross-compiling; regression from 2011-02-16.
1603
1604 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1605
1606         * NEWS: Mention 2011-02-08 change to stdlib.
1607
1608 2011-02-17  Bruno Haible  <bruno@clisp.org>
1609
1610         getloadavg: Add comments about platforms.
1611         * m4/getloadavg.m4: Add comment.
1612         * lib/getloadavg.c: Likewise.
1613
1614 2011-02-17  Bruno Haible  <bruno@clisp.org>
1615
1616         getloadavg: Fix link error on Solaris 2.6.
1617         * modules/getloadavg (Link): New section.
1618         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
1619         linking test-getloadavg.
1620         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
1621         getloadavg.
1622
1623 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
1624
1625         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
1626         It was 'int', but this doesn't match the IRIX 6.5 manual.
1627         Suggested by Bruno Haible in
1628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
1629
1630 2011-02-17  Bruno Haible  <bruno@clisp.org>
1631
1632         havelib: Fix comments.
1633         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
1634         change.
1635
1636 2011-02-17  Bruno Haible  <bruno@clisp.org>
1637
1638         havelib: Update config.rpath.
1639         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
1640
1641 2011-02-17  Bruno Haible  <bruno@clisp.org>
1642
1643         getloadavg test: Add some plausibility checks.
1644         * tests/test-getloadavg.c (check_avg): Print a warning when the value
1645         is improbable.
1646
1647 2011-02-16  Eric Blake  <eblake@redhat.com>
1648
1649         maintainer-makefile: make syntax-check a no-op from tarballs
1650         * top/maint.mk (no-vc-detected): New rule.
1651         (local-checks-available): Use it to avoid hanging if someone tries
1652         'make syntax-check' from a tarball.  Also append to any non-syntax
1653         checks already defined in cfg.mk.
1654
1655 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1656
1657         longlong: tune, particularly for common case of c99
1658
1659         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
1660         or running anything if c99, or if unsigned long long int does not
1661         work.  In either case, we know the answer without further tests.
1662         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
1663         it at most once, and use its results for both long long int and
1664         unsigned long long int.  This is more likely to be efficient in
1665         the common case where the program wants to check for both long
1666         long int and unsigned long long int.
1667         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
1668         since the answer is already known.
1669
1670 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
1671
1672         getloadavg: set errno
1673         * lib/getloadavg.c: Set errno when returning -1.  If no other
1674         error number looks appropriate, set it to ENOSYS if the getloadavg
1675         looks like it can't possibly ever work, ENOTSUP otherwise.
1676         Suggested by Bruno Haible in
1677         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
1678
1679         getloadavg: trim unused parts and speed up 'configure'
1680         * NEWS: Document this.
1681         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
1682         always compiled if getloadavg is absent.
1683         Move test code to ...
1684         * tests/test-getloadavg.c: New file, containing previous
1685         contents of test from lib/getloadavg.c.  It also contains
1686         suggestions by Bruno Haible in
1687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
1688         * modules/getloadavg-tests: New file.
1689         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
1690         Do tests in the same order as they're needed for getloadavg.c.
1691         Omit setgid-related tests that generate symbols KMEM_GROUP,
1692         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
1693         Do only the tests that are needed to see whether the system has
1694         getloadavg, moving the other tests into ...
1695         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
1696         NLIST_NAME_UNION; nobody should be using it.  Do not define
1697         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
1698         relevant, as the user of this module shouldn't care how getloadavg
1699         is implemented.
1700
1701         getloadavg: omit unused var
1702         * lib/getloadavg.c (getloadavg): Omit unused local variable.
1703
1704 2011-02-15  Jim Meyering  <meyering@redhat.com>
1705
1706         doc: update users.txt
1707         * users.txt: Update iwhd's URL.
1708
1709 2011-02-13  Bruno Haible  <bruno@clisp.org>
1710
1711         Consistent macro naming for macros that use GCC __attribute__.
1712         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
1713         _ATTRIBUTE_NONNULL_.
1714         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
1715         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
1716         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
1717         ATTRIBUTE_DEPRECATED.
1718         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
1719         ATTRIBUTE_NORETURN.
1720         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1721         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1722         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1723         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
1724         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
1725         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
1726         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
1727         ATTRIBUTE_SENTINEL.
1728         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
1729         ATTRIBUTE_RETURN_CHECK.
1730         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
1731         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
1732         ATTRIBUTE_NORETURN.
1733         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
1734         Reported by Paul Eggert.
1735
1736 2011-02-13  Bruno Haible  <bruno@clisp.org>
1737
1738         Don't interfere with a program's definition of __attribute__.
1739         * lib/argp.h (__attribute__): Remove definition.
1740         (_GL_ATTRIBUTE_FORMAT): New macro.
1741         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
1742         * lib/argp-fmtstream.h (__attribute__): Remove definition.
1743         (_GL_ATTRIBUTE_FORMAT): New macro.
1744         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
1745         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
1746         GCC 3 or newer.
1747         * lib/error.h (__attribute__): Remove definition.
1748         (_GL_ATTRIBUTE_FORMAT): New macro.
1749         (error, error_at_line): Use it.
1750         * lib/hash.h (__attribute__): Remove definition.
1751         (ATTRIBUTE_WUR): Update definition. Define always.
1752         * lib/openat.h (__attribute__): Remove definition.
1753         (ATTRIBUTE_NORETURN): Update definition. Define always.
1754         * lib/sigpipe-die.h (__attribute__): Remove definition.
1755         (ATTRIBUTE_NORETURN): Update definition. Define always.
1756         * lib/vasnprintf.h (__attribute__): Remove definition.
1757         (_GL_ATTRIBUTE_FORMAT): New macro.
1758         (asnprintf, vasnprintf): Use it.
1759         * lib/xalloc.h (__attribute__): Remove definition.
1760         (ATTRIBUTE_NORETURN): Update definition. Define always.
1761         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
1762         * lib/xmemdup0.h (__attribute__): Remove definition.
1763         (ATTRIBUTE_NORETURN): Update definition. Define always.
1764         * lib/xprintf.h (__attribute__): Remove definition.
1765         (_GL_ATTRIBUTE_FORMAT): New macro.
1766         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
1767         * lib/xstrtol.h (__attribute__): Remove definition.
1768         (ATTRIBUTE_NORETURN): Update definition. Define always.
1769         * lib/xvasprintf.h (__attribute__): Remove definition.
1770         (_GL_ATTRIBUTE_FORMAT): New macro.
1771         (xasprintf, xvasprintf): Use it.
1772         * tests/test-argmatch.c (__attribute__): Remove definition.
1773         (ATTRIBUTE_NORETURN): Update definition. Define always.
1774         * tests/test-exclude.c (__attribute__): Remove definition.
1775         (ATTRIBUTE_NORETURN): Update definition. Define always.
1776         Reported by Paul Eggert.
1777
1778 2011-02-13  Bruno Haible  <bruno@clisp.org>
1779
1780         mbrtowc: Add more tests for native Windows platforms.
1781         * tests/test-mbrtowc-w32-1.sh: New file.
1782         * tests/test-mbrtowc-w32-2.sh: New file.
1783         * tests/test-mbrtowc-w32-3.sh: New file.
1784         * tests/test-mbrtowc-w32-4.sh: New file.
1785         * tests/test-mbrtowc-w32-5.sh: New file.
1786         * tests/test-mbrtowc-w32.c: New file.
1787         * modules/mbrtowc-tests (Files): Add them.
1788         (Makefile.am): Arrange to run these tests.
1789         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
1790         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
1791
1792 2011-02-13  Bruno Haible  <bruno@clisp.org>
1793
1794         mbrtowc: Work around native Windows bug.
1795         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
1796         guess when no suitable locale for testing was found.
1797         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
1798
1799 2011-02-13  Bruno Haible  <bruno@clisp.org>
1800
1801         mbsinit: Work around mingw bug.
1802         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
1803         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
1804         Windows.
1805         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
1806
1807 2011-02-13  Bruno Haible  <bruno@clisp.org>
1808
1809         mbsinit: Don't crash for a NULL argument.
1810         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
1811         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
1812
1813 2011-02-13  Bruno Haible  <bruno@clisp.org>
1814
1815         Don't interfere with a program's definition of __attribute__.
1816         * lib/stdio.in.h (__attribute__): Remove definition.
1817         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
1818         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
1819         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
1820         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
1821         * lib/string.in.h (__attribute__): Remove definition.
1822         Reported by Paul Eggert.
1823
1824 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1825
1826         stdlib: don't get in the way of non-GCC __attribute__
1827         See thread starting at
1828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
1829         Revert previous stdlib change, installing the following instead:
1830         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
1831         to get in the way of a non-GCC compiler that supports __attribute__.
1832         (_GL_ATTRIBUTE_RETURN): New macro.
1833         (_Exit): Use it instead of __attribute__.
1834
1835 2011-02-12  Bruno Haible  <bruno@clisp.org>
1836
1837         quotearg test: Avoid test failure on mingw.
1838         * tests/test-quotearg.sh: Convert the locale identifier from native
1839         Windows syntax to Unix syntax.
1840
1841 2011-02-12  Bruno Haible  <bruno@clisp.org>
1842
1843         setlocale: Prefer gnulib's override over libintl's override.
1844         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
1845         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
1846         GNULIB_defined_setlocale is set.
1847
1848 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
1849
1850         stdlib: support non-GCC __attribute__
1851
1852         Fix a serious and tricky problem encountered when attempting to
1853         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
1854         5.5, but it crashed due to memory corruption on Solaris 10 with
1855         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
1856         bits that are otherwise zero.  This tagging is optional inside
1857         Emacs but is preferred and is used when __attribute__ ((__aligned
1858         (8))) works, as it does with both recent-enough GCC and with Sun C
1859         5.11.  However, Sun C 5.11 is not GCC and does not #define
1860         __GNUC__ and __GNUC_MINOR__.
1861
1862         When I added the getloadavg module to Emacs, it brought in
1863         stdlib.in.h, which contained this fragment:
1864
1865            #ifndef __attribute__
1866            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
1867            #  define __attribute__(Spec)   /* empty */
1868            # endif
1869            #endif
1870
1871         When files that include <stdlib.h> were compiled with Sun C 5.11,
1872         the above code disabled __attribute__ ((__aligned (8))), which
1873         caused variables to not be properly aligned, which eventually led
1874         to the pointer corruption mentioned above.  (This was a bit hard
1875         to diagnose, unfortunately.)
1876
1877         Several "#define __attribute__(X) /* empty */" code snippets need
1878         to be eradicated from Gnulib to work with non-GCC compilers that
1879         support __attribute__.  The Autoconf way to do this is to test for
1880         each kind of attribute that we want support for, and selectively
1881         enable that in source code.
1882
1883         Fix this problem just for stdlib.h, by adding a test for the
1884         __noreturn__ attribute, and change stdlib.in.h to use that test
1885         when needed.  This technique can be easily generalized to the
1886         other *.in.h files and attributes, and a similar technique can be
1887         used for *.h and *.c files.  This patch is enough to solve the
1888         problem for Emacs + getloadavg, and I thought I'd publish it for
1889         feedback before undertaking further, similar fixes in other
1890         modules.
1891
1892         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
1893         because it's not needed for stdlib.h.  It merely substitutes the
1894         value directly into stdlib.h.  We may well need to #define it, or
1895         similar symbols, for other modules, but it's nice to also have an
1896         option to not #define it for applications like Emacs that do not
1897         need it.
1898
1899         * lib/stdlib.in.h (__attribute__): Do not #define.
1900         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
1901         be defined only if the _Exit module is also used.
1902         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
1903         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
1904         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
1905         platforms.
1906         * modules/_Exit (Files): Add m4/attribute.m4.
1907         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
1908         * m4/attribute.m4: New file.
1909
1910 2011-02-12  Bruno Haible  <bruno@clisp.org>
1911
1912         wcsrtombs: Work around bug on native Windows.
1913         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
1914         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
1915         instead of len.
1916         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
1917
1918 2011-02-12  Bruno Haible  <bruno@clisp.org>
1919
1920         mbsrtowcs: Work around bug on native Windows.
1921         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
1922         against mingw bug.
1923         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
1924
1925 2011-02-12  Bruno Haible  <bruno@clisp.org>
1926
1927         Avoid setlocale bugs in tests.
1928         * modules/btowc (Dependencies): Add setlocale.
1929         * modules/c-strcase (Dependencies): Likewise.
1930         * modules/mbmemcasecmp (Dependencies): Likewise.
1931         * modules/mbmemcasecoll (Dependencies): Likewise.
1932         * modules/mbrtowc (Dependencies): Likewise.
1933         * modules/mbscasecmp (Dependencies): Likewise.
1934         * modules/mbscasestr (Dependencies): Likewise.
1935         * modules/mbschr (Dependencies): Likewise.
1936         * modules/mbscspn (Dependencies): Likewise.
1937         * modules/mbsinit (Dependencies): Likewise.
1938         * modules/mbsncasecmp (Dependencies): Likewise.
1939         * modules/mbsnrtowcs (Dependencies): Likewise.
1940         * modules/mbspbrk (Dependencies): Likewise.
1941         * modules/mbspcasecmp (Dependencies): Likewise.
1942         * modules/mbsrchr (Dependencies): Likewise.
1943         * modules/mbsrtowcs (Dependencies): Likewise.
1944         * modules/mbsspn (Dependencies): Likewise.
1945         * modules/mbsstr (Dependencies): Likewise.
1946         * modules/nl_langinfo (Dependencies): Likewise.
1947         * modules/quotearg (Dependencies): Likewise.
1948         * modules/unicase/locale-language (Dependencies): Likewise.
1949         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
1950         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
1951         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
1952         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
1953         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
1954         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
1955         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
1956         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
1957         * modules/vasnprintf-posix (Dependencies): Likewise.
1958         * modules/wcrtomb (Dependencies): Likewise.
1959         * modules/wcsnrtombs (Dependencies): Likewise.
1960         * modules/wcsrtombs (Dependencies): Likewise.
1961
1962 2011-02-12  Bruno Haible  <bruno@clisp.org>
1963
1964         setlocale: Workaround native Windows bug.
1965         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
1966         succeeds but sets LC_CTYPE to "C", report a failure.
1967         * tests/test-setlocale2.sh: New file.
1968         * tests/test-setlocale2.c: New file.
1969         * modules/setlocale-tests (Files): Add the new files.
1970         (Makefile.am): Enable test-setlocale2.sh test.
1971         * doc/posix-functions/setlocale.texi: Mention workaround.
1972
1973 2011-02-11  Bruno Haible  <bruno@clisp.org>
1974
1975         Tests for module 'setlocale'.
1976         * modules/setlocale-tests: New file.
1977         * tests/test-setlocale1.sh: New file.
1978         * tests/test-setlocale1.c: New file.
1979
1980         New module 'setlocale'.
1981         * lib/locale.in.h (setlocale): New declaration.
1982         * lib/setlocale.c: New file, based on
1983         gettext/gettext-runtime/intl/setlocale.c.
1984         * m4/setlocale.m4: New file.
1985         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
1986         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
1987         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
1988         REPLACE_SETLOCALE.
1989         * modules/setlocale: New file.
1990         * tests/test-locale-c++.cc: Test the declaration of setlocale.
1991         * doc/posix-functions/setlocale.texi: Mention the new module.
1992
1993 2011-02-11  Bruno Haible  <bruno@clisp.org>
1994
1995         Prepare for locale dependent tests on mingw.
1996         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
1997         because it has the wrong locale encoding.
1998         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
1999         French_France.1252 instead of "fr".
2000         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
2001         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
2002         because it has the wrong locale encoding.
2003         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
2004         native Windows, try Turkish_Turkey.65001.
2005         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
2006         Chinese_China.54936.
2007
2008         Prepare for locale dependent tests on mingw.
2009         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
2010         differently.
2011         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
2012         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
2013         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
2014         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2015
2016 2011-02-11  Eric Blake  <eblake@redhat.com>
2017
2018         strptime: avoid compiler warnings
2019         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
2020         compiler warnings about dead code.
2021         Reported by Daniel P. Berrange.
2022
2023 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
2024
2025         doc: update users.txt
2026         * users.txt: Add rcs.
2027
2028 2011-02-10  John W. Eaton  <jwe@gnu.org>
2029
2030         doc: update users.txt
2031         * users.txt: Add octave.
2032
2033 2011-02-10  Jim Meyering  <meyering@redhat.com>
2034
2035         doc: update users.txt
2036         * users.txt: Add iwhd.
2037
2038 2011-02-09  Bruno Haible  <bruno@clisp.org>
2039
2040         gnulib-tool: Make copyright notice adjustment more robust.
2041         * gnulib-tool (func_import): In sed_transform_main_lib_file,
2042         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
2043         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
2044         License".
2045         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
2046
2047 2011-02-06  Bruno Haible  <bruno@clisp.org>
2048
2049         New module 'towctrans'.
2050         * modules/towctrans: New file.
2051         * lib/wctype.in.h (towctrans): New declaration.
2052         * lib/towctrans.c: New file.
2053         * lib/towctrans-impl.h: New file.
2054         * m4/towctrans.m4: New file.
2055         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
2056         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
2057         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
2058         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
2059         * doc/posix-functions/towctrans.texi: Mention the new module.
2060
2061 2011-02-06  Bruno Haible  <bruno@clisp.org>
2062
2063         New module 'wctrans'.
2064         * modules/wctrans: New file.
2065         * lib/wctype.in.h (wctrans): New declaration.
2066         * lib/wctrans.c: New file.
2067         * lib/wctrans-impl.h: New file.
2068         * m4/wctrans.m4: New file.
2069         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
2070         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
2071         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
2072         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
2073         * doc/posix-functions/wctrans.texi: Mention the new module.
2074
2075 2011-02-06  Bruno Haible  <bruno@clisp.org>
2076
2077         New module 'iswctype'.
2078         * modules/iswctype: New file.
2079         * lib/wctype.in.h (iswctype): New declaration.
2080         * lib/iswctype.c: New file.
2081         * lib/iswctype-impl.h: New file.
2082         * m4/iswctype.m4: New file.
2083         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
2084         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
2085         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
2086         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
2087         * doc/posix-functions/iswctype.texi: Mention the new module and the
2088         HP-UX 11.00 problem.
2089
2090 2011-02-06  Bruno Haible  <bruno@clisp.org>
2091
2092         New module 'wctype'.
2093         * modules/wctype: Change to represent the wctype() substitute.
2094         * lib/wctype.in.h (wctype): New declaration.
2095         * lib/wctype.c: New file.
2096         * lib/wctype-impl.h: New file.
2097         * m4/wctype.m4: New file.
2098         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
2099         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
2100         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
2101         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
2102         * doc/posix-functions/wctype.texi: Mention the new module and the
2103         HP-UX 11.00 problem.
2104
2105 2011-02-06  Bruno Haible  <bruno@clisp.org>
2106
2107         wctype-h: Ensure wctype_t and wctrans_t are defined.
2108         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
2109         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2110         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
2111         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
2112         HAVE_WCTRANS_T.
2113         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
2114
2115 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2116
2117         flock: fix license typo
2118
2119         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
2120         omitted.
2121
2122 2011-02-08  Bruno Haible  <bruno@clisp.org>
2123
2124         Split large sed scripts, for HP-UX sed.
2125         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
2126         to avoid HP-UX limit of 99 commands, in the near future.
2127         * modules/stdlib (Makefile.am): Likewise.
2128         * modules/unistd (Makefile.am): Likewise.
2129         * modules/wchar (Makefile.am): Likewise.
2130         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2131         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
2132         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
2133
2134 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2135             Bruno Haible  <bruno@clisp.org>
2136
2137         stdlib: improve random_r modularization
2138         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
2139         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
2140         you also need the random_r module to get this material right.
2141         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
2142         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
2143         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
2144
2145 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
2146
2147         stdlib: don't depend on stdint
2148         * lib/stdlib.in.h: Don't include <stdint.h> merely because
2149         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
2150         be independent of whether stdint.h is needed.
2151         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
2152         here, instead of ...
2153         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
2154         struct random_data should be using the random_r module, not just
2155         the stdlib module (which wouldn't make sense: what package needs
2156         just struct random_data without also needing random_r?).
2157         * modules/stdlib (Depends-on): Remove stdint.
2158
2159         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
2160         See the thread rooted at
2161         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
2162         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
2163         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
2164         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
2165         __VMS)); previously it was always included (via fcntl--.h).
2166         (getloadavg): Do not use c_strtod.  Instead, approximate it by
2167         hand; this is good enough for load averages.  Also, do not use
2168         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
2169         flags directly if available and don't bother otherwise.  (Packages
2170         that need the extra reliability should use the modules that define
2171         these flags on older platforms that lack them.)
2172         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
2173         fcntl-safer.
2174
2175 2011-02-08  Jim Meyering  <meyering@redhat.com>
2176
2177         di-set.h, ino-map.h: add multiple-inclusion guard
2178         Technically, the guard is required only for ino-map.h, due to its
2179         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
2180         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
2181         * lib/ino-map.h: Likewise.
2182
2183 2011-02-06  Bruno Haible  <bruno@clisp.org>
2184
2185         iswblank: Ensure declaration on glibc systems.
2186         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
2187         * modules/iswblank (Dependencies): Add 'extensions'.
2188         * doc/posix-functions/iswblank.texi: Document the glibc problem.
2189
2190 2011-02-06  Bruno Haible  <bruno@clisp.org>
2191
2192         New module 'iswblank'.
2193         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
2194         * modules/iswblank: New file.
2195         * modules/wctype-h (Files): Remove lib/iswblank.c.
2196         (Makefile.am): Substitute GNULIB_ISWBLANK.
2197         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
2198         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
2199         (gl_WCTYPE_H_DEFAULTS): New macro.
2200         (gl_WCTYPE_H): Require it. Remove iswblank related code.
2201         * modules/iswblank-tests: New file.
2202         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
2203         * tests/test-wctype-h.c (main): Remove iswblank tests.
2204         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
2205         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
2206         of 'wctype-h'.
2207         * NEWS: Mention the change.
2208         * modules/mbchar (Depends-on): Add iswblank.
2209
2210 2011-02-08  Bruno Haible  <bruno@clisp.org>
2211
2212         di-set tests: Refactor.
2213         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
2214         unnecessary includes.
2215         (ASSERT): Remove macro.
2216         (main): Make C90 compliant by avoiding variable declaration after
2217         statement.
2218         * modules/di-set-tests (Files): Add tests/macros.h.
2219
2220 2011-02-08  Bruno Haible  <bruno@clisp.org>
2221
2222         ino-map tests: Refactor.
2223         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
2224         unnecessary includes.
2225         (ASSERT): Remove macro.
2226         (main): Make C90 compliant by avoiding variable declaration after
2227         statement.
2228         * modules/ino-map-tests (Files): Add tests/macros.h.
2229
2230 2011-02-08  Jim Meyering  <meyering@redhat.com>
2231
2232         di-set: add "const" to a cast
2233         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
2234         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
2235
2236 2011-02-06  Bruno Haible  <bruno@clisp.org>
2237
2238         Rename module 'wctype' to 'wctype-h'.
2239         * modules/wctype-h: Renamed from modules/wctype.
2240         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
2241         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
2242         (Files, Depends-on, Makefile.am): Update.
2243         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
2244         (Files, Makefile.am): Update.
2245         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
2246         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
2247         * doc/posix-headers/wctype.texi: Update.
2248         * doc/posix-functions/iswalnum.texi: Update.
2249         * doc/posix-functions/iswalpha.texi: Update.
2250         * doc/posix-functions/iswblank.texi: Update.
2251         * doc/posix-functions/iswcntrl.texi: Update.
2252         * doc/posix-functions/iswdigit.texi: Update.
2253         * doc/posix-functions/iswgraph.texi: Update.
2254         * doc/posix-functions/iswlower.texi: Update.
2255         * doc/posix-functions/iswprint.texi: Update.
2256         * doc/posix-functions/iswpunct.texi: Update.
2257         * doc/posix-functions/iswspace.texi: Update.
2258         * doc/posix-functions/iswupper.texi: Update.
2259         * doc/posix-functions/iswxdigit.texi: Update.
2260         * doc/posix-functions/towlower.texi: Update.
2261         * doc/posix-functions/towupper.texi: Update.
2262         * NEWS: Mention the change.
2263         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
2264         * modules/mbchar (Dependencies): Likewise.
2265         * modules/mbswidth (Dependencies): Likewise.
2266         * modules/quotearg (Dependencies): Likewise.
2267         * modules/regex (Dependencies): Likewise.
2268         * modules/wcscasecmp (Dependencies): Likewise.
2269         * modules/wcsncasecmp (Dependencies): Likewise.
2270         * modules/wcwidth (Dependencies): Likewise.
2271
2272 2011-02-06  Bruno Haible  <bruno@clisp.org>
2273
2274         New module 'wcswidth'.
2275         * modules/wcswidth: New file.
2276         * lib/wchar.in.h (wcswidth): New declaration.
2277         * lib/wcswidth.c: New file.
2278         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
2279         * m4/wcswidth.m4: New file.
2280         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
2281         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
2282         REPLACE_WCSWIDTH.
2283         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
2284         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
2285         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
2286         * doc/posix-functions/wcswidth.texi: Mention the new module.
2287
2288 2011-02-06  Bruno Haible  <bruno@clisp.org>
2289
2290         New module 'wcstok'.
2291         * modules/wcstok: New file.
2292         * lib/wchar.in.h (wcstok): New declaration.
2293         * lib/wcstok.c: New file.
2294         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
2295         * m4/wcstok.m4: New file.
2296         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
2297         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
2298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
2299         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
2300         * doc/posix-functions/wcstok.texi: Mention the new module.
2301
2302 2011-02-06  Bruno Haible  <bruno@clisp.org>
2303
2304         New module 'wcsstr'.
2305         * modules/wcsstr: New file.
2306         * lib/wchar.in.h (wcsstr): New declaration.
2307         * lib/wcsstr.c: New file.
2308         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
2309         * m4/wcsstr.m4: New file.
2310         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
2311         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
2312         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
2313         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
2314         * doc/posix-functions/wcsstr.texi: Mention the new module.
2315
2316 2011-02-06  Bruno Haible  <bruno@clisp.org>
2317
2318         New module 'wcspbrk'.
2319         * modules/wcspbrk: New file.
2320         * lib/wchar.in.h (wcspbrk): New declaration.
2321         * lib/wcspbrk.c: New file.
2322         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
2323         * m4/wcspbrk.m4: New file.
2324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
2325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
2326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
2327         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
2328         * doc/posix-functions/wcspbrk.texi: Mention the new module.
2329
2330 2011-02-06  Bruno Haible  <bruno@clisp.org>
2331
2332         New module 'wcsspn'.
2333         * modules/wcsspn: New file.
2334         * lib/wchar.in.h (wcsspn): New declaration.
2335         * lib/wcsspn.c: New file.
2336         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
2337         * m4/wcsspn.m4: New file.
2338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
2339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
2340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
2341         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
2342         * doc/posix-functions/wcsspn.texi: Mention the new module.
2343
2344 2011-02-06  Bruno Haible  <bruno@clisp.org>
2345
2346         New module 'wcscspn'.
2347         * modules/wcscspn: New file.
2348         * lib/wchar.in.h (wcscspn): New declaration.
2349         * lib/wcscspn.c: New file.
2350         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
2351         * m4/wcscspn.m4: New file.
2352         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
2353         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
2354         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
2355         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
2356         * doc/posix-functions/wcscspn.texi: Mention the new module.
2357
2358 2011-02-06  Bruno Haible  <bruno@clisp.org>
2359
2360         New module 'wcsrchr'.
2361         * modules/wcsrchr: New file.
2362         * lib/wchar.in.h (wcsrchr): New declaration.
2363         * lib/wcsrchr.c: New file.
2364         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
2365         * m4/wcsrchr.m4: New file.
2366         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
2367         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
2368         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
2369         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
2370         * doc/posix-functions/wcsrchr.texi: Mention the new module.
2371
2372 2011-02-06  Bruno Haible  <bruno@clisp.org>
2373
2374         New module 'wcschr'.
2375         * modules/wcschr: New file.
2376         * lib/wchar.in.h (wcschr): New declaration.
2377         * lib/wcschr.c: New file.
2378         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
2379         * m4/wcschr.m4: New file.
2380         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
2381         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
2382         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
2383         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
2384         * doc/posix-functions/wcschr.texi: Mention the new module.
2385
2386 2011-02-06  Bruno Haible  <bruno@clisp.org>
2387
2388         New module 'wcsdup'.
2389         * modules/wcsdup: New file.
2390         * lib/wchar.in.h (wcsdup): New declaration.
2391         * lib/wcsdup.c: New file.
2392         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
2393         * m4/wcsdup.m4: New file.
2394         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
2395         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
2396         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
2397         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
2398         * doc/posix-functions/wcsdup.texi: Mention the new module.
2399
2400 2011-02-06  Bruno Haible  <bruno@clisp.org>
2401
2402         New module 'wcsxfrm'.
2403         * modules/wcsxfrm: New file.
2404         * lib/wchar.in.h (wcsxfrm): New declaration.
2405         * lib/wcsxfrm.c: New file.
2406         * lib/wcsxfrm-impl.h: New file.
2407         * m4/wcsxfrm.m4: New file.
2408         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
2409         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
2410         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
2411         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
2412         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
2413
2414 2011-02-06  Bruno Haible  <bruno@clisp.org>
2415
2416         New module 'wcscoll'.
2417         * modules/wcscoll: New file.
2418         * lib/wchar.in.h (wcscoll): New declaration.
2419         * lib/wcscoll.c: New file.
2420         * lib/wcscoll-impl.h: New file.
2421         * m4/wcscoll.m4: New file.
2422         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
2423         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
2424         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
2425         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
2426         * doc/posix-functions/wcscoll.texi: Mention the new module.
2427
2428 2011-02-06  Bruno Haible  <bruno@clisp.org>
2429
2430         New module 'wcsncasecmp'.
2431         * modules/wcsncasecmp: New file.
2432         * lib/wchar.in.h (wcsncasecmp): New declaration.
2433         * lib/wcsncasecmp.c: New file.
2434         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
2435         * m4/wcsncasecmp.m4: New file.
2436         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
2437         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
2438         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
2439         HAVE_WCSNCASECMP.
2440         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
2441         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
2442
2443 2011-02-06  Bruno Haible  <bruno@clisp.org>
2444
2445         New module 'wcscasecmp'.
2446         * modules/wcscasecmp: New file.
2447         * lib/wchar.in.h (wcscasecmp): New declaration.
2448         * lib/wcscasecmp.c: New file.
2449         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
2450         * m4/wcscasecmp.m4: New file.
2451         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
2452         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
2453         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
2454         HAVE_WCSCASECMP.
2455         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
2456         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
2457
2458 2011-02-05  Bruno Haible  <bruno@clisp.org>
2459
2460         New module 'wcsncmp'.
2461         * modules/wcsncmp: New file.
2462         * lib/wchar.in.h (wcsncmp): New declaration.
2463         * lib/wcsncmp.c: New file.
2464         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
2465         * m4/wcsncmp.m4: New file.
2466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
2467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
2468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
2469         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
2470         * doc/posix-functions/wcsncmp.texi: Mention the new module.
2471
2472 2011-02-05  Bruno Haible  <bruno@clisp.org>
2473
2474         New module 'wcscmp'.
2475         * modules/wcscmp: New file.
2476         * lib/wchar.in.h (wcscmp): New declaration.
2477         * lib/wcscmp.c: New file.
2478         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
2479         * m4/wcscmp.m4: New file.
2480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
2481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
2482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
2483         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
2484         * doc/posix-functions/wcscmp.texi: Mention the new module.
2485
2486 2011-02-05  Bruno Haible  <bruno@clisp.org>
2487
2488         New module 'wcsncat'.
2489         * modules/wcsncat: New file.
2490         * lib/wchar.in.h (wcsncat): New declaration.
2491         * lib/wcsncat.c: New file.
2492         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
2493         * m4/wcsncat.m4: New file.
2494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
2495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
2496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
2497         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
2498         * doc/posix-functions/wcsncat.texi: Mention the new module.
2499
2500 2011-02-05  Bruno Haible  <bruno@clisp.org>
2501
2502         New module 'wcscat'.
2503         * modules/wcscat: New file.
2504         * lib/wchar.in.h (wcscat): New declaration.
2505         * lib/wcscat.c: New file.
2506         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
2507         * m4/wcscat.m4: New file.
2508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
2509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
2510         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
2511         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
2512         * doc/posix-functions/wcscat.texi: Mention the new module.
2513
2514 2011-02-05  Bruno Haible  <bruno@clisp.org>
2515
2516         New module 'wcpncpy'.
2517         * modules/wcpncpy: New file.
2518         * lib/wchar.in.h (wcpncpy): New declaration.
2519         * lib/wcpncpy.c: New file.
2520         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
2521         * m4/wcpncpy.m4: New file.
2522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
2523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
2524         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
2525         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
2526         * doc/posix-functions/wcpncpy.texi: Mention the new module.
2527
2528 2011-02-05  Bruno Haible  <bruno@clisp.org>
2529
2530         New module 'wcsncpy'.
2531         * modules/wcsncpy: New file.
2532         * lib/wchar.in.h (wcsncpy): New declaration.
2533         * lib/wcsncpy.c: New file.
2534         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
2535         * m4/wcsncpy.m4: New file.
2536         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
2537         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
2538         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
2539         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
2540         * doc/posix-functions/wcsncpy.texi: Mention the new module.
2541
2542 2011-02-05  Bruno Haible  <bruno@clisp.org>
2543
2544         New module 'wcpcpy'.
2545         * modules/wcpcpy: New file.
2546         * lib/wchar.in.h (wcpcpy): New declaration.
2547         * lib/wcpcpy.c: New file.
2548         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
2549         * m4/wcpcpy.m4: New file.
2550         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
2551         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
2552         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
2553         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
2554         * doc/posix-functions/wcpcpy.texi: Mention the new module.
2555
2556 2011-02-05  Bruno Haible  <bruno@clisp.org>
2557
2558         New module 'wcscpy'.
2559         * modules/wcscpy: New file.
2560         * lib/wchar.in.h (wcscpy): New declaration.
2561         * lib/wcscpy.c: New file.
2562         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
2563         * m4/wcscpy.m4: New file.
2564         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
2565         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
2566         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
2567         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
2568         * doc/posix-functions/wcscpy.texi: Mention the new module.
2569
2570 2011-02-05  Bruno Haible  <bruno@clisp.org>
2571
2572         New module 'wcsnlen'.
2573         * modules/wcsnlen: New file.
2574         * lib/wchar.in.h (wcsnlen): New declaration.
2575         * lib/wcsnlen.c: New file.
2576         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
2577         * m4/wcsnlen.m4: New file.
2578         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
2579         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
2580         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
2581         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
2582         * doc/posix-functions/wcsnlen.texi: Mention the new module.
2583
2584 2011-02-05  Bruno Haible  <bruno@clisp.org>
2585
2586         New module 'wcslen'.
2587         * modules/wcslen: New file.
2588         * lib/wchar.in.h (wcslen): New declaration.
2589         * lib/wcslen.c: New file.
2590         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
2591         * m4/wcslen.m4: New file.
2592         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
2593         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
2594         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
2595         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
2596         * doc/posix-functions/wcslen.texi: Mention the new module.
2597
2598 2011-02-05  Bruno Haible  <bruno@clisp.org>
2599
2600         New module 'wmemset'.
2601         * modules/wmemset: New file.
2602         * lib/wchar.in.h (wmemset): New declaration.
2603         * lib/wmemset.c: New file.
2604         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
2605         * m4/wmemset.m4: New file.
2606         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
2607         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
2608         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
2609         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
2610         * doc/posix-functions/wmemset.texi: Mention the new module.
2611
2612 2011-02-05  Bruno Haible  <bruno@clisp.org>
2613
2614         New module 'wmemmove'.
2615         * modules/wmemmove: New file.
2616         * lib/wchar.in.h (wmemmove): New declaration.
2617         * lib/wmemmove.c: New file.
2618         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
2619         * m4/wmemmove.m4: New file.
2620         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
2621         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
2622         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
2623         HAVE_WMEMMOVE.
2624         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
2625         * doc/posix-functions/wmemmove.texi: Mention the new module.
2626
2627 2011-02-05  Bruno Haible  <bruno@clisp.org>
2628
2629         New module 'wmemcpy'.
2630         * modules/wmemcpy: New file.
2631         * lib/wchar.in.h (wmemcpy): New declaration.
2632         * lib/wmemcpy.c: New file.
2633         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
2634         * m4/wmemcpy.m4: New file.
2635         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
2636         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
2637         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
2638         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
2639         * doc/posix-functions/wmemcpy.texi: Mention the new module.
2640
2641 2011-02-05  Bruno Haible  <bruno@clisp.org>
2642
2643         New module 'wmemcmp'.
2644         * modules/wmemcmp: New file.
2645         * lib/wchar.in.h (wmemcmp): New declaration.
2646         * lib/wmemcmp.c: New file.
2647         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
2648         * m4/wmemcmp.m4: New file.
2649         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
2650         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
2651         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
2652         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
2653         * doc/posix-functions/wmemcmp.texi: Mention the new module.
2654
2655 2011-02-07  Jim Meyering  <meyering@redhat.com>
2656
2657         di-set, ino-map: new modules, from coreutils
2658         * lib/di-set.c: New file.
2659         * lib/di-set.h: Likewise.
2660         * lib/ino-map.c: Likewise.
2661         * lib/ino-map.h: Likewise.
2662         * modules/di-set: Likewise.
2663         * modules/di-set-tests: Likewise.
2664         * modules/ino-map: Likewise.
2665         * modules/ino-map-tests: Likewise.
2666         * tests/test-di-set.c: Likewise.
2667         * tests/test-ino-map.c: Likewise.
2668
2669 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
2670
2671         getloadavg: merge minor changes from Emacs
2672
2673         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
2674         (getloadavg): Use memset, not bzero.
2675
2676         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
2677         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
2678         clash (bug#86).
2679
2680 2010-11-14  Bruno Haible  <bruno@clisp.org>
2681
2682         Allow multiple gnulib generated replacements to coexist.
2683         * lib/getopt.in.h (struct option): Avoid identical redefinition.
2684         * lib/inttypes.in.h (imaxdiv_t): Likewise.
2685         * lib/langinfo.in.h (nl_item): Likewise.
2686         * lib/math.in.h (_NaN, NAN): Likewise.
2687         * lib/netdb.in.h (struct addrinfo): Likewise.
2688         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
2689         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
2690         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
2691         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
2692         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
2693         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
2694         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
2695         pthread_mutexattr_init, pthread_mutexattr_settype,
2696         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
2697         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
2698         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
2699         pthread_spin_trylock, pthread_spin_unlock): Likewise.
2700         * lib/sched.in.h (struct sched_param): Likewise.
2701         * lib/se-selinux.in.h (security_class_t, security_context_t,
2702         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
2703         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
2704         lsetfilecon, fsetfilecon, security_check_context,
2705         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
2706         Likewise.
2707         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
2708         Likewise.
2709         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
2710         _gl_function_taking_int_returning_void_t, union sigval,
2711         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
2712         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
2713         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2714         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
2715         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
2716         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
2717         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
2718         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
2719         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
2720         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
2721         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
2722         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
2723         socklen_t, rpl_fd_isset): Likewise.
2724         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
2725         * lib/sys_time.in.h (struct timeval): Likewise.
2726         * lib/sys_times.in.h (struct tms): Likewise.
2727         * lib/sys_utsname.in.h (struct utsname):
2728         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
2729         * lib/unistd.in.h (getpagesize): Likewise.
2730         * lib/wchar.in.h (mbstate_t): Likewise.
2731         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
2732         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
2733         towlower, towupper): Likewise.
2734         Reported by Sam Steingold <sds@gnu.org>.
2735
2736 2011-02-05  Eric Blake  <eblake@redhat.com>
2737
2738         unsetenv: work around Haiku issues
2739         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
2740         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
2741
2742 2010-12-30  Bruce Korb  <bkorb@gnu.org>
2743
2744         libposix: avoid calling error() within libposix
2745         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
2746         is defined.
2747
2748 2011-02-05  Eric Blake  <eblake@redhat.com>
2749
2750         strerror_r-posix: port to cygwin
2751         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
2752         implementation.
2753         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
2754         * tests/test-strerror_r.c (main): Fix test.
2755         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
2756         issue.
2757
2758 2011-02-05  Bruno Haible  <bruno@clisp.org>
2759
2760         New module 'wmemchr'.
2761         * modules/wmemchr: New file.
2762         * lib/wchar.in.h (wmemchr): New declaration.
2763         * lib/wmemchr.c: New file.
2764         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
2765         * m4/wmemchr.m4: New file.
2766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
2767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
2768         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
2769         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
2770         * doc/posix-functions/wmemchr.texi: Mention the new module.
2771
2772 2011-02-04  Eric Blake  <eblake@redhat.com>
2773
2774         fdopendir: detect FreeBSD bug
2775         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
2776         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
2777
2778 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
2779
2780         stdbool: do not define HAVE_STDBOOL_H
2781         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
2782         AC_HEADER_STDBOOL.  All uses changed.  Do not define
2783         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
2784         imported from the latest Autoconf git.  It was motivated by Emacs,
2785         which uses gnulib but does not need HAVE_STDBOOL_H.
2786
2787 2011-02-04  Bruno Haible  <bruno@clisp.org>
2788
2789         wcsnrtombs: Prepare for new module wwcsnrtombs.
2790         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
2791         * lib/wcsnrtombs.c: Include it.
2792         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
2793
2794         wcsrtombs: Prepare for new module wwcsrtombs.
2795         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
2796         * lib/wcsrtombs.c: Include it.
2797         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
2798
2799         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
2800         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
2801         * lib/mbsnrtowcs.c: Include it.
2802         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
2803
2804         mbsrtowcs: Prepare for new module mbsrtowwcs.
2805         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
2806         * lib/mbsrtowcs.c: Include it.
2807         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
2808
2809 2011-02-04  Bruno Haible  <bruno@clisp.org>
2810
2811         vasnprintf: Reduce use of malloc for small format strings.
2812         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
2813         (arguments): Add room for the first 7 arguments.
2814         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
2815         (char_directives, u8_directives, u16_directives, u32_directives): Add
2816         room for the first 7 directives.
2817         * lib/printf-parse.c: Include <string.h>.
2818         (PRINTF_PARSE): Change memory handling code so that it uses the first
2819         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
2820         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
2821         Reported by Pádraig Brady <P@draigbrady.com>.
2822
2823 2011-01-31  Eric Blake  <eblake@redhat.com>
2824
2825         dup2: work around Haiku bug
2826         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
2827         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
2828         * doc/posix-functions/dup2.texi (dup2): Document the bug.
2829         * tests/test-dup2.c (main): Enhance test.
2830
2831 2011-01-31  Simon Josefsson  <simon@josefsson.org>
2832
2833         doc: off_t is not available in eglibc 2.11.2 stdio.h.
2834         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
2835         declared by eglibc 2.11.2.
2836         * lib/stdio.in.h: Likewise.
2837
2838 2011-01-31  Eric Blake  <eblake@redhat.com>
2839
2840         ignore-value: add missing test dependency
2841         * tests/test-ignore-value.c: Revert previous change; stdio.h
2842         provides off_t.
2843         * modules/ignore-value-tests (Depends-on): Add missing dependency.
2844
2845 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
2846
2847         mktime: clarify long_int width checking
2848         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
2849         the top level, to make it clearer that the assumption about
2850         long_int width is being checked.  See
2851         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
2852
2853 2011-01-30  Simon Josefsson  <simon@josefsson.org>
2854
2855         ignore-value: Fix self-test.
2856         * tests/test-ignore-value.c: Include sys/types.h for off_t.
2857
2858 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
2859
2860         TYPE_MAXIMUM: avoid theoretically undefined behavior
2861         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
2862         negative number, which the C Standard says has undefined behavior.
2863         In practice this is not a problem, but might as well do it by the book.
2864         Reported by Rich Felker and Eric Blake; see
2865         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
2866         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
2867         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2868         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2869         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
2870         * m4/stdint.m4 (gl_STDINT_H): Likewise.
2871         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
2872
2873         mktime: #undef mktime before #defining it
2874         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
2875
2876         mktime: systematically normalize tm_isdst comparisons
2877         * lib/mktime.c (isdst_differ): New function.
2878         (__mktime_internal): Use it systematically for all isdst comparisons.
2879         This completes the fix for libc BZ #6723, and removes the need for
2880         normalizing tm_isdst.  See
2881         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
2882         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
2883
2884         mktime: fix some integer overflow issues and sidestep the rest
2885
2886         This was prompted by a bug report by Benjamin Lindner for MinGW
2887         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
2888         His bug is due to signed integer overflow (0 - INT_MIN), and I
2889         I scanned through mktime.c looking for other integer overflow
2890         problems, fixing all the bugs I found.
2891
2892         Although the C Standard says the resulting code is still not safe
2893         in the presence of integer overflow, in practice it should be good
2894         enough for all real-world two's-complement implementations, except
2895         for debugging environments that deliberately trap on integer
2896         overflow (e.g., gcc -ftrapv).
2897
2898         * lib/mktime.c (WRAPV): New macro.
2899         (SHR): Also check that long_int and time_t shift right in the
2900         usual way, before using the fast-but-unportable method.
2901         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
2902         used.  The code already assumed two's complement, so there's
2903         no need to test for alternatives.  All uses removed.
2904         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
2905         the C standard.  Problem reported by Rich Felker in
2906         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
2907         (twos_complement_arithmetic): Also check long_int and time_t.
2908         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
2909         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
2910         (__mktime_internal): Avoid integer overflow with unary subtraction
2911         in two instances where -1 - X is an adequate replacement for -X,
2912         since the calculations are approximate.
2913
2914 2011-01-29  Eric Blake  <eblake@redhat.com>
2915
2916         mktime: avoid infinite loop
2917         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
2918         type; behavior is still undefined but portable to all known targets.
2919         Reported by Rich Felker.
2920
2921 2011-01-29  Simon Josefsson  <simon@josefsson.org>
2922
2923         rename, unlink, same-inode: Relicense.
2924         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
2925         * modules/unlink (License): Likewise.
2926         * modules/same-inode (License): Likewise.
2927
2928 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2929
2930         mktime: avoid problems on NetBSD 5 / i386
2931         * lib/mktime.c (long_int): New type.  This works around a problem
2932         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
2933         but time_t is 64 bits, and where I expect the existing code is
2934         wrong in some cases.
2935         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
2936         (ydhms_diff): Bring back the compile-time check for wide-enough
2937         year and yday.
2938
2939         mktime: fix misspelling in comment
2940         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
2941         This merges all recent glibc changes of importance.
2942
2943 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2944
2945         move-if-change: cope with concurrent mv of identical file.
2946         * build-aux/move-if-change (CMPPROG): Accept environment
2947         variable as an override for `cmp'.
2948         (usage): Document CMPPROG.
2949         Adjust comparison to drop stdout.  Cope with failure of mv if
2950         the target file exists and is identical to the source, for
2951         parallel builds.
2952         Report from H.J. Lu against binutils in PR binutils/12283.
2953
2954 2011-01-28  Bruce Korb  <bkorb@gnu.org>
2955
2956         * users.txt: Mention sharutils.
2957
2958 2011-01-28  Simon Josefsson  <simon@josefsson.org>
2959
2960         * users.txt: Mention OATH Toolkit.
2961
2962 2011-01-27  Bruno Haible  <bruno@clisp.org>
2963
2964         Prepare for supporting FreeBSD 10.
2965         * build-aux/config.libpath: Remove handling of freebsd1*.
2966
2967 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
2968
2969         Prepare for supporting FreeBSD 10.
2970         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
2971         match FreeBSD 10.0.
2972
2973 2011-01-27  Bruno Haible  <bruno@clisp.org>
2974
2975         vma-iter, get-rusage-as: Add OpenBSD support.
2976         * modules/vma-iter (configure.ac): Test for mquery.
2977         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
2978         * lib/vma-iter.c: Include <sys/mman.h>.
2979         (vma_iterate): Add an implementation based on mquery().
2980         * lib/resource-ext.h (get_rusage_as): Update comments.
2981         * lib/get-rusage-as.c: Likewise.
2982         * lib/get-rusage-data.c: Likewise.
2983
2984 2011-01-26  Karl Berry  <karl@gnu.org>
2985
2986         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
2987         variables to make it easier to override the makeinfo program used.
2988
2989 2011-01-26  Eric Blake  <eblake@redhat.com>
2990
2991         fcntl: work around Haiku F_DUPFD bugs
2992         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
2993         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
2994         cloexec bit on duplication.
2995         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
2996
2997 2011-01-26  Bruno Haible  <bruno@clisp.org>
2998
2999         Enable memory leak tests on AIX.
3000         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
3001         * tests/test-fprintf-posix3.c (main): Likewise.
3002
3003 2011-01-26  Bruno Haible  <bruno@clisp.org>
3004
3005         Tests for module 'get-rusage-data'.
3006         * modules/get-rusage-data-tests: New file.
3007         * tests/test-get-rusage-data.c: New file.
3008
3009         New module 'get-rusage-data'.
3010         * lib/resource-ext.h (get_rusage_data): New declaration.
3011         * lib/get-rusage-data.c: New file.
3012         * modules/get-rusage-data: New file.
3013
3014 2011-01-25  Bruno Haible  <bruno@clisp.org>
3015
3016         get-rusage-as: Allow for easier testing.
3017         * lib/resource-ext.h (get_rusage_as): Add comment.
3018         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
3019         (main): New function for interactive testing.
3020
3021 2011-01-25  Bruno Haible  <bruno@clisp.org>
3022
3023         vma-iter: Treat Haiku like BeOS.
3024         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
3025         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
3026
3027 2011-01-25  Eric Blake  <eblake@redhat.com>
3028
3029         c-stack: fix regression on cygwin when libsigsegv is present
3030         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
3031
3032 2011-01-24  Bruno Haible  <bruno@clisp.org>
3033
3034         vma-iter: Avoid empty intervals.
3035         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
3036         on an empty interval.
3037
3038 2011-01-24  Jim Meyering  <meyering@redhat.com>
3039
3040         u64: remove unnecessary #include
3041         * lib/u64.h: Don't include <stddef.h>.  It was not used.
3042
3043 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3044
3045         Allow the user to avoid the HAVE_RAW_DECL_* macros.
3046         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
3047
3048 2011-01-23  Bruno Haible  <bruno@clisp.org>
3049
3050         New module 'vma-iter'.
3051         * lib/vma-iter.h: New file.
3052         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
3053         * modules/vma-iter: New file.
3054         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
3055         for get_rusage_as_via_iterator.
3056         (vma_iterate_callback): New function.
3057         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
3058         * modules/get-rusage-as (Depends-on): Add vma-iter.
3059
3060 2011-01-23  Bruno Haible  <bruno@clisp.org>
3061
3062         uninorm: Tweak includes.
3063         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
3064         Reported by Jim Meyering.
3065
3066 2011-01-23  Bruno Haible  <bruno@clisp.org>
3067
3068         get-rusage-as: Improve on NetBSD.
3069         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
3070         /proc, like on FreeBSD.
3071
3072 2011-01-23  Jim Meyering  <meyering@redhat.com>
3073
3074         xreadlink.h: remove unnecessary #include
3075         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
3076
3077         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
3078         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
3079
3080 2011-01-23  Bruno Haible  <bruno@clisp.org>
3081
3082         get-rusage-as: Fix bug.
3083         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
3084         original limit when aborting the first loop.
3085
3086 2011-01-23  Bruno Haible  <bruno@clisp.org>
3087
3088         wctype: Ensure valid C syntax.
3089         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
3090         unconditionally, instead of gl_NEXT_HEADERS conditionally.
3091
3092 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
3095         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
3096         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
3097         as they are needed only for configure's test case.
3098         This removes two unnecessary symbols from config.h.
3099
3100         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
3101         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
3102         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
3103         AC_CHECK_HEADERS_ONCE on a header that we also invoke
3104         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
3105         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
3106         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
3107         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
3108         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
3109         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
3110         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
3111         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
3112         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
3113         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
3114         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
3115         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3116         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
3117         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3118
3119 2011-01-21  Eric Blake  <eblake@redhat.com>
3120
3121         maintainer-makefile: work with older git for submodule check
3122         * top/maint.mk (public-submodule-commit): Rewrite to avoid
3123         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
3124         Reported by Matthias Bolte.
3125
3126         bootstrap: minor portability fixes
3127         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
3128         (usage): Omit leading capital and trailing . on help phrases, per
3129         GNU Coding Standards.
3130         (check_versions, top level): Prefix messages with script name.
3131
3132 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
3133
3134         bootstrap: support --no-git option
3135         * build-aux/bootstrap: Add --no-git option, to be used when
3136         --gnulib-srcdir points to the exact desired checkout.
3137
3138 2011-01-21  Eric Blake  <eblake@redhat.com>
3139
3140         strerror_r-posix: work with glibc 2.13
3141         * lib/strerror_r.c (strerror_r): Fix return type.
3142
3143 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3144             Bruno Haible  <bruno@clisp.org>
3145
3146         uN_strstr: New unit tests.
3147         * modules/unistr/u8-strstr-tests: New file.
3148         * modules/unistr/u16-strstr-tests: New file.
3149         * modules/unistr/u32-strstr-tests: New file.
3150         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
3151         * tests/unistr/test-u8-strstr.c: New file.
3152         * tests/unistr/test-u16-strstr.c: New file.
3153         * tests/unistr/test-u32-strstr.c: New file.
3154
3155 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3156             Bruno Haible  <bruno@clisp.org>
3157
3158         Make uN_strstr functions O(n) worst-case.
3159         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
3160         16-bit and 32-bit unit cases, use the unibyte algorithm from
3161         lib/mbsstr.c.
3162         * lib/unistr/u8-strstr.c: Include <string.h>.
3163         (UNIT_IS_UINT8_T): New macro.
3164         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
3165         (U_STRLEN, U_STRNLEN): New macros.
3166         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
3167         (U_STRLEN, U_STRNLEN): New macros.
3168         * modules/unistr/u8-strstr (Depends-on): Add strstr.
3169         (configure.ac): Update required libunistring version.
3170         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
3171         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
3172         malloca.
3173         (configure.ac): Update required libunistring version.
3174         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
3175         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
3176         malloca.
3177         (configure.ac): Update required libunistring version.
3178
3179 2011-01-21  Pádraig Brady  <P@draigBrady.com>
3180             Bruno Haible  <bruno@clisp.org>
3181
3182         Prepare for faster uN_strstr functions.
3183         * lib/str-kmp.h: Support definable UNITs.
3184         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
3185         needle_len argument.
3186         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
3187         * lib/mbscasestr.c (mbscasestr): Likewise.
3188
3189 2011-01-21  Pádraig Brady <P@draigBrady.com>
3190
3191         malloca-tests: make faster by unsetting MALLOC_PERTURB_
3192         * tests/test-malloca.c (main): Unset the environment variable
3193         to greatly speed up the test.
3194         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
3195         * modules/malloca-tests: Depend on unsetenv.
3196
3197 2011-01-21  Pádraig Brady <P@draigBrady.com>
3198
3199         ignore-value: remove stdint dependency
3200         * lib/ignore-value.h: Remove <stdint.h>
3201         * modules/ignore-value: Remove stdint dependency.
3202
3203 2011-01-21  Jim Meyering  <meyering@redhat.com>
3204
3205         maint.mk: adjust variable name to be consistent with other gl_ vars
3206         * top/maint.mk (gl_public_submodule_commit): Rename the variable
3207         to be lower case.
3208
3209 2011-01-20  Jim Meyering  <meyering@redhat.com>
3210
3211         maint.mk: make "check" depend on public-submodule-commit by default
3212         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
3213
3214 2011-01-20  Bruno Haible  <bruno@clisp.org>
3215
3216         mbfile, mbiter: Complete change from 2008-12-21.
3217         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
3218         * m4/mbiter.m4 (gl_MBITER): Likewise.
3219
3220 2011-01-20  Jim Meyering  <meyering@redhat.com>
3221
3222         init.sh: insert space between each function name and "()"
3223         * tests/init.sh: Make it a little easier to see that a function's
3224         name is "warn_", and not "warn" when looking at the first part of
3225         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
3226
3227 2011-01-20  Jim Meyering  <meyering@redhat.com>
3228
3229         mountlist: clean up code formatting
3230         * lib/mountlist.c (read_file_system_list): Split a long line,
3231         correct bracing style, use NULL in place of "(struct statfs *)0",
3232         don't parenthesize return value, add spaces around "=" and after
3233         ";-in-for-stmt".
3234
3235 2011-01-14  Markus Duft <mduft@gentoo.org>
3236
3237         mountlist: add support for Interix
3238         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
3239         Apply statvfs to all entries of /dev/fs.
3240         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
3241         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
3242
3243 2011-01-20  Jim Meyering  <meyering@redhat.com>
3244
3245         maint.mk: improve the public-submodule-commit rule
3246         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
3247         to suppress printing of its commands... unless V=1.
3248         Add git submodule's --quiet option to suppress printing of e.g.,
3249         "Entering gnulib" output.
3250         "cd" into $(srcdir) before running git submodule.
3251
3252 2011-01-20  Bruno Haible  <bruno@clisp.org>
3253
3254         include_next: Fix bug introduced on 2011-01-18.
3255         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
3256         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
3257         ac_cv_header_... variable if the second argument is not 'check'.
3258         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
3259         gl_NEXT_HEADERS_INTERNAL.
3260
3261 2011-01-20  Bruno Haible  <bruno@clisp.org>
3262
3263         Allow the user to avoid the GNULIB_TEST_* macros.
3264         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
3265         Suggested by Paul Eggert.
3266
3267 2011-01-14  Jim Meyering  <meyering@redhat.com>
3268
3269         bootstrap: avoid failure when there is no .gitmodules file
3270         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
3271         has been assigned to, even when its value is the empty string.
3272         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
3273         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
3274         Reported by John W. Eaton <jwe@gnu.org>.
3275
3276 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
3277
3278         assume <ctype.h>, ..., <time.h> exist
3279         For years gnulib has been assuming the existence of the headers
3280         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
3281         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
3282         them, since they don't appear to be needed.
3283         * README (Portability guidelines): Document this.
3284         * lib/flock.c: Assume <fcntl.h> exists.
3285         * lib/regex_internal.h: Assume <locale.h> exists.
3286         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
3287         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
3288         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
3289         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
3290         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
3291         * m4/regex.m4 (gl_REGEX): Likewise.
3292         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
3293         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
3294         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
3295         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
3296         * tests/test-argp.c: Likewise.
3297         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
3298
3299         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
3300         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
3301         AA_APPLE_UNIVERSAL_BUILD.  See
3302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
3303         * NEWS: Document this.
3304
3305 2011-01-19  Eric Blake  <eblake@redhat.com>
3306
3307         c-stack: assume stack overflow if SA_SIGINFO unsupported
3308         * lib/c-stack.c (SIGACTION_WORKS): Rename...
3309         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
3310         sigaction will work.
3311         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
3312         behavior match Linux.
3313         * tests/test-c-stack.c (main): Prefer NULL for pointers.
3314
3315         stdbool-tests: accomodate Haiku
3316         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
3317
3318         binary-io: fix O_TEXT on Haiku
3319         * modules/binary-io (Depends-on): Add fcntl-h.
3320         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
3321         than blindly undefining O_TEXT.
3322         Reported by Scott McCreary.
3323
3324 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3325
3326         include_next: do not check for standard headers like stddef.h
3327
3328         I found this problem when modifying Emacs to use gnulib.
3329         I noticed that it added HAVE_STDDEF_H to config.h, even though
3330         gnulib always assumes <stddef.h> exists as per README and this
3331         symbol is unnecessary.
3332         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
3333         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
3334         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
3335         faster for headers like stddef.h that are known to exist.
3336         (gl_CHECK_NEXT_HEADERS): Use it.
3337         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
3338         rather than gl_CHECK_NEXT_HEADERS.
3339         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
3340         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
3341
3342 2011-01-18  Eric Blake  <eblake@redhat.com>
3343
3344         ansi-c++-opt: skip C++ dependency style if C++ is unused
3345         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
3346         tests when we know C++ compilation is not desired.
3347         Reported by Scott McCreary.
3348
3349 2011-01-18  Bruno Haible  <bruno@clisp.org>
3350
3351         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
3352         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
3353         (main): Perform test also when getrlimit and setrlimit don't exist or
3354         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
3355         limiting the address space size using setrlimit, compare the address
3356         space size before and after the the test.
3357         * tests/test-dprintf-posix2.c: Likewise.
3358         * tests/test-fprintf-posix3.sh: Update skip messages.
3359         * tests/test-dprintf-posix2.sh: Likewise.
3360         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
3361         * modules/dprintf-posix-tests (Depends-on): Likewise.
3362         Reported by Bruce Korb <bkorb@gnu.org> and
3363         Gary V. Vaughan <gary@gnu.org>.
3364
3365 2011-01-18  Bruno Haible  <bruno@clisp.org>
3366
3367         get-rusage-as: Improvement for Cygwin.
3368         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
3369         areas that are merely reserved.
3370
3371 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
3372
3373         strftime: remove dependencies on multibyte modules
3374
3375         strftime depended on mbrlen, mbsinit, and wchar, but these modules
3376         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
3377         only if __osf__ is defined, and I suspect OSF doesn't need these
3378         other modules.  If my guess is wrong, we'll need to come up with a
3379         variant of strftime that doesn't need the multibyte modules.
3380
3381         I discovered this problem when attempting modify Emacs to use the
3382         strftime module.  With the previous gnulib, this caused Emacs to
3383         need 31 new files, ranging from lib/config.charset to
3384         m4/wint_t.m4.  This was overkill and I expect would be offputting
3385         to the Emacs maintainers.  After this change, only 6 new files are
3386         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
3387         stdbool.m4, and tm_gmtoff.m4.
3388
3389         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
3390         Suggested by Bruno Haible in
3391         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
3392         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
3393         and do not check for wchar.h.
3394         * modules/strftime (Files): Remove m4/mbstate_t.m4.
3395         (Depends-on): Remove mbrlen, mbsinit, wchar.
3396
3397 2011-01-18  Bruno Haible  <bruno@clisp.org>
3398
3399         Tests for module 'get-rusage-as'.
3400         * modules/get-rusage-as-tests: New file.
3401         * tests/test-get-rusage-as.c: New file.
3402
3403         New module 'get-rusage-as'.
3404         * modules/get-rusage-as: New file.
3405         * lib/resource-ext.h: New file.
3406         * lib/get-rusage-as.c: New file.
3407
3408 2011-01-17  Eric Blake  <eblake@redhat.com>
3409
3410         sigaction: relax license from LGPLv3+ to LGPLv2+
3411         * modules/sigaction (License): Relax to LGPLv2+.
3412
3413 2011-01-14  Bruno Haible  <bruno@clisp.org>
3414
3415         filemode: Make function declarations usable in C++ mode.
3416         * lib/filemode.h: Enclose function declarations in extern "C" block.
3417         Reported by John W. Eaton <jwe@gnu.org>.
3418
3419 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
3420
3421         save-cwd: no longer include "xgetcwd.h"
3422         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
3423         This avoids a compilation failure in projects that use save-cwd
3424         without also using the xgetcwd module.
3425
3426 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3427
3428         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
3429         This is so that a program like Emacs, which needs only dtoastr,
3430         does not have to bother with distributing and compiling ftoastr
3431         and ldtoastr.
3432         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
3433         * modules/dtoastr, modules/ldtoastr: New files.
3434         * modules/ftoastr: Now works just for 'float'.
3435         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
3436         (Makefile.am): Remove ftoastr.h (not needed and no effect),
3437         dtoastr.c, ldtoastr.c.
3438
3439 2011-01-11  Jim Meyering  <meyering@redhat.com>
3440
3441         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
3442         There is no need to work around the lack of the fchdir function,
3443         since gnulib can now provide a replacement when required.
3444         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
3445         * modules/save-cwd (Depends-on): Add fchdir.
3446
3447 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
3448
3449         openat, save-cwd: avoid xmalloc
3450
3451         This removes a direct (but undocumented) dependency of openat on
3452         xalloc, along with an indirect dependency via save-cwd.  It also
3453         removes a dependency of save-cwd on xgetcwd, and thereby
3454         indirectly on xalloc.  This change causes the openat substitute
3455         to fall back on save_cwd when memory is tight, and for save_cwd to
3456         fail instead of dying when memory is tight, but that's good enough.
3457         Problem and initial idea for fix reported by Bastien Roucaries in
3458         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
3459
3460         * lib/openat-proc.c: Include stdlib.h (for malloc), not
3461         xalloc.h (for xmalloc).
3462         (openat_proc_name): Use malloc, not xmalloc.
3463         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
3464         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
3465
3466         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
3467         This avoids heap allocation for file names whose lengths are in
3468         the range 512..1023, with the upper bound increasing to at most
3469         4031 depending on the platform's PATH_MAX.  (We do not want
3470         pathmax.h here as it might supply a non-constant PATH_MAX.)
3471         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
3472         Perhaps they should be moved to malloca.h?
3473         (OPENAT_BUFFER_SIZE): Use them.
3474
3475 2011-01-10  Bruno Haible  <bruno@clisp.org>
3476
3477         doc: Update users.txt.
3478         * users.txt: Add recutils.
3479
3480 2011-01-09  Karl Berry  <karl@gnu.org>
3481
3482         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
3483
3484         * doc/configmake.texi: New file.
3485         * doc/gnulib.texi: Include it.
3486         * modules/configmake: Move documentation from here.
3487
3488 2011-01-09  Bruno Haible  <bruno@clisp.org>
3489
3490         Update to Unicode 6.0.0.
3491         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
3492         (get_lbp): Update for Unicode 6.0.0.
3493         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
3494         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
3495         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
3496         U+11001, U+11038..U+11046. Remove U+06DE.
3497         (uc_width): Fix bounds of planes.
3498         * tests/uniwidth/test-uc_width2.sh: Same updates as in
3499         lib/uniwidth/width.c.
3500         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
3501         trailing whitespace removed.
3502         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
3503         without comments, but with the original copyright notice.
3504         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
3505         * lib/unicase/ignorable.h: Likewise.
3506         * lib/unicase/tocasefold.h: Likewise.
3507         * lib/unicase/tolower.h: Likewise.
3508         * lib/unicase/totitle.h: Likewise.
3509         * lib/unicase/toupper.h: Likewise.
3510         * lib/unictype/bidi_of.h: Likewise.
3511         * lib/unictype/blocks.h: Likewise.
3512         * lib/unictype/categ_C.h: Likewise.
3513         * lib/unictype/categ_Cn.h: Likewise.
3514         * lib/unictype/categ_L.h: Likewise.
3515         * lib/unictype/categ_Ll.h: Likewise.
3516         * lib/unictype/categ_Lm.h: Likewise.
3517         * lib/unictype/categ_Lo.h: Likewise.
3518         * lib/unictype/categ_Lu.h: Likewise.
3519         * lib/unictype/categ_M.h: Likewise.
3520         * lib/unictype/categ_Mc.h: Likewise.
3521         * lib/unictype/categ_Me.h: Likewise.
3522         * lib/unictype/categ_Mn.h: Likewise.
3523         * lib/unictype/categ_N.h: Likewise.
3524         * lib/unictype/categ_Nd.h: Likewise.
3525         * lib/unictype/categ_No.h: Likewise.
3526         * lib/unictype/categ_P.h: Likewise.
3527         * lib/unictype/categ_Po.h: Likewise.
3528         * lib/unictype/categ_S.h: Likewise.
3529         * lib/unictype/categ_Sc.h: Likewise.
3530         * lib/unictype/categ_Sk.h: Likewise.
3531         * lib/unictype/categ_Sm.h: Likewise.
3532         * lib/unictype/categ_So.h: Likewise.
3533         * lib/unictype/categ_of.h: Likewise.
3534         * lib/unictype/combining.h: Likewise.
3535         * lib/unictype/ctype_alnum.h: Likewise.
3536         * lib/unictype/ctype_alpha.h: Likewise.
3537         * lib/unictype/ctype_graph.h: Likewise.
3538         * lib/unictype/ctype_lower.h: Likewise.
3539         * lib/unictype/ctype_print.h: Likewise.
3540         * lib/unictype/ctype_punct.h: Likewise.
3541         * lib/unictype/ctype_upper.h: Likewise.
3542         * lib/unictype/decdigit.h: Likewise.
3543         * lib/unictype/digit.h: Likewise.
3544         * lib/unictype/numeric.h: Likewise.
3545         * lib/unictype/pr_alphabetic.h: Likewise.
3546         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3547         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
3548         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
3549         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3550         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3551         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3552         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3553         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3554         * lib/unictype/pr_case_ignorable.h: Likewise.
3555         * lib/unictype/pr_cased.h: Likewise.
3556         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
3557         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
3558         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
3559         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
3560         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
3561         * lib/unictype/pr_combining.h: Likewise.
3562         * lib/unictype/pr_composite.h: Likewise.
3563         * lib/unictype/pr_currency_symbol.h: Likewise.
3564         * lib/unictype/pr_decimal_digit.h: Likewise.
3565         * lib/unictype/pr_deprecated.h: Likewise.
3566         * lib/unictype/pr_format_control.h: Likewise.
3567         * lib/unictype/pr_grapheme_base.h: Likewise.
3568         * lib/unictype/pr_grapheme_extend.h: Likewise.
3569         * lib/unictype/pr_grapheme_link.h: Likewise.
3570         * lib/unictype/pr_id_continue.h: Likewise.
3571         * lib/unictype/pr_id_start.h: Likewise.
3572         * lib/unictype/pr_ideographic.h: Likewise.
3573         * lib/unictype/pr_lowercase.h: Likewise.
3574         * lib/unictype/pr_math.h: Likewise.
3575         * lib/unictype/pr_numeric.h: Likewise.
3576         * lib/unictype/pr_other_alphabetic.h: Likewise.
3577         * lib/unictype/pr_other_id_continue.h: Likewise.
3578         * lib/unictype/pr_other_math.h: Likewise.
3579         * lib/unictype/pr_punctuation.h: Likewise.
3580         * lib/unictype/pr_sentence_terminal.h: Likewise.
3581         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3582         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3583         * lib/unictype/pr_unified_ideograph.h: Likewise.
3584         * lib/unictype/pr_uppercase.h: Likewise.
3585         * lib/unictype/pr_xid_continue.h: Likewise.
3586         * lib/unictype/pr_xid_start.h: Likewise.
3587         * lib/unictype/scripts.h: Likewise.
3588         * lib/unictype/scripts_byname.gperf: Likewise.
3589         * lib/unictype/sy_java_ident.h: Likewise.
3590         * lib/unigbrk/gbrkprop.h: Likewise.
3591         * lib/unilbrk/lbrkprop1.h: Likewise.
3592         * lib/unilbrk/lbrkprop2.h: Likewise.
3593         * lib/uninorm/decomposition-table2.h: Likewise.
3594         * lib/uniwbrk/wbrkprop.h: Likewise.
3595         * tests/unicase/test-cased.c: Likewise.
3596         * tests/unicase/test-ignorable.c: Likewise.
3597         * tests/unicase/test-uc_tolower.c: Likewise.
3598         * tests/unicase/test-uc_totitle.c: Likewise.
3599         * tests/unicase/test-uc_toupper.c: Likewise.
3600         * tests/unictype/test-categ_C.c: Likewise.
3601         * tests/unictype/test-categ_Cn.c: Likewise.
3602         * tests/unictype/test-categ_L.c: Likewise.
3603         * tests/unictype/test-categ_Ll.c: Likewise.
3604         * tests/unictype/test-categ_Lm.c: Likewise.
3605         * tests/unictype/test-categ_Lo.c: Likewise.
3606         * tests/unictype/test-categ_Lu.c: Likewise.
3607         * tests/unictype/test-categ_M.c: Likewise.
3608         * tests/unictype/test-categ_Mc.c: Likewise.
3609         * tests/unictype/test-categ_Me.c: Likewise.
3610         * tests/unictype/test-categ_Mn.c: Likewise.
3611         * tests/unictype/test-categ_N.c: Likewise.
3612         * tests/unictype/test-categ_Nd.c: Likewise.
3613         * tests/unictype/test-categ_No.c: Likewise.
3614         * tests/unictype/test-categ_P.c: Likewise.
3615         * tests/unictype/test-categ_Po.c: Likewise.
3616         * tests/unictype/test-categ_S.c: Likewise.
3617         * tests/unictype/test-categ_Sc.c: Likewise.
3618         * tests/unictype/test-categ_Sk.c: Likewise.
3619         * tests/unictype/test-categ_Sm.c: Likewise.
3620         * tests/unictype/test-categ_So.c: Likewise.
3621         * tests/unictype/test-ctype_alnum.c: Likewise.
3622         * tests/unictype/test-ctype_alpha.c: Likewise.
3623         * tests/unictype/test-ctype_graph.c: Likewise.
3624         * tests/unictype/test-ctype_lower.c: Likewise.
3625         * tests/unictype/test-ctype_print.c: Likewise.
3626         * tests/unictype/test-ctype_punct.c: Likewise.
3627         * tests/unictype/test-ctype_upper.c: Likewise.
3628         * tests/unictype/test-decdigit.h: Likewise.
3629         * tests/unictype/test-digit.h: Likewise.
3630         * tests/unictype/test-numeric.h: Likewise.
3631         * tests/unictype/test-pr_alphabetic.c: Likewise.
3632         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
3633         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
3634         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
3635         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
3636         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
3637         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
3638         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
3639         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
3640         * tests/unictype/test-pr_case_ignorable.c: Likewise.
3641         * tests/unictype/test-pr_cased.c: Likewise.
3642         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
3643         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
3644         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
3645         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
3646         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
3647         * tests/unictype/test-pr_combining.c: Likewise.
3648         * tests/unictype/test-pr_composite.c: Likewise.
3649         * tests/unictype/test-pr_currency_symbol.c: Likewise.
3650         * tests/unictype/test-pr_decimal_digit.c: Likewise.
3651         * tests/unictype/test-pr_deprecated.c: Likewise.
3652         * tests/unictype/test-pr_format_control.c: Likewise.
3653         * tests/unictype/test-pr_grapheme_base.c: Likewise.
3654         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
3655         * tests/unictype/test-pr_grapheme_link.c: Likewise.
3656         * tests/unictype/test-pr_id_continue.c: Likewise.
3657         * tests/unictype/test-pr_id_start.c: Likewise.
3658         * tests/unictype/test-pr_ideographic.c: Likewise.
3659         * tests/unictype/test-pr_lowercase.c: Likewise.
3660         * tests/unictype/test-pr_math.c: Likewise.
3661         * tests/unictype/test-pr_numeric.c: Likewise.
3662         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
3663         * tests/unictype/test-pr_other_id_continue.c: Likewise.
3664         * tests/unictype/test-pr_other_math.c: Likewise.
3665         * tests/unictype/test-pr_punctuation.c: Likewise.
3666         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
3667         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
3668         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
3669         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
3670         * tests/unictype/test-pr_uppercase.c: Likewise.
3671         * tests/unictype/test-pr_xid_continue.c: Likewise.
3672         * tests/unictype/test-pr_xid_start.c: Likewise.
3673         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
3674         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
3675         changes.
3676         * lib/unictype/categ_Cc.h: Likewise.
3677         * lib/unictype/categ_Cf.h: Likewise.
3678         * lib/unictype/categ_Co.h: Likewise.
3679         * lib/unictype/categ_Cs.h: Likewise.
3680         * lib/unictype/categ_Lt.h: Likewise.
3681         * lib/unictype/categ_Nl.h: Likewise.
3682         * lib/unictype/categ_Pc.h: Likewise.
3683         * lib/unictype/categ_Pd.h: Likewise.
3684         * lib/unictype/categ_Pe.h: Likewise.
3685         * lib/unictype/categ_Pf.h: Likewise.
3686         * lib/unictype/categ_Pi.h: Likewise.
3687         * lib/unictype/categ_Ps.h: Likewise.
3688         * lib/unictype/categ_Z.h: Likewise.
3689         * lib/unictype/categ_Zl.h: Likewise.
3690         * lib/unictype/categ_Zp.h: Likewise.
3691         * lib/unictype/categ_Zs.h: Likewise.
3692         * lib/unictype/ctype_blank.h: Likewise.
3693         * lib/unictype/ctype_cntrl.h: Likewise.
3694         * lib/unictype/ctype_digit.h: Likewise.
3695         * lib/unictype/ctype_space.h: Likewise.
3696         * lib/unictype/ctype_xdigit.h: Likewise.
3697         * lib/unictype/mirror.h: Likewise.
3698         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
3699         * lib/unictype/pr_bidi_block_separator.h: Likewise.
3700         * lib/unictype/pr_bidi_common_separator.h: Likewise.
3701         * lib/unictype/pr_bidi_control.h: Likewise.
3702         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
3703         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
3704         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3705         * lib/unictype/pr_bidi_pdf.h: Likewise.
3706         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
3707         * lib/unictype/pr_bidi_whitespace.h: Likewise.
3708         * lib/unictype/pr_dash.h: Likewise.
3709         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
3710         * lib/unictype/pr_diacritic.h: Likewise.
3711         * lib/unictype/pr_extender.h: Likewise.
3712         * lib/unictype/pr_hex_digit.h: Likewise.
3713         * lib/unictype/pr_hyphen.h: Likewise.
3714         * lib/unictype/pr_ids_binary_operator.h: Likewise.
3715         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
3716         * lib/unictype/pr_ignorable_control.h: Likewise.
3717         * lib/unictype/pr_iso_control.h: Likewise.
3718         * lib/unictype/pr_join_control.h: Likewise.
3719         * lib/unictype/pr_left_of_pair.h: Likewise.
3720         * lib/unictype/pr_line_separator.h: Likewise.
3721         * lib/unictype/pr_logical_order_exception.h: Likewise.
3722         * lib/unictype/pr_non_break.h: Likewise.
3723         * lib/unictype/pr_not_a_character.h: Likewise.
3724         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
3725         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
3726         * lib/unictype/pr_other_id_start.h: Likewise.
3727         * lib/unictype/pr_other_lowercase.h: Likewise.
3728         * lib/unictype/pr_other_uppercase.h: Likewise.
3729         * lib/unictype/pr_paired_punctuation.h: Likewise.
3730         * lib/unictype/pr_paragraph_separator.h: Likewise.
3731         * lib/unictype/pr_pattern_syntax.h: Likewise.
3732         * lib/unictype/pr_pattern_white_space.h: Likewise.
3733         * lib/unictype/pr_private_use.h: Likewise.
3734         * lib/unictype/pr_quotation_mark.h: Likewise.
3735         * lib/unictype/pr_radical.h: Likewise.
3736         * lib/unictype/pr_soft_dotted.h: Likewise.
3737         * lib/unictype/pr_space.h: Likewise.
3738         * lib/unictype/pr_titlecase.h: Likewise.
3739         * lib/unictype/pr_variation_selector.h: Likewise.
3740         * lib/unictype/pr_white_space.h: Likewise.
3741         * lib/unictype/pr_zero_width.h: Likewise.
3742         * lib/unictype/sy_c_ident.h: Likewise.
3743         * lib/unictype/sy_c_whitespace.h: Likewise.
3744         * lib/unictype/sy_java_whitespace.h: Likewise.
3745         * lib/uninorm/composition-table.gperf: Likewise.
3746         * lib/uninorm/decomposition-table1.h: Likewise.
3747         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
3748         LB8.
3749         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
3750         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
3751         * modules/unictype/*: Bump version number of expected libunistring
3752         version.
3753
3754 2011-01-09  Bruno Haible  <bruno@clisp.org>
3755
3756         Update to Unicode 5.2.0.
3757         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
3758         trailing whitespace removed.
3759
3760 2011-01-09  Bruno Haible  <bruno@clisp.org>
3761
3762         New Unicode character properties, from Unicode 5.2.0.
3763         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
3764         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
3765         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
3766         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
3767         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
3768         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
3769         uc_is_property_cased, uc_is_property_case_ignorable,
3770         uc_is_property_changes_when_lowercased,
3771         uc_is_property_changes_when_uppercased,
3772         uc_is_property_changes_when_titlecased,
3773         uc_is_property_changes_when_casefolded,
3774         uc_is_property_changes_when_casemapped): New declarations.
3775         * lib/unictype/pr_byname.gperf: Add the new properties.
3776         * modules/unictype/property-byname (Depends-on): Depend on the new
3777         properties modules.
3778         * modules/unictype/property-all (Depends-on): Likewise.
3779         * MODULES.html.sh (Unicode string functions): Add
3780         unictype/property-case-ignorable, unictype/property-cased,
3781         unictype/property-changes-when-casefolded,
3782         unictype/property-changes-when-casemapped,
3783         unictype/property-changes-when-lowercased,
3784         unictype/property-changes-when-titlecased,
3785         unictype/property-changes-when-uppercased.
3786
3787         New module 'unictype/property-changes-when-casemapped'.
3788         * modules/unictype/property-changes-when-casemapped: New file.
3789         * lib/unictype/pr_changes_when_casemapped.c: New file.
3790         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
3791         generated by gen-uni-tables.
3792         * modules/unictype/property-changes-when-casemapped-tests: New file.
3793         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
3794         automatically generated by gen-uni-tables.
3795
3796         New module 'unictype/property-changes-when-casefolded'.
3797         * modules/unictype/property-changes-when-casefolded: New file.
3798         * lib/unictype/pr_changes_when_casefolded.c: New file.
3799         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
3800         generated by gen-uni-tables.
3801         * modules/unictype/property-changes-when-casefolded-tests: New file.
3802         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
3803         automatically generated by gen-uni-tables.
3804
3805         New module 'unictype/property-changes-when-titlecased'.
3806         * modules/unictype/property-changes-when-titlecased: New file.
3807         * lib/unictype/pr_changes_when_titlecased.c: New file.
3808         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
3809         generated by gen-uni-tables.
3810         * modules/unictype/property-changes-when-titlecased-tests: New file.
3811         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
3812         automatically generated by gen-uni-tables.
3813
3814         New module 'unictype/property-changes-when-uppercased'.
3815         * modules/unictype/property-changes-when-uppercased: New file.
3816         * lib/unictype/pr_changes_when_uppercased.c: New file.
3817         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
3818         generated by gen-uni-tables.
3819         * modules/unictype/property-changes-when-uppercased-tests: New file.
3820         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
3821         automatically generated by gen-uni-tables.
3822
3823         New module 'unictype/property-changes-when-lowercased'.
3824         * modules/unictype/property-changes-when-lowercased: New file.
3825         * lib/unictype/pr_changes_when_lowercased.c: New file.
3826         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
3827         generated by gen-uni-tables.
3828         * modules/unictype/property-changes-when-lowercased-tests: New file.
3829         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
3830         automatically generated by gen-uni-tables.
3831
3832         New module 'unictype/property-case-ignorable'.
3833         * modules/unictype/property-case-ignorable: New file.
3834         * lib/unictype/pr_case_ignorable.c: New file.
3835         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
3836         by gen-uni-tables.
3837         * modules/unictype/property-case-ignorable-tests: New file.
3838         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
3839         generated by gen-uni-tables.
3840
3841         New module 'unictype/property-cased'.
3842         * modules/unictype/property-cased: New file.
3843         * lib/unictype/pr_cased.c: New file.
3844         * lib/unictype/pr_cased.h: New file, automatically generated by
3845         gen-uni-tables.
3846         * modules/unictype/property-cased-tests: New file.
3847         * tests/unictype/test-pr_cased.c: New file, automatically generated by
3848         gen-uni-tables.
3849
3850 2011-01-09  Bruno Haible  <bruno@clisp.org>
3851
3852         Update to Unicode 5.2.0.
3853         * lib/gen-uni-tables.c (output_predicate, output_category,
3854         output_combclass, output_bidi_category, output_decimal_digit_test,
3855         output_decimal_digit, output_digit_test, output_digit,
3856         output_numeric_test, output_numeric, output_mirror, output_scripts,
3857         output_scripts_byname, output_blocks, output_ident_category): Fix
3858         comment header.
3859         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
3860         get_wbp.
3861         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
3862         items.
3863         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
3864         Changes_When_Lowercased, Changes_When_Uppercased,
3865         Changes_When_Titlecased, Changes_When_Casefolded,
3866         Changes_When_Casemapped.
3867         (is_property_alphabetic, is_property_default_ignorable_code_point):
3868         Update for Unicode 5.2.0.
3869         (is_property_cased, is_property_case_ignorable,
3870         is_property_changes_when_lowercased,
3871         is_property_changes_when_uppercased,
3872         is_property_changes_when_titlecased,
3873         is_property_changes_when_casefolded,
3874         is_property_changes_when_casemapped): New functions.
3875         (output_properties): Output also the properties cased, case_ignorable,
3876         changes_when_lowercased, changes_when_uppercased,
3877         changes_when_titlecased, changes_when_casefolded,
3878         changes_when_casemapped.
3879         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
3880         Unicode TR#11 revision 17 -> 19.
3881         (LBP_CP): New enumeration value.
3882         (LBP_*): Adjust values accordingly.
3883         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3884         TR#14 revision 22 -> 24.
3885         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
3886         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
3887         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
3888         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
3889         is_WBP_MIDLETTER.
3890         (output_composition_tables): Allow for 24 bits instead of 16 bits in
3891         the code1 and code2 of each composition rule.
3892         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
3893         * lib/unicase/ignorable.h: Likewise.
3894         * lib/unicase/tocasefold.h: Likewise.
3895         * lib/unicase/tolower.h: Likewise.
3896         * lib/unicase/totitle.h: Likewise.
3897         * lib/unicase/toupper.h: Likewise.
3898         * lib/unictype/bidi_of.h: Likewise.
3899         * lib/unictype/blocks.h: Likewise.
3900         * lib/unictype/categ_C.h: Likewise.
3901         * lib/unictype/categ_Cf.h: Likewise.
3902         * lib/unictype/categ_Cn.h: Likewise.
3903         * lib/unictype/categ_L.h: Likewise.
3904         * lib/unictype/categ_Ll.h: Likewise.
3905         * lib/unictype/categ_Lm.h: Likewise.
3906         * lib/unictype/categ_Lo.h: Likewise.
3907         * lib/unictype/categ_Lu.h: Likewise.
3908         * lib/unictype/categ_M.h: Likewise.
3909         * lib/unictype/categ_Mc.h: Likewise.
3910         * lib/unictype/categ_Mn.h: Likewise.
3911         * lib/unictype/categ_N.h: Likewise.
3912         * lib/unictype/categ_Nd.h: Likewise.
3913         * lib/unictype/categ_Nl.h: Likewise.
3914         * lib/unictype/categ_No.h: Likewise.
3915         * lib/unictype/categ_P.h: Likewise.
3916         * lib/unictype/categ_Pd.h: Likewise.
3917         * lib/unictype/categ_Po.h: Likewise.
3918         * lib/unictype/categ_S.h: Likewise.
3919         * lib/unictype/categ_Sc.h: Likewise.
3920         * lib/unictype/categ_So.h: Likewise.
3921         * lib/unictype/categ_of.h: Likewise.
3922         * lib/unictype/combining.h: Likewise.
3923         * lib/unictype/ctype_alnum.h: Likewise.
3924         * lib/unictype/ctype_alpha.h: Likewise.
3925         * lib/unictype/ctype_graph.h: Likewise.
3926         * lib/unictype/ctype_lower.h: Likewise.
3927         * lib/unictype/ctype_print.h: Likewise.
3928         * lib/unictype/ctype_punct.h: Likewise.
3929         * lib/unictype/ctype_upper.h: Likewise.
3930         * lib/unictype/decdigit.h: Likewise.
3931         * lib/unictype/digit.h: Likewise.
3932         * lib/unictype/numeric.h: Likewise.
3933         * lib/unictype/pr_alphabetic.h: Likewise.
3934         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
3935         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
3936         * lib/unictype/pr_bidi_european_digit.h: Likewise.
3937         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
3938         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
3939         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
3940         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
3941         * lib/unictype/pr_combining.h: Likewise.
3942         * lib/unictype/pr_composite.h: Likewise.
3943         * lib/unictype/pr_currency_symbol.h: Likewise.
3944         * lib/unictype/pr_dash.h: Likewise.
3945         * lib/unictype/pr_decimal_digit.h: Likewise.
3946         * lib/unictype/pr_deprecated.h: Likewise.
3947         * lib/unictype/pr_diacritic.h: Likewise.
3948         * lib/unictype/pr_extender.h: Likewise.
3949         * lib/unictype/pr_grapheme_base.h: Likewise.
3950         * lib/unictype/pr_grapheme_extend.h: Likewise.
3951         * lib/unictype/pr_grapheme_link.h: Likewise.
3952         * lib/unictype/pr_id_continue.h: Likewise.
3953         * lib/unictype/pr_id_start.h: Likewise.
3954         * lib/unictype/pr_ideographic.h: Likewise.
3955         * lib/unictype/pr_ignorable_control.h: Likewise.
3956         * lib/unictype/pr_logical_order_exception.h: Likewise.
3957         * lib/unictype/pr_lowercase.h: Likewise.
3958         * lib/unictype/pr_numeric.h: Likewise.
3959         * lib/unictype/pr_other_alphabetic.h: Likewise.
3960         * lib/unictype/pr_punctuation.h: Likewise.
3961         * lib/unictype/pr_sentence_terminal.h: Likewise.
3962         * lib/unictype/pr_terminal_punctuation.h: Likewise.
3963         * lib/unictype/pr_unassigned_code_value.h: Likewise.
3964         * lib/unictype/pr_unified_ideograph.h: Likewise.
3965         * lib/unictype/pr_uppercase.h: Likewise.
3966         * lib/unictype/pr_xid_continue.h: Likewise.
3967         * lib/unictype/pr_xid_start.h: Likewise.
3968         * lib/unictype/pr_zero_width.h: Likewise.
3969         * lib/unictype/scripts.h: Likewise.
3970         * lib/unictype/scripts_byname.gperf: Likewise.
3971         * lib/unictype/sy_java_ident.h: Likewise.
3972         * lib/unigbrk/gbrkprop.h: Likewise.
3973         * lib/unilbrk/lbrkprop1.h: Likewise.
3974         * lib/unilbrk/lbrkprop2.h: Likewise.
3975         * lib/unilbrk/lbrktables.h: Likewise.
3976         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
3977         LBP_CP. Implement rule LB30.
3978         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
3979         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
3980         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
3981         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
3982         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
3983         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
3984         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
3985         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
3986         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
3987         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
3988         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
3989         bits instead of 16 bits in the code1 and code2 of each composition
3990         rule.
3991         (uc_composition): Update for Unicode 5.2.0.
3992         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
3993         * lib/uninorm/decomposition-table2.h: Likewise.
3994         * lib/uniwbrk/wbrkprop.h: Likewise.
3995         * tests/unicase/test-cased.c: Likewise.
3996         * tests/unicase/test-ignorable.c: Likewise.
3997         * tests/unicase/test-uc_tolower.c: Likewise.
3998         * tests/unicase/test-uc_totitle.c: Likewise.
3999         * tests/unicase/test-uc_toupper.c: Likewise.
4000         * tests/unictype/test-categ_C.c: Likewise.
4001         * tests/unictype/test-categ_Cf.c: Likewise.
4002         * tests/unictype/test-categ_Cn.c: Likewise.
4003         * tests/unictype/test-categ_L.c: Likewise.
4004         * tests/unictype/test-categ_Ll.c: Likewise.
4005         * tests/unictype/test-categ_Lm.c: Likewise.
4006         * tests/unictype/test-categ_Lo.c: Likewise.
4007         * tests/unictype/test-categ_Lu.c: Likewise.
4008         * tests/unictype/test-categ_M.c: Likewise.
4009         * tests/unictype/test-categ_Mc.c: Likewise.
4010         * tests/unictype/test-categ_Mn.c: Likewise.
4011         * tests/unictype/test-categ_N.c: Likewise.
4012         * tests/unictype/test-categ_Nd.c: Likewise.
4013         * tests/unictype/test-categ_Nl.c: Likewise.
4014         * tests/unictype/test-categ_No.c: Likewise.
4015         * tests/unictype/test-categ_P.c: Likewise.
4016         * tests/unictype/test-categ_Pd.c: Likewise.
4017         * tests/unictype/test-categ_Po.c: Likewise.
4018         * tests/unictype/test-categ_S.c: Likewise.
4019         * tests/unictype/test-categ_Sc.c: Likewise.
4020         * tests/unictype/test-categ_So.c: Likewise.
4021         * tests/unictype/test-ctype_alnum.c: Likewise.
4022         * tests/unictype/test-ctype_alpha.c: Likewise.
4023         * tests/unictype/test-ctype_graph.c: Likewise.
4024         * tests/unictype/test-ctype_lower.c: Likewise.
4025         * tests/unictype/test-ctype_print.c: Likewise.
4026         * tests/unictype/test-ctype_punct.c: Likewise.
4027         * tests/unictype/test-ctype_upper.c: Likewise.
4028         * tests/unictype/test-decdigit.h: Likewise.
4029         * tests/unictype/test-digit.h: Likewise.
4030         * tests/unictype/test-numeric.h: Likewise.
4031         * tests/unictype/test-pr_alphabetic.c: Likewise.
4032         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4033         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4034         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
4035         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4036         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4037         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4038         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4039         * tests/unictype/test-pr_combining.c: Likewise.
4040         * tests/unictype/test-pr_composite.c: Likewise.
4041         * tests/unictype/test-pr_currency_symbol.c: Likewise.
4042         * tests/unictype/test-pr_dash.c: Likewise.
4043         * tests/unictype/test-pr_decimal_digit.c: Likewise.
4044         * tests/unictype/test-pr_deprecated.c: Likewise.
4045         * tests/unictype/test-pr_diacritic.c: Likewise.
4046         * tests/unictype/test-pr_extender.c: Likewise.
4047         * tests/unictype/test-pr_grapheme_base.c: Likewise.
4048         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
4049         * tests/unictype/test-pr_grapheme_link.c: Likewise.
4050         * tests/unictype/test-pr_id_continue.c: Likewise.
4051         * tests/unictype/test-pr_id_start.c: Likewise.
4052         * tests/unictype/test-pr_ideographic.c: Likewise.
4053         * tests/unictype/test-pr_ignorable_control.c: Likewise.
4054         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
4055         * tests/unictype/test-pr_lowercase.c: Likewise.
4056         * tests/unictype/test-pr_numeric.c: Likewise.
4057         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
4058         * tests/unictype/test-pr_punctuation.c: Likewise.
4059         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
4060         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
4061         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
4062         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
4063         * tests/unictype/test-pr_uppercase.c: Likewise.
4064         * tests/unictype/test-pr_xid_continue.c: Likewise.
4065         * tests/unictype/test-pr_xid_start.c: Likewise.
4066         * tests/unictype/test-pr_zero_width.c: Likewise.
4067         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
4068         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
4069         changed behaviour: line breaking is now disallowed between a letter
4070         or '=' and '('.
4071         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
4072         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
4073         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
4074         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
4075         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4076         lib/uniwidth/width.c.
4077         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
4078         without comments, but with the original copyright notice.
4079         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
4080         changes.
4081         * lib/unictype/categ_Cc.h: Likewise.
4082         * lib/unictype/categ_Co.h: Likewise.
4083         * lib/unictype/categ_Cs.h: Likewise.
4084         * lib/unictype/categ_Lt.h: Likewise.
4085         * lib/unictype/categ_Me.h: Likewise.
4086         * lib/unictype/categ_Pc.h: Likewise.
4087         * lib/unictype/categ_Pe.h: Likewise.
4088         * lib/unictype/categ_Pf.h: Likewise.
4089         * lib/unictype/categ_Pi.h: Likewise.
4090         * lib/unictype/categ_Ps.h: Likewise.
4091         * lib/unictype/categ_Sk.h: Likewise.
4092         * lib/unictype/categ_Sm.h: Likewise.
4093         * lib/unictype/categ_Z.h: Likewise.
4094         * lib/unictype/categ_Zl.h: Likewise.
4095         * lib/unictype/categ_Zp.h: Likewise.
4096         * lib/unictype/categ_Zs.h: Likewise.
4097         * lib/unictype/ctype_blank.h: Likewise.
4098         * lib/unictype/ctype_cntrl.h: Likewise.
4099         * lib/unictype/ctype_digit.h: Likewise.
4100         * lib/unictype/ctype_space.h: Likewise.
4101         * lib/unictype/ctype_xdigit.h: Likewise.
4102         * lib/unictype/mirror.h: Likewise.
4103         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
4104         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4105         * lib/unictype/pr_bidi_block_separator.h: Likewise.
4106         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4107         * lib/unictype/pr_bidi_common_separator.h: Likewise.
4108         * lib/unictype/pr_bidi_control.h: Likewise.
4109         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
4110         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
4111         * lib/unictype/pr_bidi_pdf.h: Likewise.
4112         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
4113         * lib/unictype/pr_bidi_whitespace.h: Likewise.
4114         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
4115         * lib/unictype/pr_format_control.h: Likewise.
4116         * lib/unictype/pr_hex_digit.h: Likewise.
4117         * lib/unictype/pr_hyphen.h: Likewise.
4118         * lib/unictype/pr_ids_binary_operator.h: Likewise.
4119         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
4120         * lib/unictype/pr_iso_control.h: Likewise.
4121         * lib/unictype/pr_join_control.h: Likewise.
4122         * lib/unictype/pr_left_of_pair.h: Likewise.
4123         * lib/unictype/pr_line_separator.h: Likewise.
4124         * lib/unictype/pr_math.h: Likewise.
4125         * lib/unictype/pr_non_break.h: Likewise.
4126         * lib/unictype/pr_not_a_character.h: Likewise.
4127         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
4128         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
4129         * lib/unictype/pr_other_id_continue.h: Likewise.
4130         * lib/unictype/pr_other_id_start.h: Likewise.
4131         * lib/unictype/pr_other_lowercase.h: Likewise.
4132         * lib/unictype/pr_other_math.h: Likewise.
4133         * lib/unictype/pr_other_uppercase.h: Likewise.
4134         * lib/unictype/pr_paired_punctuation.h: Likewise.
4135         * lib/unictype/pr_paragraph_separator.h: Likewise.
4136         * lib/unictype/pr_pattern_syntax.h: Likewise.
4137         * lib/unictype/pr_pattern_white_space.h: Likewise.
4138         * lib/unictype/pr_private_use.h: Likewise.
4139         * lib/unictype/pr_quotation_mark.h: Likewise.
4140         * lib/unictype/pr_radical.h: Likewise.
4141         * lib/unictype/pr_soft_dotted.h: Likewise.
4142         * lib/unictype/pr_space.h: Likewise.
4143         * lib/unictype/pr_titlecase.h: Likewise.
4144         * lib/unictype/pr_variation_selector.h: Likewise.
4145         * lib/unictype/pr_white_space.h: Likewise.
4146         * lib/unictype/sy_c_ident.h: Likewise.
4147         * lib/unictype/sy_c_whitespace.h: Likewise.
4148         * lib/unictype/sy_java_whitespace.h: Likewise.
4149         * modules/uni*/*: Bump version number of expected libunistring version.
4150         Reported by Simon Josefsson.
4151
4152 2011-01-09  Karl Heuer  <kwzh@gnu.org>
4153
4154         useless-if-before-free: fix typo in --help and make the internal,
4155         automatic version date update process work once again.
4156         --help output contained a NUL character instead of the
4157         backslash-zero that was intended.  Also, the "must lie within
4158         the first 8 lines" line is on line 9, and hence not getting
4159         automatically updated.
4160         * build-aux/useless-if-before-free: Fix the former by adding a
4161         backslash, and the latter by condensing the three lines of what-it-does
4162         to a single line, leaving one line of slack for the future.
4163
4164 2011-01-09  Bruno Haible  <bruno@clisp.org>
4165
4166         uniwidth/width: Fix width of U+1D173..U+1D17A.
4167         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
4168         symbolic_width, output_width_property_test): New functions.
4169         (main): Invoke output_nonspacing_property, output_width_property_test.
4170         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
4171         U+1D173..U+1D17A.
4172         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
4173         1.
4174         * modules/uniwidth/*: Bump version number of expected libunistring
4175         version.
4176         * modules/unilbrk/*: Likewise.
4177
4178 2011-01-08  Bruno Haible  <bruno@clisp.org>
4179
4180         uninorm tests: Preserve copyright of Unicode data file.
4181         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
4182         Mention modifications.
4183
4184 2011-01-08  Bruno Haible  <bruno@clisp.org>
4185
4186         gen-uni-tables: Prepare for Unicode 5.2.0.
4187         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
4188         (debug_output_lbp, output_lbp): Update.
4189
4190 2011-01-08  Bruno Haible  <bruno@clisp.org>
4191
4192         unilbrk: Clarify gen-uni-tables.c code.
4193         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
4194         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
4195         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
4196
4197 2011-01-07  Bruno Haible  <bruno@clisp.org>
4198
4199         strtod: Restore errno when successfully parsing Infinity or NaN.
4200         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
4201         restore the original errno.
4202
4203 2011-01-07  Bruno Haible  <bruno@clisp.org>
4204
4205         remove test: Avoid failure on HP-UX 11.
4206         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
4207
4208 2011-01-07  Bruno Haible  <bruno@clisp.org>
4209
4210         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4211         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
4212         error code.
4213
4214 2011-01-07  Pádraig Brady <P@draigBrady.com>
4215
4216         ignore-value: fixup comments, and add Eric Blake
4217         as an author since he rewrote the macros.
4218         * lib/ignore-value.h (ignore_value):  State that
4219         we now support aggregates.  Also specify exactly
4220         when the GCC warn_unused_result feature was added.
4221
4222 2011-01-06  Eric Blake  <eblake@redhat.com>
4223
4224         ignore-value: support aggregate types
4225         * lib/ignore-value.h (ignore_value): Provide separate gcc
4226         definition.
4227         * modules/ignore-value-tests: New test module.
4228         * tests/test-ignore-value.c: New test.
4229
4230         maint.mk: improve sc_prohibit_strcmp regex
4231         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
4232         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
4233         definition of STRNEQ.
4234
4235         signal: work around Haiku issue with SIGBUS
4236         * lib/siglist.h: Add comment.
4237         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
4238         strsignal's favoring of SIGSEGV.
4239         * tests/test-signal.c (main): Avoid test failure.
4240         * doc/posix-headers/signal.texi (signal.h): Document the issue.
4241         Reported by Scott McCreary.
4242
4243         maint.mk: add pre-release check to ensure submodule commits are public
4244         * top/maint.mk (public-submodule-commit): New rule.
4245         (submodule-checks): New variable.
4246         (alpha beta stable): Depend on the variable.
4247
4248 2011-01-05  Pádraig Brady <P@draigBrady.com>
4249         and Jim Meyering  <meyering@redhat.com>
4250
4251         ignore-value: make ignore_value more generic; deprecate ignore_ptr
4252         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
4253         (ATTRIBUTE_DEPRECATED): Define.
4254         (_ignore_case): New function.
4255         (ignore_value): New macro, to replace the old function.
4256         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
4257         * modules/ignore-value (Depends-on): Add stdint.
4258
4259 2011-01-04  Eric Blake  <eblake@redhat.com>
4260
4261         doc: regenerate INSTALL
4262         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
4263         @firstparagraphindent support, now that autoconf dropped it.
4264         (INSTALL_PRELUDE): Reinstate old macro.
4265         * doc/install.texi: Resync from autoconf.
4266         * doc/INSTALL: Reflect recent autoconf update.
4267         * doc/INSTALL.ISO: Likewise.
4268         * doc/INSTALL.UTF-8: Likewise.
4269         Reported by Karl Berry.
4270
4271 2011-01-04  Bruce Korb  <address@hidden>
4272
4273         git-version-gen: avoid a sub-shell
4274         * build-aux/git-version-gen: Redirect stderr in `...` via
4275         "exec 2>...", rather than via an added sub-shell.
4276
4277 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
4278
4279         git-version-gen: use (...) rather than sh -c '...'
4280         * build-aux/git-version-gen: Rather than hard-coding a shell's name
4281         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
4282
4283 2011-01-03  Jim Meyering  <meyering@redhat.com>
4284
4285         git-version-gen: convert leading TABs to spaces
4286         * build-aux/git-version-gen: Expand leading TABs.
4287
4288         git-version-gen: handle failed "git rev-list"
4289         * build-aux/git-version-gen: Rather than leaking a "fatal" error
4290         from git and proceeding as if it had succeeded but printed no SHA1
4291         checksums, suppress the diagnostic and handle the failure.
4292         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
4293
4294         git-version-gen: include command name in one more diagnostic
4295         * build-aux/git-version-gen: When the required .tarball-version file
4296         was missing or unreadable, you might see the diagnostic from "cat",
4297         but no trace of the name of the invoking script.  Now, you still see
4298         the diagnostic from cat, but also get one from "git-version-gen: ".
4299         Inspired by a patch from Bruce Korb.
4300
4301         update-copyright: adjust test to match changed code
4302         * tests/test-update-copyright.sh: Change test's expected output
4303         to match new actual output.
4304
4305 2011-01-02  Bruno Haible  <bruno@clisp.org>
4306
4307         getlogin_r: Avoid test failure on HP-UX 11.
4308         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
4309         ERANGE when the second argument is zero.
4310         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
4311         portability problem.
4312
4313 2011-01-02  Bruce Korb  <bkorb@gnu.org>
4314
4315         * build-aux/update-copyright: doc Simon's changes
4316
4317 2011-01-02  Simon Josefsson  <simon@josefsson.org>
4318
4319         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
4320         environment variable.
4321
4322 2011-01-02  Bruno Haible  <bruno@clisp.org>
4323
4324         unigbrk: Avoid gcc warnings.
4325         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
4326         unused variable.
4327         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
4328         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
4329         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
4330         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
4331         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
4332         Change type of first argument to 'const char *'.
4333         (main): Remove unused variable.
4334         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
4335         type of first argument to 'const char *'.
4336         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
4337         Likewise.
4338         (main): Change type of variable 's'.
4339         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
4340         to 'int'.
4341
4342 2011-01-02  Bruno Haible  <bruno@clisp.org>
4343
4344         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
4345         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
4346         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
4347         bug.
4348         * lib/pwrite.c: Undo 2010-12-31 patch.
4349         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
4350
4351 2011-01-02  Bruno Haible  <bruno@clisp.org>
4352
4353         pread: Fix test whether it works.
4354         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
4355
4356 2011-01-02  Bruno Haible  <bruno@clisp.org>
4357
4358         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
4359         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
4360         ends in "6". Don't require a specific month name. Try also the locale
4361         names found on HP-UX 11 and Solaris 7.
4362
4363 2011-01-02  Bruno Haible  <bruno@clisp.org>
4364
4365         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
4366         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
4367         C linkage.
4368         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
4369
4370 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4371
4372         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
4373         for consistency, since the "cluster" term is not used elsewhere.
4374         * lib/unigbrk.in.h: Update name.
4375         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
4376         * lib/unigbrk/u16-grapheme-next.c: Update name.
4377         * lib/unigbrk/u16-grapheme-prev.c: Update name.
4378         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
4379         * lib/unigbrk/u32-grapheme-next.c: Update name.
4380         * lib/unigbrk/u32-grapheme-prev.c: Update name.
4381         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
4382         * lib/unigbrk/u8-grapheme-next.c: Update name.
4383         * lib/unigbrk/u8-grapheme-prev.c: Update name.
4384         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
4385         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
4386         Suggested by Bruno Haible.
4387
4388 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4389
4390         Remove module 'u8-grapheme-len' as too redundant with
4391         'u8-grapheme-next'.
4392         * modules/unigbrk/u8-grapheme-len: Delete file.
4393         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
4394         * lib/unigbrk.in.h: Remove prototype for deleted function.
4395         * lib/unigbrk/u8-grapheme-len.c: Delete file.
4396         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
4397
4398         Remove module 'u16-grapheme-len' as too redundant with
4399         'u16-grapheme-next'.
4400         * modules/unigbrk/u16-grapheme-len: Delete file.
4401         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
4402         * lib/unigbrk.in.h: Remove prototype for deleted function.
4403         * lib/unigbrk/u16-grapheme-len.c: Delete file.
4404         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
4405
4406         Remove module 'u32-grapheme-len' as too redundant with
4407         'u32-grapheme-next'.
4408         * modules/unigbrk/u32-grapheme-len: Delete file.
4409         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
4410         * lib/unigbrk.in.h: Remove prototype for deleted function.
4411         * lib/unigbrk/u32-grapheme-len.c: Delete file.
4412         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
4413
4414         Suggested by Bruno Haible.
4415
4416 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
4417
4418         * unigbrk.in.h: Fix typo: "ben" => "been".
4419         Reported by Bruno Haible.
4420
4421 2011-01-01  Jim Meyering  <meyering@redhat.com>
4422
4423         maint: update almost all copyright ranges to include 2011
4424         Run the new "make update-copyright" rule.
4425
4426 2011-01-01  Jim Meyering  <meyering@redhat.com>
4427
4428         maint: update-copyright: exempt doc/INSTALL*
4429         * Makefile (update-copyright): Also exclude doc/INSTALL*,
4430         since they are generated.  Suggested by Bruno Haible.
4431
4432 2011-01-01  Jim Meyering  <meyering@redhat.com>
4433
4434         maint: refine the update-copyright rule
4435         * Makefile (update-copyright): Also exclude any file that includes
4436         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
4437         code that merely generates the comment.
4438
4439 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4440
4441         New module 'u8-grapheme-len'.
4442         * modules/unigbrk/u8-grapheme-len: New file.
4443         * modules/unigbrk/u8-grapheme-len-tests: New file.
4444         * lib/unigbrk.in.h: Add prototype for new function.
4445         * lib/unigbrk/u8-grapheme-len.c: New file.
4446         * tests/unigbrk/test-u8-grapheme-len.c: New file.
4447
4448         New module 'u16-grapheme-len'.
4449         * modules/unigbrk/u16-grapheme-len: New file.
4450         * modules/unigbrk/u16-grapheme-len-tests: New file.
4451         * lib/unigbrk.in.h: Add prototype for new function.
4452         * lib/unigbrk/u16-grapheme-len.c: New file.
4453         * tests/unigbrk/test-u16-grapheme-len.c: New file.
4454
4455         New module 'u32-grapheme-len'.
4456         * modules/unigbrk/u32-grapheme-len: New file.
4457         * modules/unigbrk/u32-grapheme-len-tests: New file.
4458         * lib/unigbrk.in.h: Add prototype for new function.
4459         * lib/unigbrk/u32-grapheme-len.c: New file.
4460         * tests/unigbrk/test-u32-grapheme-len.c: New file.
4461
4462         New module 'u8-grapheme-next'.
4463         * modules/unigbrk/u8-grapheme-next: New file.
4464         * modules/unigbrk/u8-grapheme-next-tests: New file.
4465         * lib/unigbrk.in.h: Add prototype for new function.
4466         * lib/unigbrk/u8-grapheme-next.c: New file.
4467         * tests/unigbrk/test-u8-grapheme-next.c: New file.
4468
4469         New module 'u16-grapheme-next'.
4470         * modules/unigbrk/u16-grapheme-next: New file.
4471         * modules/unigbrk/u16-grapheme-next-tests: New file.
4472         * lib/unigbrk.in.h: Add prototype for new function.
4473         * lib/unigbrk/u16-grapheme-next.c: New file.
4474         * tests/unigbrk/test-u16-grapheme-next.c: New file.
4475
4476         New module 'u32-grapheme-next'.
4477         * modules/unigbrk/u32-grapheme-next: New file.
4478         * modules/unigbrk/u32-grapheme-next-tests: New file.
4479         * lib/unigbrk.in.h: Add prototype for new function.
4480         * lib/unigbrk/u32-grapheme-next.c: New file.
4481         * tests/unigbrk/test-u32-grapheme-next.c: New file.
4482
4483         New module 'u8-grapheme-prev'.
4484         * modules/unigbrk/u8-grapheme-prev: New file.
4485         * modules/unigbrk/u8-grapheme-prev-tests: New file.
4486         * lib/unigbrk.in.h: Add prototype for new function.
4487         * lib/unigbrk/u8-grapheme-prev.c: New file.
4488         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
4489
4490         New module 'u16-grapheme-prev'.
4491         * modules/unigbrk/u16-grapheme-prev: New file.
4492         * modules/unigbrk/u16-grapheme-prev-tests: New file.
4493         * lib/unigbrk.in.h: Add prototype for new function.
4494         * lib/unigbrk/u16-grapheme-prev.c: New file.
4495         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
4496
4497         New module 'u32-grapheme-prev'.
4498         * modules/unigbrk/u32-grapheme-prev: New file.
4499         * modules/unigbrk/u32-grapheme-prev-tests: New file.
4500         * lib/unigbrk.in.h: Add prototype for new function.
4501         * lib/unigbrk/u32-grapheme-prev.c: New file.
4502         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
4503
4504         New module 'u8-grapheme-breaks'.
4505         * modules/unigbrk/u8-grapheme-breaks: New file.
4506         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
4507         * lib/unigbrk.in.h: Add prototype for new function.
4508         * lib/unigbrk/u8-grapheme-breaks.c: New file.
4509         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
4510
4511         New module 'u16-grapheme-breaks'.
4512         * modules/unigbrk/u16-grapheme-breaks: New file.
4513         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
4514         * lib/unigbrk.in.h: Add prototype for new function.
4515         * lib/unigbrk/u16-grapheme-breaks.c: New file.
4516         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
4517
4518         New module 'u32-grapheme-breaks'.
4519         * modules/unigbrk/u32-grapheme-breaks: New file.
4520         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
4521         * lib/unigbrk.in.h: Add prototype for new function.
4522         * lib/unigbrk/u32-grapheme-breaks.c: New file.
4523         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
4524
4525         New module 'ulc-grapheme-breaks'.
4526         * modules/unigbrk/ulc-grapheme-breaks: New file.
4527         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
4528         * m4/locale-ar.m4: New file.
4529         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
4530         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
4531         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
4532
4533 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
4534
4535         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
4536         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
4537         modified how this file was generated before I initially submitted
4538         the module, but failed to regenerate it.  This meant that several
4539         of the level2 entries were wrong.
4540         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
4541         Remove the division-by-2 that is folded into the table now that
4542         gbrkprop.h has been regenerated properly.  Now -1 entries are
4543         handled correctly.
4544
4545         New module 'unigbrk/uc-gbrk-prop-tests'.
4546         * modules/unigbrk/uc-gbrk-prop-tests: New file.
4547         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
4548         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
4549         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
4550
4551 2011-01-01  Bruno Haible  <bruno@clisp.org>
4552
4553         Avoid use of hexadecimal escapes.
4554         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
4555         instead of hexadecimal escapes.
4556
4557 2011-01-01  Jim Meyering  <meyering@redhat.com>
4558
4559         maint: new rule to update copyright year ranges
4560         * Makefile (update-copyright): New rule.
4561
4562         maint: indent with TABs in Makefile
4563         * Makefile: Expand leading sequences of spaces to TABs
4564
4565         version-etc: update the copyright year it reports
4566         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
4567
4568 2010-12-31  Bruno Haible  <bruno@clisp.org>
4569
4570         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
4571         * lib/isfinite.c (zerof, zerod, zerol): New variables.
4572         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
4573         zero.
4574
4575 2010-12-31  Bruno Haible  <bruno@clisp.org>
4576
4577         pwrite: Work around HP-UX 11.11 bug.
4578         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
4579         works and set REPLACE_PWRITE if not.
4580         * lib/pwrite.c (pwrite): Add an implementation that uses the system
4581         function.
4582         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
4583
4584 2010-12-31  Bruno Haible  <bruno@clisp.org>
4585
4586         pread: Work around HP-UX 11 bugs.
4587         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
4588         and set REPLACE_PREAD if not.
4589         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
4590
4591 2010-12-31  Eric Blake  <eblake@redhat.com>
4592
4593         nl_langinfo: fix YESEXPR on Irix 6.5
4594         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
4595         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
4596         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
4597         it.
4598
4599 2010-12-31  Bruno Haible  <bruno@clisp.org>
4600
4601         iconv: Document HP-UX 11 bug.
4602         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
4603
4604 2010-12-31  Bruno Haible  <bruno@clisp.org>
4605
4606         ldexpl: Fix link error on HP-UX 11.
4607         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
4608         LDEXPL_LIBM, using $ISNANL_LIBM.
4609
4610 2010-12-31  Eric Blake  <eblake@redhat.com>
4611
4612         ftello: avoid compilation failure with SunStudio c89
4613         * lib/ftello.c (ftello): Use lseek, not llseek.
4614
4615         tests: avoid failing coreutils tests on cygwin
4616         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
4617         (create_exe_shims_): Return 0 when skipping.
4618
4619 2010-12-31  Bruno Haible  <bruno@clisp.org>
4620
4621         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
4622         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
4623
4624 2010-12-31  Bruno Haible  <bruno@clisp.org>
4625
4626         waitpid: Fix link error in C++ mode.
4627         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
4628
4629 2010-12-31  Bruno Haible  <bruno@clisp.org>
4630
4631         isnan: Use GCC built-ins when possible.
4632         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
4633         __builtin_isnan.
4634         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
4635         (isnan): Define using GCC built-ins for GCC >= 4.0.
4636
4637 2010-12-31  Bruno Haible  <bruno@clisp.org>
4638
4639         isnand: Fix mistake.
4640         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
4641         __builtin_isnand.
4642
4643 2010-12-31  Bruno Haible  <bruno@clisp.org>
4644
4645         open: Avoid C++ error on HP-UX 11.
4646         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
4647
4648 2010-12-31  Bruno Haible  <bruno@clisp.org>
4649
4650         time_r: Add missing declarations on HP-UX 11.
4651         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
4652         instead of HAVE_LOCALTIME_R.
4653         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
4654         HAVE_LOCALTIME_R always.
4655         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
4656         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
4657         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
4658         HAVE_LOCALTIME_R.
4659         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
4660         * doc/posix-functions/localtime_r.texi: Likewise.
4661
4662 2010-12-29  Eric Blake  <eblake@redhat.com>
4663
4664         mountlist: tweak previous commit
4665         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
4666         Reported by Paul Eggert.
4667
4668         mountlist: fix local drive detection on cygwin
4669         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
4670         that works for cygwin.
4671
4672 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4673
4674         ftoastr, snprintf: ftoastr + snprintf module
4675         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
4676         since the snprintf module now should be good enough here.
4677         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
4678         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
4679         and gl_MODULE_INDICATOR([snprintf]), but the former enables
4680         GNULIB_SNPRINTF only for the test directory, and the latter
4681         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
4682         seems to suffice by itself.
4683
4684 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
4685
4686         alloca: one step towards thread-safety
4687         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
4688         need for a static variable.  All callers changed.  This does not
4689         make the alloca replacement thread-safe, but it's one step.
4690
4691         tests: minor indenting change
4692         * tests/init.sh: Sync from coreutils housekeeping patch
4693         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
4694         to keep lines within 80 columns.
4695
4696 2010-12-28  Jim Meyering  <meyering@redhat.com>
4697
4698         regex: don't infloop on persistent failing calloc
4699         * lib/regexec.c (build_trtable): Return failure indication upon
4700         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
4701         In glibc, this was fixed for version 2.13:
4702         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
4703
4704 2010-12-28  Bruno Haible  <bruno@clisp.org>
4705             Paul Eggert <eggert@cs.ucla.edu>
4706
4707         linkat: Make implementation robust against system behaviour variations.
4708         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
4709         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
4710         way, and to -2 if it needs a generic runtime test.
4711         * lib/linkat.c (solaris_optimized_link_immediate,
4712         solaris_optimized_link_follow): New functions.
4713         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
4714         (check_same_link): Use it.
4715
4716 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
4717
4718         New module 'unigbrk/base'.
4719         * modules/unigbrk/base: New file.
4720         * lib/unigbrk.in.h: New file.
4721
4722         New module 'unigbrk/uc-gbrk-prop'.
4723         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
4724         * modules/unigbrk/uc-gbrk-prop: New file.
4725         * lib/unigbrk/gbrkprop.h: New file.
4726         * lib/unigbrk/uc-gbrk-prop.c: New file.
4727
4728         New module 'unigbrk/uc-is-grapheme-break'.
4729         * modules/unigbrk/uc-is-grapheme-break: New file.
4730         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
4731         * lib/unigbrk/uc-is-grapheme-break.c: New file.
4732         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
4733         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
4734         * tests/unigbrk/GraphemeBreakTest.txt: New file.
4735
4736         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
4737
4738 2010-12-27  Bruno Haible  <bruno@clisp.org>
4739
4740         linkat test: Avoid failure on Solaris 11 2010-11.
4741         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
4742
4743 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4744
4745         utimens: work around glibc rounding bug on more platforms
4746         * lib/utimens.c (fdutimens): Work around rounding bug even if
4747         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
4748         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
4749
4750 2010-12-27  Bruno Haible  <bruno@clisp.org>
4751
4752         select tests: Improve comments.
4753         * tests/test-select.c (do_select): Add comments.
4754
4755 2010-12-27  Bruno Haible  <bruno@clisp.org>
4756
4757         select tests: Safer way of handling timeout.
4758         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
4759         at every invocation.
4760
4761 2010-12-27  Bruno Haible  <bruno@clisp.org>
4762
4763         select tests: Use 'bool' where appropriate.
4764         * tests/test-select.c (connect_to_socket): Change argument type to
4765         'bool'.
4766
4767 2010-12-27  Bruno Haible  <bruno@clisp.org>
4768
4769         select tests: Use existing modules.
4770         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
4771         (configure.ac): Don't test for unistd.h.
4772         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
4773         declared in <unistd.h>.
4774
4775 2010-12-27  Bruno Haible  <bruno@clisp.org>
4776
4777         mbrtowc: Work around a Solaris 7 bug.
4778         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
4779         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
4780         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
4781         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
4782         MBRTOWC_NULL_ARG1_BUG.
4783         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
4784         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
4785         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
4786         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
4787
4788 2010-12-27  Jim Meyering  <meyering@redhat.com>
4789
4790         read-file.c: tweak syntax
4791         * lib/read-file.c (fread_file): Remove space after "*" in function
4792         definitions.
4793
4794 2010-12-27  Bruno Haible  <bruno@clisp.org>
4795
4796         times test: Avoid gcc warnings on OSF/1.
4797         * tests/test-times.c (main): Cast printf arguments from clock_t to
4798         'long int'.
4799
4800 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
4801
4802         utimens: work around glibc rounding bug on older Linux kernels
4803         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
4804         on Linux with a glibc whose utimes might not work, then work
4805         around a longstanding glibc bug involving rounding rather than
4806         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
4807         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4808
4809 2010-12-26  Bruno Haible  <bruno@clisp.org>
4810
4811         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
4812         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
4813         _GL_CXXALIAS_SYS.
4814         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4815
4816 2010-12-26  Bruno Haible  <bruno@clisp.org>
4817
4818         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
4819         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
4820         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4821         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
4822         looking for the declaration.
4823         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
4824         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
4825         problem.
4826         * doc/posix-functions/inet_pton.texi: Likewise.
4827
4828 2010-12-26  Bruno Haible  <bruno@clisp.org>
4829
4830         arpa_inet: Use the common idioms with C++ support.
4831         * lib/arpa_inet.in.h: Include c++defs.h.
4832         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
4833         support.
4834         * modules/arpa_inet (Depends-on): Add c++defs.
4835         (Makefile.am): Substitute the contents of c++defs.h.
4836         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
4837         * modules/arpa_inet-c++-tests: New file.
4838         * tests/test-arpa_inet-c++.cc: New file.
4839
4840 2010-12-25  Bruno Haible  <bruno@clisp.org>
4841
4842         Fix more C++ link errors on Solaris 8.
4843         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
4844         $(LIB_EACCESS).
4845         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
4846         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
4847         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
4848         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
4849         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
4850
4851 2010-12-25  Bruno Haible  <bruno@clisp.org>
4852
4853         printf-posix: Fix link error when a non-GCC compiler is used.
4854         * lib/stdio.in.h (printf): When not using GCC, override printf
4855         correctly.
4856         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
4857
4858 2010-12-25  Bruno Haible  <bruno@clisp.org>
4859
4860         strerror_r-posix: Update doc.
4861         * doc/posix-functions/strerror_r.texi: Update doc about the return
4862         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
4863
4864 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
4865
4866         utimens: simplify the logic of the previous change
4867         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
4868         This should not affect whether the test succeeds or fails.
4869
4870         utimens: configure better on hosts with NFS clock skew
4871         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
4872         uses the clock of the local host.  It might use the clock of the
4873         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
4874         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
4875
4876 2010-12-25  Bruno Haible  <bruno@clisp.org>
4877
4878         ptsname test: Avoid failure on Solaris.
4879         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
4880         open a pseudo-terminal; don't use BSD-style ptys.
4881         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
4882
4883 2010-12-25  Bruno Haible  <bruno@clisp.org>
4884
4885         ptsname: Avoid ERANGE failure on some systems.
4886         * lib/ptsname.c (buffer): Increase size.
4887
4888 2010-12-25  Bruno Haible  <bruno@clisp.org>
4889
4890         rename, renameat: Avoid test failures at NFS mounted locations.
4891         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
4892         so that subsequent mkdir calls succeed.
4893
4894 2010-12-25  Bruno Haible  <bruno@clisp.org>
4895
4896         iswblank: Fix C++ link error on Solaris 8.
4897         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
4898         _GL_FUNCDECL_SYS.
4899
4900 2010-12-25  Bruno Haible  <bruno@clisp.org>
4901
4902         unistd: Fix C++ link error on Solaris 8.
4903         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
4904
4905 2010-12-25  Bruno Haible  <bruno@clisp.org>
4906
4907         readlink doc: Mention an old glibc bug.
4908         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
4909
4910 2010-12-25  Bruno Haible  <bruno@clisp.org>
4911
4912         fcntl-h: Fix for use of C++ on glibc systems.
4913         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4914         also on glibc systems in C++ mode.
4915         Reported by Gary V. Vaughan <gary@gnu.org>.
4916
4917 2010-12-25  Bruno Haible  <bruno@clisp.org>
4918
4919         roundl-ieee: Make it work on OSF/1 5.1 with cc.
4920         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
4921
4922 2010-12-25  Bruno Haible  <bruno@clisp.org>
4923
4924         truncl-ieee: Make it work on OSF/1 5.1 with cc.
4925         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
4926         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
4927         test whether truncl works according to ISO C 99 with IEC 60559.
4928         * m4/truncl-ieee.m4: New file.
4929         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
4930         m4/signbit.m4.
4931         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
4932
4933 2010-12-25  Bruno Haible  <bruno@clisp.org>
4934
4935         ceill-ieee: Make it work on OSF/1 5.1 with cc.
4936         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
4937         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
4938         test whether ceill works according to ISO C 99 with IEC 60559.
4939         * m4/ceill-ieee.m4: New file.
4940         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
4941         m4/signbit.m4.
4942         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
4943
4944 2010-12-25  Bruno Haible  <bruno@clisp.org>
4945
4946         Ensure all prerequisites of <wchar.h> are included.
4947         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
4948         before <wchar.h>.
4949         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4950         gl_MBRLEN_NUL_RETVAL): Likewise.
4951         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4952         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
4953         AC_FUNC_MBRTOWC): Likewise.
4954         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4955         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
4956         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4957         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
4958         Likewise.
4959         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4960         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
4961         (gl_WCHAR_H): Improve comments.
4962         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4963
4964 2010-12-25  Bruno Haible  <bruno@clisp.org>
4965
4966         strtok_r: Fix C syntax error in autoconf macro.
4967         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
4968         characters in test program.
4969
4970 2010-12-24  Bruno Haible  <bruno@clisp.org>
4971
4972         ceil, trunc, round: Fix gcc warnings.
4973         * lib/ceil.c (MIN): Undefine before redefining.
4974         * lib/trunc.c (MIN): Likewise.
4975         * lib/round.c (MIN): Likewise.
4976         Include <math.h> first.
4977
4978 2010-12-24  Bruno Haible  <bruno@clisp.org>
4979
4980         select tests: Avoid failures on OSF/1 5.1.
4981         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
4982         failure of closing the last socket; it may fail with ECONNRESET.
4983
4984 2010-12-24  Eric Blake  <eblake@redhat.com>
4985
4986         stdint: avoid HP-UX 10.20 preprocessor bug
4987         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
4988         than #if.
4989         * tests/test-floor2.c (main): Likewise.
4990         Reported by Peter O'Gorman.
4991
4992         pipe: make obsoletion transition easier
4993         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
4994         * modules/pipe (Files): Include revived file.
4995         (Include): Drop reference, to mirror getdate's behavior.
4996
4997 2010-12-24  Bruno Haible  <bruno@clisp.org>
4998
4999         sys_socket: Hide mismatch of declarations on NonStop Kernel.
5000         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
5001         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
5002         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5003
5004 2010-12-24  Bruno Haible  <bruno@clisp.org>
5005
5006         gethostname: Ensure declaration on NonStop Kernel.
5007         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
5008         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5009
5010 2010-12-24  Bruno Haible  <bruno@clisp.org>
5011
5012         sys_select: Ensure all necessary types on NonStop Kernel.
5013         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
5014         include <sys/time.h>.
5015         * doc/posix-headers/sys_select.texi: Mention that it's missing on
5016         NonStop Kernel.
5017         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5018
5019 2010-12-24  Bruno Haible  <bruno@clisp.org>
5020
5021         sys_select: Remove unneeded include.
5022         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
5023         have <sys/select.h>.
5024
5025 2010-12-24  Bruno Haible  <bruno@clisp.org>
5026
5027         gethostname: Provide a fallback for HOST_NAME_MAX.
5028         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
5029         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
5030         instead.
5031         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5032
5033 2010-12-24  Bruno Haible  <bruno@clisp.org>
5034
5035         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
5036         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
5037         (SA_RESTART): Likewise.
5038         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5039
5040 2010-12-24  Bruno Haible  <bruno@clisp.org>
5041
5042         signal: Define NSIG.
5043         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
5044         * tests/test-signal.c (nsig): New variable.
5045         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5046
5047 2010-12-24  Bruno Haible  <bruno@clisp.org>
5048
5049         rename, renameat: Avoid test failures on OSF/1 5.1.
5050         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
5051         alternative error codes.
5052         * tests/test-renameat.c (main): Likewise.
5053
5054 2010-12-24  Bruno Haible  <bruno@clisp.org>
5055
5056         *printf: Detect large precisions bug on Solaris 10/SPARC.
5057         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
5058         by Paul Eggert.
5059         * tests/test-snprintf-posix.h (test_function): Add this test code here
5060         too.
5061         * tests/test-sprintf-posix.h (test_function): Likewise.
5062         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5063         * tests/test-vasprintf-posix.c (test_function): Likewise.
5064         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
5065         around by gnulib.
5066         * doc/posix-functions/printf.texi: Likewise.
5067         * doc/posix-functions/snprintf.texi: Likewise.
5068         * doc/posix-functions/sprintf.texi: Likewise.
5069         * doc/posix-functions/vfprintf.texi: Likewise.
5070         * doc/posix-functions/vprintf.texi: Likewise.
5071         * doc/posix-functions/vsnprintf.texi: Likewise.
5072         * doc/posix-functions/vsprintf.texi: Likewise.
5073         * doc/posix-functions/dprintf.texi: Undo last commit.
5074         * doc/posix-functions/vdprintf.texi: Likewise.
5075
5076 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
5077
5078         tests: port test-fdutimensat.c to Solaris 8
5079         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
5080         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
5081         On Solaris 8, it fails with errno == ENOSYS, because there is no
5082         futimens (so it can't use the fd), and there is no lutimens (so it
5083         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
5084
5085         vsnprintf: make more consistent with snprintf; doc fixes
5086
5087         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
5088         the byte count return problem was promoted from the snprintf-posix
5089         to the snprintf module.
5090         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
5091         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
5092         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
5093         * tests/test-snprintf.c (main): Check the byte count returned.
5094         * tests/test-vsnprintf.c (main): Likewise.
5095
5096 2010-12-23  Eric Blake  <eblake@redhat.com>
5097
5098         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
5099         * modules/sigpipe (License): Relax license.
5100
5101 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5102
5103         doc: document Solaris printf bug with large float precisions
5104         * doc/posix-functions/dprintf.texi (dprintf):
5105         * doc/posix-functions/fprintf.texi (fprintf):
5106         * doc/posix-functions/printf.texi (printf):
5107         * doc/posix-functions/snprintf.texi (snprintf):
5108         * doc/posix-functions/sprintf.texi (sprintf):
5109         * doc/posix-functions/vdprintf.texi (vdprintf):
5110         * doc/posix-functions/vfprintf.texi (vfprintf):
5111         * doc/posix-functions/vprintf.texi (vprintf):
5112         * doc/posix-functions/vsnprintf.texi (vsnprintf):
5113         * doc/posix-functions/vsprintf.texi (vsprintf):
5114         Mention that these functions mishandle large floating point
5115         precisions on Solaris 10.  The same bug is also present in Solaris
5116         8, and I assume earlier.  This causes "cd gnulib-tests; make
5117         check" to fail on Solaris 8 (and I assume, later) when building
5118         the latest coreutils, in test-vasprintf-posix's call to
5119         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
5120         the wide flavors (e.g., wprintf) so this patch just updates the
5121         documentation for the narrow ones.
5122
5123         test-posixtm.c: add two tests
5124         * tests/test-posixtm.c: Add two tests, to highlight the
5125         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
5126         around this bug; this is merely to document it.
5127
5128 2010-12-22  Bruno Haible  <bruno@clisp.org>
5129
5130         getlogin_r: Work around portability problem on OSF/1.
5131         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
5132         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
5133         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
5134         test for a truncated result.
5135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
5136         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
5137         * modules/getlogin_r (Depends-on): Add memchr.
5138         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
5139
5140 2010-12-22  Bruno Haible  <bruno@clisp.org>
5141
5142         ptsname: Avoid test failure on OSF/1 5.1.
5143         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
5144         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
5145         (same_slave): New function.
5146         (main): Use it to compare ptsname's result with the expected file name.
5147
5148 2010-12-22  Bruno Haible  <bruno@clisp.org>
5149
5150         Port extended stdio modules to HP NonStop Kernel.
5151         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
5152         macros.
5153         * lib/fbufmode.c: Update comments.
5154         * lib/fflush.c: Likewise.
5155         * lib/fpurge.c: Likewise.
5156         * lib/freadable.c: Likewise.
5157         * lib/freadahead.c: Likewise.
5158         * lib/freading.c: Likewise.
5159         * lib/freadptr.c: Likewise.
5160         * lib/freadseek.c: Likewise.
5161         * lib/fseeko.c: Likewise.
5162         * lib/fseterr.c: Likewise.
5163         * lib/fwritable.c: Likewise.
5164         * lib/fwriting.c: Likewise.
5165         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
5166
5167 2010-12-22  Bruno Haible  <bruno@clisp.org>
5168
5169         ttyname_r: Work around bug on OSF/1 5.1.
5170         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
5171         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
5172         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
5173         present.
5174         * lib/ttyname_r.c (ttyname_r): Update comments.
5175
5176 2010-12-22  Bruno Haible  <bruno@clisp.org>
5177
5178         round: Implement result sign according to IEEE 754.
5179         * lib/round.c (MIN, MINUS_ZERO): New macros.
5180         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
5181         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
5182         * tests/test-round-ieee.c (main): Likewise.
5183         * tests/test-roundl-ieee.c (main): Likewise.
5184
5185         trunc: Implement result sign according to IEEE 754.
5186         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
5187         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
5188         * tests/test-trunc2.c: Include minus-zero.h.
5189         (MINUS_ZERO): New macro.
5190         (trunc_reference): Keep in sync with lib/trunc.c.
5191         * tests/test-truncf2.c: Include minus-zero.h.
5192         (MINUS_ZERO): New macro.
5193         (truncf_reference): Keep in sync with lib/trunc.c.
5194         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
5195         * tests/test-trunc-ieee.c (main): Likewise.
5196         * tests/test-truncl-ieee.c (main): Likewise.
5197
5198         ceil: Implement result sign according to IEEE 754.
5199         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
5200         (FUNC): Return -0.0 for -1 < x < 0.
5201         * tests/test-ceil2.c: Include minus-zero.h.
5202         (MINUS_ZERO): New macro.
5203         (ceil_reference): Keep in sync with lib/ceil.c.
5204         * tests/test-ceilf2.c: Include minus-zero.h.
5205         (MINUS_ZERO): New macro.
5206         (ceilf_reference): Keep in sync with lib/ceil.c.
5207         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
5208         * tests/test-ceil-ieee.c (main): Likewise.
5209         * tests/test-ceill-ieee.c (main): Likewise.
5210
5211         floor: Implement result sign according to IEEE 754.
5212         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
5213         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
5214         * tests/test-floorf2.c (floorf_reference): Likewise.
5215         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
5216         * tests/test-floor-ieee.c (main): Likewise.
5217         * tests/test-floorl-ieee.c (main): Likewise.
5218
5219 2010-12-22  Bruno Haible  <bruno@clisp.org>
5220
5221         getaddrinfo: Update doc.
5222         * doc/posix-functions/gai_strerror.texi: Return type is also different
5223         on AIX and HP-UX.
5224
5225 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
5226
5227         getaddrinfo, inet_ntop: Update doc for Solaris.
5228         * doc/posix-functions/gai_strerror.texi: Return type is also an
5229         issue on Solaris 9 and earlier.
5230         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
5231         on Solaris 10 and earlier.
5232
5233 2010-12-21  Bruno Haible  <bruno@clisp.org>
5234
5235         New module 'roundl-ieee'.
5236         * modules/roundl-ieee: New file.
5237         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
5238         test whether roundl works according to ISO C 99 with IEC 60559.
5239         * m4/roundl-ieee.m4: New file.
5240         * modules/roundl-ieee-tests: New file.
5241         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
5242         * tests/test-roundl.c (main): Remove signbit tests.
5243         * modules/roundl-tests (Depends-on): Remove signbit.
5244         * doc/posix-functions/roundl.texi: Mention the new module.
5245
5246 2010-12-21  Bruno Haible  <bruno@clisp.org>
5247
5248         New module 'truncl-ieee'.
5249         * modules/truncl-ieee: New file.
5250         * modules/truncl-ieee-tests: New file.
5251         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
5252         * tests/test-truncl.c (main): Remove signbit tests.
5253         * modules/truncl-tests (Depends-on): Remove signbit.
5254         * doc/posix-functions/truncl.texi: Mention the new module.
5255
5256 2010-12-21  Bruno Haible  <bruno@clisp.org>
5257
5258         New module 'ceill-ieee'.
5259         * modules/ceill-ieee: New file.
5260         * modules/ceill-ieee-tests: New file.
5261         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
5262         * tests/test-ceill.c (main): Remove signbit tests.
5263         * modules/ceill-tests (Depends-on): Remove signbit.
5264         * doc/posix-functions/ceill.texi: Mention the new module.
5265
5266 2010-12-21  Bruno Haible  <bruno@clisp.org>
5267
5268         New module 'floorl-ieee'.
5269         * modules/floorl-ieee: New file.
5270         * modules/floorl-ieee-tests: New file.
5271         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
5272         * tests/test-floorl.c (main): Remove signbit tests.
5273         * modules/floorl-tests (Depends-on): Remove signbit.
5274         * doc/posix-functions/floorl.texi: Mention the new module.
5275
5276 2010-12-21  Bruno Haible  <bruno@clisp.org>
5277
5278         New module 'round-ieee'.
5279         * modules/round-ieee: New file.
5280         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
5281         whether round works according to ISO C 99 with IEC 60559.
5282         * m4/round-ieee.m4: New file.
5283         * modules/round-ieee-tests: New file.
5284         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
5285         * tests/test-round1.c (main): Remove signbit tests.
5286         * modules/round-tests (Depends-on): Remove 'signbit'.
5287         * doc/posix-functions/round.texi: Mention the new module.
5288
5289 2010-12-21  Bruno Haible  <bruno@clisp.org>
5290
5291         New module 'trunc-ieee'.
5292         * modules/trunc-ieee: New file.
5293         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
5294         whether trunc works according to ISO C 99 with IEC 60559.
5295         * m4/trunc-ieee.m4: New file.
5296         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
5297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
5298         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
5299         * modules/trunc-ieee-tests: New file.
5300         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
5301         * tests/test-trunc1.c (main): Remove signbit tests.
5302         * modules/trunc-tests (Depends-on): Remove 'signbit'.
5303         * doc/posix-functions/trunc.texi: Mention the new module.
5304
5305 2010-12-21  Bruno Haible  <bruno@clisp.org>
5306
5307         New module 'ceil-ieee'.
5308         * modules/ceil-ieee: New file.
5309         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
5310         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
5311         ISO C 99 with IEC 60559.
5312         * m4/ceil-ieee.m4: New file.
5313         * modules/ceil (Files): Add lib/ceil.c.
5314         (Depends-on): Add 'float'.
5315         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5316         * lib/math.in.h (ceil): New declaration.
5317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
5318         REPLACE_CEIL.
5319         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
5320         * modules/ceil-ieee-tests: New file.
5321         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
5322         * tests/test-math-c++.cc: Check the signature of 'ceil'.
5323         * doc/posix-functions/ceil.texi: Mention the new module.
5324
5325 2010-12-21  Bruno Haible  <bruno@clisp.org>
5326
5327         New module 'floor-ieee'.
5328         * modules/floor-ieee: New file.
5329         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
5330         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
5331         ISO C 99 with IEC 60559.
5332         * m4/floor-ieee.m4: New file.
5333         * modules/floor (Files): Add lib/floor.c.
5334         (Depends-on): Add 'float'.
5335         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
5336         * lib/math.in.h (floor): New declaration.
5337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
5338         REPLACE_FLOOR.
5339         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
5340         * modules/floor-ieee-tests: New file.
5341         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
5342         * tests/test-math-c++.cc: Check the signature of 'floor'.
5343         * doc/posix-functions/floor.texi: Mention the new module.
5344
5345 2010-12-21  Bruno Haible  <bruno@clisp.org>
5346
5347         New module 'roundf-ieee'.
5348         * modules/roundf-ieee: New file.
5349         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
5350         test whether roundf works according to ISO C 99 with IEC 60559.
5351         * m4/roundf-ieee.m4: New file.
5352         * modules/roundf-ieee-tests: New file.
5353         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
5354         * tests/test-roundf1.c (main): Remove signbit tests.
5355         * modules/roundf-tests (Depends-on): Remove 'signbit'.
5356         * doc/posix-functions/roundf.texi: Mention the new module.
5357
5358 2010-12-21  Bruno Haible  <bruno@clisp.org>
5359
5360         New module 'truncf-ieee'.
5361         * modules/truncf-ieee: New file.
5362         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
5363         test whether truncf works according to ISO C 99 with IEC 60559.
5364         * m4/truncf-ieee.m4: New file.
5365         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
5366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
5367         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
5368         * modules/truncf-ieee-tests: New file.
5369         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
5370         * tests/test-truncf1.c (main): Remove signbit tests.
5371         * modules/truncf-tests (Depends-on): Remove 'signbit'.
5372         * doc/posix-functions/truncf.texi: Mention the new module.
5373
5374 2010-12-21  Bruno Haible  <bruno@clisp.org>
5375
5376         New module 'ceilf-ieee'.
5377         * modules/ceilf-ieee: New file.
5378         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
5379         test whether ceilf works according to ISO C 99 with IEC 60559.
5380         * m4/ceilf-ieee.m4: New file.
5381         * modules/ceilf-ieee-tests: New file.
5382         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
5383         * tests/test-ceilf1.c (main): Remove signbit tests.
5384         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
5385         * doc/posix-functions/ceilf.texi: Mention the new module.
5386
5387 2010-12-21  Bruno Haible  <bruno@clisp.org>
5388
5389         New module 'floorf-ieee'.
5390         * modules/floorf-ieee: New file.
5391         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
5392         test whether floorf works according to ISO C 99 with IEC 60559.
5393         * m4/floorf-ieee.m4: New file.
5394         * modules/floorf-ieee-tests: New file.
5395         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
5396         * tests/test-floorf1.c (main): Remove signbit tests.
5397         * modules/floorf-tests (Depends-on): Remove 'signbit'.
5398         * doc/posix-functions/floorf.texi: Mention the new module.
5399
5400 2010-12-21  Bruno Haible  <bruno@clisp.org>
5401
5402         Support for minus zero in autoconf macros.
5403         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
5404         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
5405         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
5406         * tests/minus-zero.h: Update comments.
5407
5408 2010-12-21  Bruno Haible  <bruno@clisp.org>
5409
5410         Tests for module 'ceil'.
5411         * modules/ceil-tests: New file.
5412         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
5413         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
5414
5415 2010-12-21  Bruno Haible  <bruno@clisp.org>
5416
5417         Tests for module 'floor'.
5418         * modules/floor-tests: New file.
5419         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
5420         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
5421
5422 2010-12-21  Bruno Haible  <bruno@clisp.org>
5423
5424         math: Fix indentation.
5425         * lib/math.in.h (floorf): Fix indentation.
5426
5427 2010-12-21  Bruno Haible  <bruno@clisp.org>
5428
5429         Fix cross-compilation guesses on Solaris.
5430         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
5431         not match "solaris2.10".
5432         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5433         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
5434         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
5435
5436 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
5437
5438         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
5439         This fixes a problem observed with the latest coreutils snapshot
5440         that caused a test to fail on Solaris 8.  src/csplit.c's call
5441         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
5442         earlier, instead of returning the number of bytes that would have
5443         been generated; this causes csplit to incorrectly report memory
5444         exhaustion.
5445         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
5446         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
5447         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
5448         comments to match.
5449         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
5450         Fix typo in matching older versions of Solaris: "solaris2.10"
5451         is matched by the shell pattern "solaris2.[0-9]*".  This matters
5452         only for guessing while cross-compiling.
5453         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
5454
5455 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
5456
5457         ftoastr: fix comment again
5458         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5459         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
5460         Also, simplify example a bit by using flags = 0.
5461
5462 2010-12-20  Bruno Haible  <bruno@clisp.org>
5463
5464         round*, trunc*: Update documentation regarding glibc.
5465         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
5466         * doc/posix-functions/round.texi: Likewise.
5467         * doc/posix-functions/roundl.texi: Likewise.
5468         * doc/posix-functions/truncf.texi: Likewise.
5469         * doc/posix-functions/trunc.texi: Likewise.
5470         * doc/posix-functions/truncl.texi: Likewise.
5471
5472 2010-12-20  Bruno Haible  <bruno@clisp.org>
5473
5474         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
5475         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
5476         * doc/posix-functions/round.texi: Likewise.
5477         * doc/posix-functions/roundl.texi: Likewise.
5478
5479 2010-12-20  Bruno Haible  <bruno@clisp.org>
5480
5481         ttyname_r: Add missing declaration on HP-UX 11.
5482         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
5483         HAVE_TTYNAME_R.
5484         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
5485         declared. Set HAVE_TTYNAME_R always.
5486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5487         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
5488         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
5489         HAVE_TTYNAME_R.
5490         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
5491
5492 2010-12-20  Bruno Haible  <bruno@clisp.org>
5493
5494         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
5495         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
5496         * doc/posix-functions/getlogin_r.texi: Likewise.
5497         * tests/test-getlogin.c: Include <errno.h>.
5498         (main): Avoid test failure on HP-UX 11.11.
5499         * tests/test-getlogin_r.c (main): Likewise.
5500
5501 2010-12-20  Bruno Haible  <bruno@clisp.org>
5502
5503         getlogin_r: Add missing declaration on HP-UX 11.
5504         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
5505         declared also when it exists as a function.
5506         * doc/posix-functions/getlogin_r.texi: Document this workaround.
5507
5508 2010-12-20  Bruno Haible  <bruno@clisp.org>
5509
5510         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
5511         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
5512         through wcrtomb.
5513
5514 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
5515
5516         ftoastr: fix comment
5517         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
5518         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
5519
5520 2010-12-19  Bruno Haible  <bruno@clisp.org>
5521
5522         isnan: Ensure it is a macro.
5523         * lib/math.in.h (isnan): Define as a macro if not already a macro.
5524         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
5525         Solaris.
5526
5527 2010-12-19  Bruno Haible  <bruno@clisp.org>
5528
5529         ldexpl test: Fix link error on OSF/1 5.1.
5530         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
5531
5532 2010-12-19  Bruno Haible  <bruno@clisp.org>
5533
5534         wctype: Make it work in C++ mode on OSF/1 5.1.
5535         * lib/wctype.in.h (iswblank): Declare but not define here.
5536         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
5537         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
5538         * modules/wctype (Files): Add lib/iswblank.c.
5539
5540 2010-12-19  Bruno Haible  <bruno@clisp.org>
5541
5542         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
5543         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
5544         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
5545
5546 2010-12-19  Bruno Haible  <bruno@clisp.org>
5547
5548         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
5549         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
5550         _POSIX_PII_SOCKET.
5551         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
5552         * doc/posix-functions/recvfrom.texi: Likewise.
5553         * doc/posix-functions/send.texi: Likewise.
5554         * doc/posix-functions/sendto.texi: Likewise.
5555
5556 2010-12-19  Bruno Haible  <bruno@clisp.org>
5557
5558         tcgetsid: Add missing declaration on OSF/1 5.1.
5559         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
5560         HAVE_TCGETSID.
5561         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
5562         Don't set HAVE_TCGETSID.
5563         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
5564         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
5565         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
5566         HAVE_TCGETSID.
5567         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
5568
5569 2010-12-19  Bruno Haible  <bruno@clisp.org>
5570
5571         stdio: Fix problem with popen() declaration on OSF/1 5.1.
5572         * lib/stdio.in.h: During the include_next statement, let recursive
5573         includes of this file include only the system header file.
5574
5575 2010-12-19  Bruno Haible  <bruno@clisp.org>
5576
5577         iconv_open: Fix regression from 2010-12-04.
5578         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
5579         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
5580
5581 2010-12-19  Bruno Haible  <bruno@clisp.org>
5582
5583         stdbool test: Avoid a gcc warning.
5584         * tests/test-stdbool.c (main): Fail if e1 is false.
5585         Reported by Jim Meyering.
5586
5587 2010-12-19  Jim Meyering  <meyering@redhat.com>
5588
5589         setenv: restore to working order
5590         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
5591         mistakenly removed.
5592         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
5593         HAVE_SETENV.
5594         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
5595         HAVE_SETENV.
5596
5597 2010-12-19  Bruno Haible  <bruno@clisp.org>
5598
5599         Document some different function declarations on OSF/1 5.1.
5600         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
5601         * doc/posix-functions/inet_ntop.texi: Likewise.
5602         * doc/posix-functions/gethostname.texi: Likewise.
5603         * lib/unistd.in.h (gethostname): Update comment.
5604
5605 2010-12-19  Bruno Haible  <bruno@clisp.org>
5606
5607         doc: Mention vasprintf-posix module.
5608         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
5609         the 'vasprintf-posix' module.
5610         * doc/glibc-functions/vasprintf.texi: Likewise.
5611
5612 2010-12-19  Bruno Haible  <bruno@clisp.org>
5613
5614         unsetenv: Add missing declaration on OSF/1 5.1.
5615         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
5616         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
5617         Don't set HAVE_UNSETENV. In the test program, set _BSD.
5618         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
5619         not HAVE_UNSETENV.
5620         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
5621         HAVE_UNSETENV.
5622         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
5623
5624 2010-12-19  Bruno Haible  <bruno@clisp.org>
5625
5626         setenv: Add missing declaration on OSF/1 5.1.
5627         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
5628         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
5629         declared. Don't set HAVE_SETENV.
5630         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
5631         not HAVE_SETENV.
5632         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
5633         HAVE_SETENV.
5634         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
5635
5636 2010-12-19  Bruno Haible  <bruno@clisp.org>
5637
5638         nl_langinfo tests: Avoid gcc warning.
5639         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
5640
5641 2010-12-19  Bruno Haible  <bruno@clisp.org>
5642
5643         mknod: Avoid error in C++ mode on OSF/1 with GCC.
5644         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
5645         _GL_CXXALIAS_SYS.
5646
5647 2010-12-19  Bruno Haible  <bruno@clisp.org>
5648
5649         stdbool: Relax test.
5650         * tests/test-stdbool.c (e): Don't require that casts from a variable's
5651         address to 'bool' work in static initializer, for compilers other than
5652         GCC.
5653
5654 2010-12-19  Bruno Haible  <bruno@clisp.org>
5655
5656         ftello: Add missing declaration on OSF/1 5.1.
5657         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
5658         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
5659         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
5660         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
5661         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
5662
5663 2010-12-19  Bruno Haible  <bruno@clisp.org>
5664
5665         fseeko: Add missing declaration on OSF/1 5.1.
5666         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
5667         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
5668         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
5669         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
5670         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
5671
5672 2010-12-19  Bruno Haible  <bruno@clisp.org>
5673
5674         fchdir: Add missing declaration on OSF/1 5.1.
5675         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
5676         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
5677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
5678         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
5679         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
5680
5681 2010-12-19  Bruno Haible  <bruno@clisp.org>
5682
5683         relocatable-prog-wrapper: Separate from relocatable-prog.
5684         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
5685         uninstall-relocwrapper rule here.
5686         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
5687         Reported by Ian Beckwith <ianb@erislabs.net>.
5688
5689 2010-12-19  Bruno Haible  <bruno@clisp.org>
5690
5691         unistr/u8-mbsnlen: Add missing dependency.
5692         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
5693         Reported by Ian Beckwith <ianb@erislabs.net>.
5694
5695 2010-12-19  Bruno Haible  <bruno@clisp.org>
5696
5697         iconv: Make it possible again to use this module without 'iconv-h'.
5698         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
5699         if it is not defined.
5700         Reported by Ian Beckwith <ianb@erislabs.net>.
5701
5702 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
5703
5704         acl: port to Solaris 8 when copying from tmpfs to ufs
5705         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
5706         error number.  Problem observed on Solaris 8 with latest
5707         coreutils, with "mv A B", where A is on a tmpfs file system and B
5708         is on a ufs file system.  This caused coreutils' mv/part-symlink
5709         test to fail.
5710
5711         tests: set fail=0 at start
5712         * tests/init.sh (setup_): Move fail=0 initialization here ...
5713         (mktempd_): ... from here, so that tests can rely on fail being
5714         set to 0 initially.  This fixes a problem in coreutils; see:
5715         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
5716
5717 2010-12-18  Bruno Haible  <bruno@clisp.org>
5718
5719         memmem-simple: Stylistic changes.
5720         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
5721         Fix preprocessor directive indentation.
5722
5723 2010-12-15  Pádraig Brady <P@draigBrady.com>
5724
5725         memmem, memmem-simple: reorganize and expand empty needle check
5726         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
5727         functional checks to memmem-simple so that one has a fully functional
5728         memmem by using just this module.
5729         Restrict the performance only check to the memmem module.
5730         Also expand the empty needle check to ensure the correct
5731         pointer is returned, not just a non NULL pointer.
5732         * doc/glibc-functions/memmem.texi: Rearrange the portability
5733         documentation to correlate with the rearranged checks.
5734         Clarify exactly how the memmem and memmem-simple modules
5735         relate to each other.
5736
5737 2010-12-15  Pádraig Brady <P@draigBrady.com>
5738             Bruno Haible  <bruno@clisp.org>
5739
5740         Improve cross-compilation guesses for uClibc.
5741         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
5742         that uClibc does not have the glibc bug.
5743         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5744         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
5745
5746 2010-12-14  Eric Blake  <eblake@redhat.com>
5747
5748         configmake: provide fallbacks for oldest supported autotools
5749         * m4/configmake.m4: New file.
5750         * modules/configmake (Files): Ship it.
5751         (configure.ac): Use it to guarantee fallbacks.
5752
5753 2010-12-13  Pádraig Brady <P@draigBrady.com>
5754
5755         read-file: Improve handling of large files
5756         * lib/read-file.c (fread_file): Minimize realloc()s
5757         for regular files, and better manage sizes around SIZE_MAX.
5758
5759 2010-12-13  Eric Blake  <eblake@redhat.com>
5760
5761         cloexec, fcntl: relax license
5762         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
5763         consent from all contributors.
5764         * modules/fcntl (License): Likewise.
5765
5766 2010-12-10  Bruno Haible  <bruno@clisp.org>
5767
5768         Tests for module 'pipe-posix'.
5769         * modules/pipe-posix-tests: New file.
5770         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
5771
5772 2010-12-10  Bruno Haible  <bruno@clisp.org>
5773
5774         pipe-posix: Make it work in C++ mode.
5775         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
5776         (pipe): Use common idiom, not a macro definition.
5777         * lib/pipe.c: New file.
5778         * m4/pipe.m4: New file.
5779         * modules/pipe-posix (Description): Enhance.
5780         (Files): Add lib/pipe.c, m4/pipe.m4.
5781         (configure.ac): Invoke gl_FUNC_PIPE.
5782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
5783         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
5784         * tests/test-unistd-c++.cc: Check the signature of pipe.
5785
5786 2010-12-10  Bruno Haible  <bruno@clisp.org>
5787
5788         Rename module 'pipe' to 'spawn-pipe'.
5789         * modules/spawn-pipe: New file, renamed from modules/pipe.
5790         (Files, configure.ac, Makefile.am): Update.
5791         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
5792         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
5793         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
5794         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
5795         "spawn-pipe.h" instead of "pipe.h".
5796         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
5797         to gl_SPAWN_PIPE.
5798         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
5799         (Files, Makefile.am): Update.
5800         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
5801         Update.
5802         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
5803         Include "spawn-pipe.h" instead of "pipe.h".
5804         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
5805         * lib/javacomp.c: Likewise.
5806         * lib/javaversion.c: Likewise.
5807         * lib/pipe-filter-gi.c: Likewise.
5808         * lib/pipe-filter-ii.c: Likewise.
5809         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
5810         * modules/javacomp (Depends-on): Likewise.
5811         * modules/javaversion (Depends-on): Likewise.
5812         * modules/pipe-filter-gi (Depends-on): Likewise.
5813         * modules/pipe-filter-ii (Depends-on): Likewise.
5814         * MODULES.html.sh (Executing programs): Update.
5815         * NEWS: Mention the change.
5816
5817 2010-12-10  Eric Blake  <eblake@redhat.com>
5818
5819         pipe-posix: new module
5820         * modules/pipe-posix: New file.
5821         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
5822         (gl_UNISTD_H): Check for declaration.
5823         * modules/unistd (Makefile.am): Substitute it.
5824         * lib/unistd.in.h (pipe): Provide it for mingw.
5825         * doc/posix-functions/pipe.texi (pipe): Update documentation.
5826         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
5827
5828 2010-12-07  Bruno Haible  <bruno@clisp.org>
5829
5830         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
5831         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
5832         u8_strcmp_gnu.
5833         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
5834
5835 2010-12-06  Bruno Haible  <bruno@clisp.org>
5836
5837         Update internal documentation.
5838         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
5839
5840 2010-12-04  Bruno Haible  <bruno@clisp.org>
5841
5842         Put more information about failed tests into the test return codes.
5843         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
5844         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
5845         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5846         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5847         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
5848         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
5849         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
5850         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
5851         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
5852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5853         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
5854         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5855         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5856         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5857         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
5858         returns a bit mask.
5859         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5860         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
5861         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
5862         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5863         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5864         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5865         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
5866         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
5867         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
5868         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
5869         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5870         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5871         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5872         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5873         * m4/link.m4 (gl_FUNC_LINK): Likewise.
5874         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
5875         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
5876         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
5877         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
5878         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
5879         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
5880         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
5881         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5882         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5883         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
5884         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
5885         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5886         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5887         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5888         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
5889         gl_PRINTF_PRECISION): Likewise.
5890         * m4/regex.m4 (gl_REGEX): Likewise.
5891         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5892         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5893         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
5894         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
5895         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
5896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
5897         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5898         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
5899         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
5900         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5901         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
5902         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5903         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
5904         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5905         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5906         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
5907         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5908         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5909         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5910         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
5911         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
5912         enumerated value.
5913         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
5914
5915 2010-12-04  Bruno Haible  <bruno@clisp.org>
5916
5917         Update for Solaris 11 2010-11.
5918         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
5919         Express, released in November 2010.
5920
5921 2010-12-04  Bruno Haible  <bruno@clisp.org>
5922
5923         nproc: Relax license.
5924         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
5925         and Paul Eggert.
5926         Requested by Ludovic Courtès <ludo@gnu.org>.
5927
5928 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
5929
5930         utimecmp: fine-grained src to nearby coarse-grained dest
5931
5932         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
5933         and the source is on a file system with higher-resolution time
5934         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
5935         not work, and the time stamps are close together, the algorithm to
5936         determine the exact resolution from the read-back mtime was buggy:
5937         it had a "!=" where it should have had an "==".  This bug has been
5938         in the code ever since it was introduced to gnulib.
5939         Problem reported by Dan Jacobson in
5940         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
5941
5942 2010-11-30  Bruno Haible  <bruno@clisp.org>
5943
5944         strerror_r-posix: Fix autoconf test.
5945         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
5946
5947 2010-11-28  Bruno Haible  <bruno@clisp.org>
5948             Paul Eggert  <eggert@cs.ucla.edu>
5949
5950         Tests for module 'getdomainname'.
5951         * modules/getdomainname-tests: New file.
5952         * tests/test-getdomainname.c: New file, based on
5953         tests/test-gethostname.c.
5954
5955 2010-11-28  Bruno Haible  <bruno@clisp.org>
5956             Paul Eggert  <eggert@cs.ucla.edu>
5957
5958         getdomainname: Use the system function when possible.
5959         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
5960         (getdomainname): Replace if needed. Provide the declaration if it is
5961         missing. Don't use _GL_CXXALIAS_SYS_CAST.
5962         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
5963         (getdomainname): When the system has getdomainname, call the system
5964         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
5965         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
5966         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
5967         found in libnsl. Look for the declaration also in <netdb.h>. Replace
5968         the function if its second argument is of type 'int' or if it is found
5969         in libnsl.
5970         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
5971         <sys/systeminfo.h> and sysinfo().
5972         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
5973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5974         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
5975         HAVE_GETDOMAINNAME.
5976         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
5977         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
5978         * doc/glibc-functions/getdomainname.texi: Document the problems with
5979         the getdomainname declaration.
5980
5981 2010-11-28  Bruno Haible  <bruno@clisp.org>
5982
5983         sys_socket: Ensure ss_family field on AIX.
5984         * lib/sys_socket.in.h (ss_family): New macro definition.
5985         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
5986         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
5987         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
5988         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5989         * modules/sys_socket (Makefile.am): Substitute
5990         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
5991         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
5992
5993 2010-11-27  Bruno Haible  <bruno@clisp.org>
5994
5995         readline: Improve configure output.
5996         * m4/readline.m4 (gl_FUNC_READLINE): Make the
5997         "checking for readline..." result understandable.
5998
5999 2010-11-27  Bruno Haible  <bruno@clisp.org>
6000
6001         *printf-posix: Detect a bug on Solaris 10/x86.
6002         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
6003         for floating-point output.
6004         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
6005         directive.
6006         * tests/test-snprintf-posix.h (test_function): Likewise.
6007         * tests/test-sprintf-posix.h (test_function): Likewise.
6008         * tests/test-vasprintf-posix.c (test_function): Likewise.
6009         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
6010         * doc/posix-functions/printf.texi: Likewise.
6011         * doc/posix-functions/snprintf.texi: Likewise.
6012         * doc/posix-functions/sprintf.texi: Likewise.
6013         * doc/posix-functions/vfprintf.texi: Likewise.
6014         * doc/posix-functions/vprintf.texi: Likewise.
6015         * doc/posix-functions/vsnprintf.texi: Likewise.
6016         * doc/posix-functions/vsprintf.texi: Likewise.
6017         * doc/glibc-functions/obstack_printf.texi: Likewise.
6018         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
6019
6020 2010-11-27  Bruno Haible  <bruno@clisp.org>
6021
6022         Fix link error when module libunistring-optional is in use.
6023         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
6024         * modules/striconveha-tests (Makefile.am): Likewise.
6025
6026 2010-11-27  Bruno Haible  <bruno@clisp.org>
6027
6028         regex: Mention link dependencies.
6029         * modules/regex (Link): New section.
6030         * modules/rpmatch (Link): Likewise.
6031         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
6032
6033 2010-11-27  Bruno Haible  <bruno@clisp.org>
6034
6035         ftoastr: Fix compilation error on Solaris.
6036         * lib/ftoastr.c: Include <config.h>.
6037
6038 2010-11-27  Bruno Haible  <bruno@clisp.org>
6039
6040         getloadavg: Update documentation.
6041         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
6042
6043 2010-11-27  Bruno Haible  <bruno@clisp.org>
6044
6045         sys_socket: Fix test whether the functions are declared.
6046         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
6047         not <sys/select.h>.
6048
6049 2010-11-27  Bruno Haible  <bruno@clisp.org>
6050
6051         getpass: Make sure to get system declaration on some platforms.
6052         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
6053         gl_USE_SYSTEM_EXTENSIONS.
6054         * modules/getpass (Depends-on): Add extensions.
6055
6056 2010-11-26  Bruno Haible  <bruno@clisp.org>
6057
6058         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
6059         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
6060         'iconv' module is present.
6061         (ICONV_CONST): New macro.
6062         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
6063         ICONV_CONST.
6064         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
6065         set ICONV_CONST.
6066         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
6067         here.
6068         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
6069         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
6070         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
6071         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
6072         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
6073         present.
6074
6075 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
6076
6077         ftoastr: comment fix
6078         * lib/ftoastr.c: "little" -> "little or no" in comment
6079
6080 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
6081
6082         stdint: port to GCC 4.3 + OSX + Octave
6083         On this platform, stdint.h is buggy and defines int64_t to long
6084         long int.  The replacement defined it to long int, causing
6085         problems with C++ style name mangling.  Instead, trust the system
6086         definition if INT64_MAX is defined, and likewise for the unsigned
6087         variant.   Problem reported by Jarno Rajahalme in
6088         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
6089         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
6090         and don't mess with int64_t and INT64_MAX in this case.
6091         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
6092
6093 2010-11-24  Bruno Haible  <bruno@clisp.org>
6094
6095         doc: Corrections regarding MacOS X 10.4 and 10.5.
6096         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
6097         MacOS X.
6098         Reported by Simon Josefsson.
6099
6100 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
6101
6102         Uninstall ".bin" files installed by relocwrapper.
6103         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
6104         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
6105         unless it is already there.
6106
6107 2010-11-21  Bruno Haible  <bruno@clisp.org>
6108
6109         Update for NetBSD 5.0.
6110         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6111         NetBSD; the test fails on NetBSD 5.0.
6112         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6113         about NetBSD.
6114
6115 2010-11-21  Bruno Haible  <bruno@clisp.org>
6116
6117         Update for HP-UX 11.23 and HP-UX 11.31.
6118         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
6119         HP-UX.
6120
6121 2010-11-21  Bruno Haible  <bruno@clisp.org>
6122
6123         Update for MacOS X 10.5.
6124         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
6125         MacOS X; the test fails on MacOS X 10.5.8.
6126         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
6127         about MacOS X.
6128
6129 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
6130
6131         bootstrap: add bootstrap_sync option.
6132         See discussion at
6133         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
6134         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
6135         * build-aux/bootstrap: Accept --bootstrap-sync to update
6136         bootstrap if it is not identical to the local gnulib's
6137         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
6138         enable this by default.  Accept --no-bootstrap-sync to disable
6139         it.
6140
6141 2010-11-20  Bruno Haible  <bruno@clisp.org>
6142
6143         Ensure that <features.h> is included before __GLIBC__ is tested.
6144         * lib/printf-parse.h: Include <features.h>.
6145         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
6146         Reported by Mike Frysinger <vapier@gentoo.org>.
6147
6148         Ensure that <features.h> is included before __GLIBC__ is tested.
6149         * lib/wchar.in.h: Include <features.h>.
6150         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
6151         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
6152         Reported by Mike Frysinger <vapier@gentoo.org>.
6153
6154         Ensure that <features.h> is included before __GLIBC__ is tested.
6155         * lib/arpa_inet.in.h: Include <features.h>.
6156         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
6157         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
6158         Reported by Mike Frysinger <vapier@gentoo.org>.
6159
6160         Ensure that <features.h> is included before __GLIBC__ is tested.
6161         * build-aux/link-warning.h: Include <features.h>.
6162         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
6163         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
6164         Reported by Mike Frysinger <vapier@gentoo.org>.
6165
6166         Ensure that <features.h> is included before __GLIBC__ is tested.
6167         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
6168         Reported by Mike Frysinger <vapier@gentoo.org>.
6169
6170 2010-11-20  Bruno Haible  <bruno@clisp.org>
6171
6172         memmem: Fix autoconf test.
6173         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
6174
6175 2010-11-20  Bruno Haible  <bruno@clisp.org>
6176
6177         Port to uClibc.
6178         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
6179         * lib/fcntl.in.h: Likewise.
6180         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
6181         * lib/mbrtowc.c (mbrtowc): Likewise.
6182         * lib/relocatable.c (find_shared_library_fullname): Likewise.
6183         * lib/strerror_r.c: Likewise.
6184         * lib/unistr/u8-strnlen.c: Likewise.
6185         * lib/vasnprintf.c (decimal_point_char): Likewise.
6186         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6187         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6188         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
6189         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
6190         * tests/test-sigaction.c (handler, main): Likewise.
6191         * lib/freading.h: Treat uClibc like a non-glibc platform.
6192         * lib/freading.c: Likewise.
6193         * lib/gettext.h: Likewise.
6194         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
6195         Likewise.
6196         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
6197         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
6198         * lib/propername.c (proper_name_utf8): Likewise.
6199         * lib/spawn.in.h: Likewise.
6200         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
6201         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
6202         mem_cd_iconveh_internal): Likewise.
6203         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
6204         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
6205         strstr, strcasestr): Likewise.
6206         * lib/unicodeio.c (unicode_to_mb): Likewise.
6207         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
6208         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
6209         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
6210         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
6211         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
6212         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
6213         * lib/unistr/u8-stpncpy.c: Likewise.
6214         * lib/vasnprintf.c (VASNPRINTF): Likewise.
6215         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
6216         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
6217         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6218         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
6219         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
6220         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
6221         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
6222         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
6223         Likewise.
6224         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
6225         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6226         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
6227         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
6228         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
6229         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
6230         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
6231         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
6232         * tests/test-getopt.h (OPTIND_MIN): Likewise.
6233         * tests/test-striconveha.c (main): Likewise.
6234         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6235         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
6236         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
6237         * doc/posix-functions/getline.texi: Likewise.
6238         Reported by Mike Frysinger <vapier@gentoo.org>.
6239
6240 2010-11-20  Bruno Haible  <bruno@clisp.org>
6241
6242         nproc: Fix condition.
6243         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
6244         HAVE_PTHREAD_AFFINITY_NP.
6245
6246 2010-11-20  Bruno Haible  <bruno@clisp.org>
6247
6248         Fix a comment.
6249         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
6250
6251 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
6252
6253         ftoastr: don't assume snprintf
6254         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
6255         Implement a subset of snprintf here, by using sprintf safely.
6256         * modules/ftoastr (Depends-on): Remove snprintf.
6257
6258 2010-11-19  Jim Meyering  <meyering@redhat.com>
6259
6260         test-rename.h: fix compilation failure
6261         * tests/test-rename.h (test_rename): Add omitted "}".
6262
6263 2010-11-17  Jim Meyering  <meyering@redhat.com>
6264
6265         maint.mk: add a URL discussing the no-@acronym policy
6266         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
6267
6268 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6269
6270         ftoastr: depend on snprintf, improve comments
6271         * lib/ftoastr.c: Also mention Loitsch's draft.
6272         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
6273         needed in the current implementation, but it might simplify
6274         speeding up the code later.
6275         * modules/ftoastr: Depend on snprintf; this improves portability.
6276         Suggested by Bruno Haible in the same email.
6277
6278         ftoastr: port to hosts lacking strtof and strtold
6279         Problem reported by Bruno Haible in
6280         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
6281         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
6282         environment and strtold (and presumably strtof) are not available.
6283         * modules/ftoastr (Files): Add m4/c-strtod.m4.
6284         (configure.ac): Require gl_C99_STRTOLD.
6285
6286 2010-11-18  Bruno Haible  <bruno@clisp.org>
6287
6288         c-strtold: Avoid link error on AIX 7.
6289         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
6290         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
6291         (gl_C_STRTOLD): Test whether strtold_l exists.
6292         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
6293
6294 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6295
6296         intprops: new macro INT_BITS_STRLEN_BOUND
6297         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
6298         ftoastr.h.  This exposes an internal of intprops.h that was formerly
6299         not exposed.  Also, it uses a slightly tighter bound than before;
6300         though this makes no practical difference, we might as well be as
6301         tight as we easily can.
6302
6303         ftoastr: new module, for lossless conversion of floats to short strings
6304         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
6305         * modules/ftoastr: New files.
6306
6307 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
6308
6309         bootstrap: port to Solaris sed
6310         * build-aux/bootstrap (get_version): Port to Solaris sed.
6311         See Ralf Wildenhues's note in
6312         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
6313
6314 2010-11-14  Jim Meyering  <meyering@redhat.com>
6315
6316         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
6317         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
6318         and move definition closer to sole use.
6319
6320 2010-11-13  Jim Meyering  <meyering@redhat.com>
6321
6322         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
6323         Now we require at least autoconf-2.59, which means the work-around
6324         is no longer needed.
6325         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
6326         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6327         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
6328         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6329         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
6330
6331 2010-11-13  Bruno Haible  <bruno@clisp.org>
6332
6333         rename, renameat: Avoid test failures at NFS mounted locations.
6334         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
6335         functions.
6336         (test_rename): Use assert_nonexistent.
6337         * tests/test-rename.c: Include <dirent.h>.
6338         * tests/test-renameat.c: Likewise.
6339         Reported by Gary V. Vaughan <gary@gnu.org>.
6340
6341         rename, renameat: Document Linux bug with NFS
6342         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
6343         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
6344         * doc/posix-functions/renameat.texi: Likewise.
6345         Suggested by Eric Blake.
6346
6347 2010-11-13  Bruno Haible  <bruno@clisp.org>
6348
6349         rename test: Add comments.
6350         * tests/test-rename.h (test_rename): Add structure and comments.
6351
6352 2010-11-13  Eric Blake  <eblake@redhat.com>
6353
6354         maintainer-makefile: cover a few more files
6355         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
6356         scripts generated within C files, for libvirt.
6357
6358 2010-11-13  Bruno Haible  <bruno@clisp.org>
6359
6360         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
6361         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
6362         character, return the number of bytes that belong together, not always
6363         1.
6364         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
6365         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
6366         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
6367         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
6368         number of bytes of an invalid character.
6369         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
6370         (main): Invoke it.
6371         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
6372         results.
6373         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
6374         malformed byte sequences.
6375         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
6376         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
6377         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
6378         Reported by Ben Pfaff and Paolo Bonzini.
6379
6380 2010-11-13  Bruno Haible  <bruno@clisp.org>
6381
6382         openat: Work around glibc bug with fchownat() and empty file names.
6383         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
6384         (gl_FUNC_FCHOWNAT): Invoke it.
6385         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
6386         * doc/posix-functions/fchownat.texi: Document the glibc bug.
6387         Reported by Gary V. Vaughan <gary@gnu.org>.
6388
6389 2010-11-13  Bruno Haible  <bruno@clisp.org>
6390
6391         openat: Ensure autoconf macro ordering.
6392         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
6393         gl_USE_SYSTEM_EXTENSIONS.
6394         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
6395
6396 2010-11-13  Bruno Haible  <bruno@clisp.org>
6397
6398         Update comments.
6399         * lib/unistr/u8-check.c: Update file name in comments.
6400         * lib/unistr/u8-mblen.c: Likewise.
6401         * lib/unistr/u8-prev.c: Likewise.
6402         * lib/unistr/u8-strmblen.c: Likewise.
6403         * lib/unistr/u8-strmbtouc.c: Likewise.
6404
6405 2010-11-13  Jim Meyering  <meyering@redhat.com>
6406
6407         tests: avoid test failure on Solaris 10 due to lack of PATH export
6408         * tests/test-update-copyright.sh: Don't forget to export PATH.
6409
6410         init.sh: ensure that IFS is defined, just in case...
6411         * tests/init.sh (setup_): Ensure that IFS is defined,
6412         so that saving and restoring it works as expected.  This
6413         appears to be useful at least for an old version of dash
6414         from a long time ago (RH 6).  See here for details:
6415         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
6416
6417         maint.mk: tighten "test a == b" check
6418         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
6419         test to files that contain something like #!/bin/sh.
6420         Without this, coreutils would get two false positives in
6421         the comments of C source files.
6422
6423 2010-11-12  Eric Blake  <eblake@redhat.com>
6424
6425         bootstrap: fix typo in previous attempt
6426         * build-aux/bootstrap (buildreq): Correct the grouping.
6427         Reported by Paul Eggert.
6428
6429         maintainer-makefile: prohibit test x == x
6430         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
6431         Based on a report by Matthias Bolte.
6432
6433         bootstrap: allow FreeBSD gzip
6434         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
6435         which has no '.' and goes to stderr.
6436         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
6437         Reported by Matthias Bolte.
6438
6439         maintainer-makefile: check for i18n setup
6440         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
6441         will likely work.
6442
6443 2010-11-12  Bruno Haible  <bruno@clisp.org>
6444
6445         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
6446         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
6447         * lib/nanosleep.c (nanosleep): Likewise.
6448
6449 2010-11-11  Bruno Haible  <bruno@clisp.org>
6450
6451         fcntl-h: Fix for use of C++ on glibc systems.
6452         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6453         also on glibc systems in C++ mode.
6454         Reported by Gary V. Vaughan <gary@gnu.org>.
6455
6456 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6457
6458         mknod: avoid false failure with dash
6459         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
6460
6461 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
6462
6463         unlink: Fix "is it should" typo in diagnostic.
6464         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
6465         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
6466
6467 2010-11-11  Bruno Haible  <bruno@clisp.org>
6468
6469         Tests for module 'strerror_r-posix'.
6470         * modules/strerror_r-posix-tests: New file.
6471         * tests/test-strerror_r.c: New file.
6472         * tests/test-string-c++.cc: Check the signature of strerror_r.
6473
6474         New module 'strerror_r-posix'.
6475         * lib/string.in.h (strerror_r): New declaration.
6476         * lib/strerror_r.c: New file.
6477         * m4/strerror_r.m4: New file.
6478         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
6479         of strerror_r.
6480         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
6481         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6482         * modules/strerror_r-posix: New file.
6483         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
6484         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
6485         * doc/posix-functions/strerror_r.texi: Mention the new module and the
6486         portability problems.
6487
6488 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
6489
6490         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
6491         line is also considered for output. Quoted function name in shell
6492         command, so temporary files for functions like MyClass::operator()
6493         are removed correctly without errors.
6494
6495 2010-11-09  Bruno Haible  <bruno@clisp.org>
6496
6497         * doc/posix-functions/strerror.texi: List more failing platforms.
6498
6499         * doc/posix-functions/strerror.texi: Add a comment.
6500
6501 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
6502
6503         fdopendir: fix bug on MacOS X when low on file descriptors
6504
6505         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
6506         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
6507         All callers changed.
6508         (fdopendir): Invoke save_cwd at the top level, not after using
6509         multiple dup() calls to use up file descriptors.  Then retry
6510         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
6511         less than the maximum number of open file descriptors, because
6512         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
6513         on Mac OS X 10.6.4 for tar 1.24
6514         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
6515         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
6516         and for tar 1.25
6517         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
6518
6519 2010-11-07  Bruno Haible  <bruno@clisp.org>
6520
6521         vasnprintf: Support I flag on glibc systems.
6522         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
6523         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
6524         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
6525         snprintf function.
6526         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
6527         glibc systems.
6528         * tests/test-vasnprintf-posix3.c: New file.
6529         * modules/vasnprintf-posix-tests (Files): Add it.
6530         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
6531
6532 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
6533
6534         [html] Fix copy/paste bug: Use unique name for compiler warnings.
6535         * MODULES.html.sh: For compiler warnings, use name
6536         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
6537
6538 2010-11-05  Eric Blake  <eblake@redhat.com>
6539
6540         ceil, floor: avoid spurious failure with icc
6541         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
6542         [denormals-as-zero] when optimizing without -mieee-fp option.
6543         * tests/test-floorf2.c (floorf_reference): Likewise.
6544         * tests/test-ceilf1.c (dummy): New function.
6545         (main): Use it to outsmart icc's optimization.
6546         * tests/test-floorf1.c (dummy, main): Likewise.
6547
6548         tests: require working signbit
6549         * modules/ceilf-tests (Depends-on): Add signbit.
6550         * modules/ceill-tests (Depends-on): Likewise.
6551         * modules/floorf-tests (Depends-on): Likewise.
6552         * modules/floorl-tests (Depends-on): Likewise.
6553         * modules/round-tests (Depends-on): Likewise.
6554         * modules/roundf-tests (Depends-on): Likewise.
6555         * modules/roundl-tests (Depends-on): Likewise.
6556         * modules/trunc-tests (Depends-on): Likewise.
6557         * modules/truncf-tests (Depends-on): Likewise.
6558         * modules/truncl-tests (Depends-on): Likewise.
6559
6560         strtod: work around icc bug
6561         * lib/strtod.c (minus_zero): Define to working value.
6562         (strtod): Use it to avoid icc bug.
6563
6564         copysign: enhance tests
6565         * modules/copysign-tests (Files): Add minus-zero.h.
6566         * tests/test-copysign.c (main): Also test zeros.
6567
6568 2010-11-04  Eric Blake  <eblake@redhat.com>
6569
6570         ceil, floor, round, trunc: enhance tests of -0
6571         * tests/test-ceilf1.c (main): Ensure correct sign of result.
6572         * tests/test-ceill.c (main): Likewise.
6573         * tests/test-floorf1.c (main): Likewise.
6574         * tests/test-floorl.c (main): Likewise.
6575         * tests/test-round1.c (main): Likewise.
6576         * tests/test-roundf1.c (main): Likewise.
6577         * tests/test-roundl.c (main): Likewise.
6578         * tests/test-trunc1.c (main): Likewise.
6579         * tests/test-truncf1.c (main): Likewise.
6580         * tests/test-truncl.c (main): Likewise.
6581
6582 2010-11-04  Eric Blake  <eblake@redhat.com>
6583
6584         frexp, tests: work around ICC bug with -zero
6585         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
6586         works with more compilers.
6587         * tests/minus-zero.h: New file.
6588         * modules/ceilf-tests (Files): Include it.
6589         * modules/ceill-tests (Files): Likewise.
6590         * modules/floorf-tests (Files): Likewise.
6591         * modules/floorl-tests (Files): Likewise.
6592         * modules/frexp-nolibm-tests (Files): Likewise.
6593         * modules/frexp-tests (Files): Likewise.
6594         * modules/frexpl-nolibm-tests (Files): Likewise.
6595         * modules/frexpl-tests (Files): Likewise.
6596         * modules/isnan-tests (Files): Likewise.
6597         * modules/isnand-nolibm-tests (Files): Likewise.
6598         * modules/isnand-tests (Files): Likewise.
6599         * modules/isnanf-nolibm-tests (Files): Likewise.
6600         * modules/isnanf-tests (Files): Likewise.
6601         * modules/isnanl-nolibm-tests (Files): Likewise.
6602         * modules/isnanl-tests (Files): Likewise.
6603         * modules/round-tests (Files): Likewise.
6604         * modules/roundf-tests (Files): Likewise.
6605         * modules/roundl-tests (Files): Likewise.
6606         * modules/ldexpl-tests (Files): Likewise.
6607         * modules/signbit-tests (Files): Likewise.
6608         * modules/snprintf-posix-tests (Files): Likewise.
6609         * modules/sprintf-posix-tests (Files): Likewise.
6610         * modules/strtod-tests (Files): Likewise.
6611         * modules/trunc-tests (Files): Likewise.
6612         * modules/truncf-tests (Files): Likewise.
6613         * modules/truncl-tests (Files): Likewise.
6614         * modules/vsnprintf-posix-tests (Files): Likewise.
6615         * modules/vsprintf-posix-tests (Files): Likewise.
6616         * modules/vasnprintf-posix-tests (Files): Likewise.
6617         * modules/vasprintf-posix-tests (Files): Likewise.
6618         * tests/test-ceilf1.c (main): Use it.
6619         * tests/test-ceill.c (main): Likewise.
6620         * tests/test-floorf1.c (main): Likewise.
6621         * tests/test-floorl.c (main): Likewise.
6622         * tests/test-frexp.c (main): Likewise.
6623         * tests/test-frexpl.c (main): Likewise.
6624         * tests/test-isnan.c (main): Likewise.
6625         * tests/test-isnand.h (main): Likewise.
6626         * tests/test-isnanf.h (main): Likewise.
6627         * tests/test-isnanl.h (main): Likewise.
6628         * tests/test-ldexpl.c (main): Likewise.
6629         * tests/test-round.c (main): Likewise.
6630         * tests/test-roundf.c (main): Likewise.
6631         * tests/test-roundl.c (main): Likewise.
6632         * tests/test-signbit.c (test_signbitf, test_signbitd)
6633         (test_signbitl): Likewise.
6634         * tests/test-snprintf-posix.h (test_function): Likewise.
6635         * tests/test-sprintf-posix.h (test_function): Likewise.
6636         * tests/test-strtod.c (main): Likewise.
6637         * tests/test-trunc1.c (main): Likewise.
6638         * tests/test-truncf1.c (main): Likewise.
6639         * tests/test-truncl.c (main): Likewise.
6640
6641         isnanl: work around icc bug
6642         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
6643
6644 2010-11-03  Eric Blake  <eblake@redhat.com>
6645
6646         tests: fix compiler warnings
6647         * tests/test-getopt.h (test_getopt): Fix condition.
6648         * tests/test-getopt_long.h (test_getopt_long): Likewise.
6649         * tests/test-pipe2.c (main): Likewise.
6650         * tests/test-quotearg-simple.c (main): Avoid icc warning.
6651
6652         utimens: fix broken m4 test
6653         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
6654
6655 2010-10-28  Bruno Haible  <bruno@clisp.org>
6656
6657         posix_spawn*, getdtablesize: Relax license.
6658         * modules/posix_spawn (License): Change to LGPLv2+.
6659         * modules/posix_spawnp (License): Likewise.
6660         * modules/posix_spawn-internal (License): Likewise.
6661         * modules/posix_spawnattr_init (License): Likewise.
6662         * modules/posix_spawnattr_getflags (License): Likewise.
6663         * modules/posix_spawnattr_setflags (License): Likewise.
6664         * modules/posix_spawnattr_getpgroup (License): Likewise.
6665         * modules/posix_spawnattr_setpgroup (License): Likewise.
6666         * modules/posix_spawnattr_getschedparam (License): Likewise.
6667         * modules/posix_spawnattr_setschedparam (License): Likewise.
6668         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
6669         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
6670         * modules/posix_spawnattr_getsigdefault (License): Likewise.
6671         * modules/posix_spawnattr_setsigdefault (License): Likewise.
6672         * modules/posix_spawnattr_getsigmask (License): Likewise.
6673         * modules/posix_spawnattr_setsigmask (License): Likewise.
6674         * modules/posix_spawnattr_destroy (License): Likewise.
6675         * modules/posix_spawn_file_actions_init (License): Likewise.
6676         * modules/posix_spawn_file_actions_addclose (License): Likewise.
6677         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
6678         * modules/posix_spawn_file_actions_addopen (License): Likewise.
6679         * modules/posix_spawn_file_actions_destroy (License): Likewise.
6680         * modules/getdtablesize (License): Likewise.
6681         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
6682
6683 2010-10-26  Bruno Haible  <bruno@clisp.org>
6684
6685         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
6686         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
6687         Cygwin and mingw.
6688         Suggested by Eric Blake.
6689
6690 2010-10-26  Bruno Haible  <bruno@clisp.org>
6691
6692         stdio: Work around compilation error due to renameat() on Solaris 10.
6693         * lib/stdio.in.h: Include <unistd.h> on Solaris.
6694         * lib/renameat.c: Don't include <unistd.h> here.
6695         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
6696         Reported by Paul Eggert and Eric Blake.
6697
6698 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
6699
6700         renameat: port to Solaris 10, which declares renameat in unistd.h
6701
6702         * lib/renameat.c: Include unistd.h before stdio.h, because
6703         Solaris 10 declares renameat in unistd.h.  Problem encountered
6704         when building GNU tar 1.24 on Solaris 10.
6705
6706 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
6707
6708         fdopendir: fix C89 compilation
6709         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
6710         compilers.
6711
6712 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
6713
6714         inttostr: simplify by removing unnecessary redundancy
6715         * lib/anytostr.c: Don't include verify.h.
6716         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
6717         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
6718         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
6719         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
6720         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
6721         Likewise.
6722         * modules/inttostr (Depends-on): Remove 'verify'.
6723
6724 2010-10-23  Bruno Haible  <bruno@clisp.org>
6725
6726         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
6727         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
6728         Reported by Eric Blake.
6729
6730 2010-10-23  Bruno Haible  <bruno@clisp.org>
6731
6732         Tests: Fix LOCALE_JA on MirBSD 10.
6733         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
6734         to an UTF-8 locale.
6735         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
6736         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6737         Reported by Eric Blake.
6738
6739 2010-10-21  Bruno Haible  <bruno@clisp.org>
6740
6741         nl_langinfo test: Avoid test failure on NetBSD 5.
6742         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
6743         Reported by Eric Blake.
6744
6745 2010-10-21  Eric Blake  <eblake@redhat.com>
6746
6747         c-stack: work around libsigsegv 2.8 bug
6748         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
6749         overflow on at least PowerPC64.
6750
6751 2010-10-17  Bruno Haible  <bruno@clisp.org>
6752
6753         userspec: Drop redundant file.
6754         * modules/userspec (Files): Remove lib/inttostr.h.
6755
6756 2010-10-17  Bruno Haible  <bruno@clisp.org>
6757
6758         nl_langinfo tests: Silence some warnings.
6759         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
6760         Reported by Jim Meyering.
6761
6762 2010-10-17  Bruno Haible  <bruno@clisp.org>
6763
6764         Make use of GCC's attribute __alloc_size__.
6765         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
6766         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
6767         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
6768         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
6769         __alloc_size__.
6770         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
6771         Suggested by Jim Meyering.
6772
6773 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
6774
6775         bootstrap: anchor .gitignore entries.
6776         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
6777         with...
6778         (insert_vc_ignore): ... this new function, which prepends `/' to
6779         all .gitignore entries before passing them to
6780         insert_sorted_if_absent.
6781
6782 2010-10-16  Bruno Haible  <bruno@clisp.org>
6783
6784         nextafter: Fix configure check.
6785         * modules/nextafter (configure.ac): Correct expected prototype.
6786
6787 2010-10-16  Bruno Haible  <bruno@clisp.org>
6788
6789         termios: Update documentation.
6790         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
6791
6792 2010-10-16  Bruno Haible  <bruno@clisp.org>
6793
6794         tests: Make them compile with TinyCC.
6795         * tests/test-strstr.c (main): Remove parentheses around array
6796         initializer.
6797
6798 2010-10-15  Eric Blake  <eblake@redhat.com>
6799
6800         ignore-value: make header idempotent
6801         * lib/ignore-value.h: Add double-inclusion guards.
6802         Reported by Stefan Berger.
6803
6804 2010-10-15  Jim Meyering  <meyering@redhat.com>
6805
6806         GNUmakefile: handle "stable" target, not "major"
6807         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
6808         lists in maint.mk and announce-gen.  Without this, "make stable"
6809         would fail to ensure that $(VERSION) is up to date.
6810
6811 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
6812
6813         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
6814         & co.
6815
6816 2010-10-14  Bruno Haible  <bruno@clisp.org>
6817
6818         vasnprintf: Don't set errno to 0.
6819         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
6820         block that sets it to 0.
6821         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
6822
6823 2010-10-14  Bruno Haible  <bruno@clisp.org>
6824
6825         socketlib: Fix.
6826         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
6827         gl_PREREQ_SYS_H_WINSOCK2.
6828         Reported by Ian Beckwith <ianb@erislabs.net>.
6829
6830 2010-10-13  Jim Meyering  <meyering@redhat.com>
6831
6832         test-select-stdin.c: avoid warn_unused_result warnings
6833         * tests/test-select-stdin.c: Include "macros.h".
6834         ASSERT that read and fflush succeed.
6835
6836 2010-10-13  Jim Meyering  <meyering@redhat.com>
6837
6838         git-version-gen: do require git-VC'd files in cwd
6839         * build-aux/git-version-gen: Reject a git version string
6840         if there are no commits associated with the current directory.
6841         This avoids an unlikely false-positive (unrelated dir whose parent
6842         repository also contains a tag matching v*), as pointed out
6843         by Giuseppe Scrivano in
6844         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
6845
6846 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
6847
6848         argv-iter: omit nonconforming declaration
6849         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
6850         enum arg_iter_err declaration, which doesn't conform to C99.
6851         Solaris 10 cc warns about this.
6852
6853 2010-10-13  Eric Blake  <eblake@redhat.com>
6854
6855         termios: fix compilation on mingw
6856         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
6857         (gl_TERMIOS_H): Adjust it on mingw.
6858         * modules/termios (Makefile.am): Substitute new key.
6859         * lib/termios.in.h (includes): Make include_next conditional.
6860         * doc/posix-headers/termios.texi (termios.h): Update
6861         documentation.
6862         Reported by Daniel P. Berrange.
6863
6864 2010-10-13  Jim Meyering  <meyering@redhat.com>
6865
6866         git-version-gen: don't require that .git/ be in the current dir
6867         * build-aux/git-version-gen: Adjust this script so that it works
6868         when run from any working directory beneath the top-level .git/-
6869         containing directory.  Inspired by a patch from Giuseppe Scrivano,
6870         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
6871
6872         test-select: avoid warn_unused_result warnings
6873         * tests/test-select.c: Include "macros.h".
6874         ASSERT that each call to read, write, and pipe succeeds.
6875         While not technically required, also check each "close".
6876         * modules/select-tests (Files): Add tests/macros.h.
6877
6878         test-symlinkat: remove declaration of unused local
6879         * tests/test-symlinkat.c (main): Remove unused local, "buf".
6880
6881         test-inttostr: avoid shadowing warnings
6882         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
6883         and use malloc rather than the stack for the same reason as
6884         mentioned in the comment justifying the other allocation.
6885
6886 2010-10-11  Bruno Haible  <bruno@clisp.org>
6887
6888         stdlib: Allow multiple gnulib generated replacements to coexist.
6889         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
6890         Reported by Sam Steingold <sds@gnu.org>.
6891
6892 2010-10-11  Jim Meyering  <meyering@redhat.com>
6893
6894         fix a documentation typo
6895         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
6896
6897 2010-10-11  Eric Blake  <eblake@redhat.com>
6898
6899         futimens: work around Solaris 11 bug
6900         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
6901         * tests/test-futimens.h (test_futimens): Enhance, rather than
6902         weaken test.
6903         * doc/posix-functions/futimens.texi (futimens): Document the bug.
6904
6905 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
6906
6907         Indentation.
6908         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
6909         higher-level operators more to the left.
6910
6911 2010-10-11  Jim Meyering  <meyering@redhat.com>
6912
6913         test-futimens: avoid unwarranted test failure on Solaris 5.11
6914         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
6915         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
6916         because it tries to dereference the NULL name argument.
6917
6918 2010-10-11  Bruno Haible  <bruno@clisp.org>
6919
6920         Indentation.
6921         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
6922         indentation.
6923
6924 2010-10-11  Jim Meyering  <meyering@redhat.com>
6925
6926         spawn.in.h: make indentation consistent with parentheses
6927         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
6928         Make indentation consistent with parentheses.
6929
6930 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
6931
6932         Fix mismatched parens in previous commit
6933         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
6934         parens.
6935
6936 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
6937
6938         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
6939
6940         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
6941         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
6942         * lib/malloca.c: Include "verify.h".
6943         (verify1): Remove, replacing with a verify call.
6944         * lib/relocwrapper.c (verify1): Likewise.
6945         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
6946         Likewise.
6947         * modules/malloca (Depends-on): Add 'verify'.
6948         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
6949         * modules/vasnprintf (Depends-on): Add 'verify'.
6950         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
6951         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6952         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6953         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6954         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6955         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6956         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6957
6958         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
6959
6960         Formerly the style was sometimes 2*X - 1, because the C standard
6961         was wrongly thought to disallow ?: in integral constant expressions.
6962         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
6963         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
6964         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
6965         * lib/stdint.in.h (_verify_intmax_size): Likewise.
6966         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
6967         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
6968         verify that time_t cannot be floating.
6969
6970 2010-10-08  Eric Blake  <eblake@redhat.com>
6971
6972         time: enforce recent POSIX ruling that time_t is integral
6973         * lib/time.in.h (__time_t_must_be_integral): Detect any
6974         problematic systems, allowing the rest of gnulib to assume POSIX.
6975
6976 2010-10-08  Jim Meyering  <meyering@redhat.com>
6977
6978         fdopendir: fix a bug on systems lacking openat and /proc support
6979         OpenBSD 4.7 is one such system.  The most noticeable effect was
6980         failure of any application making nontrivial use of fts: rm, du,
6981         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
6982           ./rm: traversal failed: `a': Bad file descriptor
6983         Debugging that, you see that even though FD 6 was closed just
6984         prior to the opendir call in fd_clone_opendir, its resulting
6985         dir->dd_fd was 8, rather than the expected value of 6:
6986
6987         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
6988         93                close (fd);
6989         (gdb) n
6990         94                dir = fd_clone_opendir (dupfd);
6991         (gdb) n
6992         95                saved_errno = errno;
6993         (gdb) p dir->dd_fd
6994         $11 = 8
6995
6996         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
6997         The problem is that on OpenBSD, fd_clone_opendir has to resort
6998         to using the old-style save/restore CWD mechanism, due to its
6999         lack of openat/proc support, and *that* would steal the FD (6)
7000         that opendir was supposed to use.
7001
7002         The fix is to squirrel away the desired FD so that save_cwd uses a
7003         different one, and then free the dest FD right before calling opendir.
7004         That guarantees opendir will use the required file descriptor.
7005
7006         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
7007
7008 2010-10-08  Bruno Haible  <bruno@clisp.org>
7009
7010         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
7011         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
7012
7013 2010-10-08  Bruno Haible  <bruno@clisp.org>
7014
7015         nanosleep: Make replacement POSIX compliant.
7016         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
7017         is out of range.
7018         Reported by Jim Meyering.
7019
7020 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7021
7022         bootstrap: add hook for altering gnulib.mk, for Bison
7023         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
7024         the Bison bootstrapping process can rewrite file names and variables
7025         in this file before later parts of 'bootstrap' use the file.
7026         Bison wants to include lib/gnulib.mk from the top-level makefile,
7027         so it needs the file names in this file to be relative to the top
7028         level, not relative to lib; plus it needs variable names to be
7029         rewritten.
7030         (slurp): Use the new function.
7031
7032         bootstrap: reformat for readability
7033         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
7034
7035 2010-10-08  Eric Blake  <eblake@redhat.com>
7036
7037         docs: update cygwin progress
7038         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
7039         1.7.7.
7040         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
7041         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
7042         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
7043         * doc/posix-functions/carg.texi (carg): Likewise.
7044         * doc/posix-functions/cargf.texi (cargf): Likewise.
7045         * doc/posix-functions/casin.texi (casin): Likewise.
7046         * doc/posix-functions/casinf.texi (casinf): Likewise.
7047         * doc/posix-functions/casinh.texi (casinh): Likewise.
7048         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
7049         * doc/posix-functions/catan.texi (catan): Likewise.
7050         * doc/posix-functions/catanf.texi (catanf): Likewise.
7051         * doc/posix-functions/catanh.texi (catanh): Likewise.
7052         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
7053         * doc/posix-functions/ccos.texi (ccos): Likewise.
7054         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
7055         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
7056         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
7057         * doc/posix-functions/cexp.texi (cexp): Likewise.
7058         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
7059         * doc/posix-functions/cimag.texi (cimag): Likewise.
7060         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
7061         * doc/posix-functions/clog.texi (clog): Likewise.
7062         * doc/posix-functions/clogf.texi (clogf): Likewise.
7063         * doc/posix-functions/conj.texi (conj): Likewise.
7064         * doc/posix-functions/conjf.texi (conjf): Likewise.
7065         * doc/posix-functions/cpow.texi (cpow): Likewise.
7066         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
7067         * doc/posix-functions/cproj.texi (cproj): Likewise.
7068         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
7069         * doc/posix-functions/creal.texi (creal): Likewise.
7070         * doc/posix-functions/crealf.texi (crealf): Likewise.
7071         * doc/posix-functions/csin.texi (csin): Likewise.
7072         * doc/posix-functions/csinf.texi (csinf): Likewise.
7073         * doc/posix-functions/csinh.texi (csinh): Likewise.
7074         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
7075         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
7076         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
7077         * doc/posix-functions/ctan.texi (ctan): Likewise.
7078         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
7079         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
7080         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
7081         * doc/posix-headers/complex.texi (complex.h): Likewise.
7082
7083 2010-10-07  Jim Meyering  <meyering@redhat.com>
7084
7085         parse-datetime: avoid compilation failure on OpenBSD 4.7
7086         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
7087         This works around a compilation failure on OpenBSD 4.7:
7088         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
7089
7090 2010-10-07  Eric Blake  <eblake@redhat.com>
7091
7092         docs: update cygwin progress
7093         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
7094         1.7.6.
7095         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
7096         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
7097         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
7098         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
7099         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
7100         Likewise.
7101         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
7102         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
7103         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
7104         Likewise.
7105         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
7106         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
7107         Likewise.
7108         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
7109         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
7110         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
7111         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
7112         Likewise.
7113         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
7114         Likewise.
7115         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
7116
7117         docs: update parse-datetime history
7118         * doc/parse-datetime.texi (Authors of parse_datetime): Better
7119         documentation of this function's history and alternatives.
7120
7121         cygwin: use more robust version check
7122         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
7123         exclude an eventual cygwin 1.9.1.
7124         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7125         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7126         (gl_FUNC_STRCASESTR): Likewise.
7127         Reported by Bruno Haible.
7128
7129 2010-10-06  Bruno Haible  <bruno@clisp.org>
7130
7131         string, sys_select: Avoid #including large headers unless necessary.
7132         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
7133         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
7134         OSF/1, BeOS, Haiku.
7135         Reported by Jim Meyering.
7136
7137 2010-10-05  Eric Blake  <eblake@redhat.com>
7138
7139         memmem, strstr, strcasestr: fix bug with long periodic needle
7140         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
7141         periodic needle having false positive.
7142         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
7143         and cygwin 1.7.7.
7144         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
7145         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
7146         (gl_FUNC_STRCASESTR): Likewise.
7147         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7148         * tests/test-memmem.c (main): Expose the bug.
7149         * tests/test-strcasestr.c (main): Likewise.
7150         * tests/test-strstr.c (main): Likewise.
7151         * tests/test-c-strcasestr.c (main): Likewise.
7152         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
7153         * doc/posix-functions/strstr.texi (strstr): Likewise.
7154         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
7155         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
7156
7157 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7158
7159         parse-datetime: do some more renaming
7160         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
7161         parse_datetime, not get_date.  Mention the renaming.
7162         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
7163         in comments.
7164         * m4/bison.m4: Likewise.
7165
7166 2010-10-05  Eric Blake  <eblake@redhat.com>
7167
7168         parse-datetime: better name than get_date
7169         * NEWS: Reword the deprecation notice.
7170         * modules/get_date: Rename to modules/parse-datetime.
7171         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
7172         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
7173         * lib/get_date.y: Rename to lib/parse-datetime.y.
7174         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
7175         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
7176         * doc/getdate.texi: Provide fallback wrapper.
7177         * lib/getdate.h: Move guts, and wrap...
7178         * lib/parse-datetime.h: ...new file.
7179         * lib/parse-datetime.y (get_date): Rename...
7180         (parse_datetime): ...to this.
7181         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
7182         (gl_PARSE_DATETIME): ...to this.
7183         * doc/posix-functions/getdate.texi (get_date): Provide fallback
7184         documentation.
7185         * modules/getdate (Files): Provide fallback docs and header.
7186         (Notice, Depends-on): Update references.
7187         * tests/test-parse-datetime.c: Likewise.
7188         * DEPENDENCIES: Likewise.
7189         * MODULES.html.sh (Date and time <time.h>): Likewise.
7190         * doc/parse-datetime.texi (Date input formats)
7191         (Authors of parse_datetime): Likewise.
7192         * modules/parse-datetime (Files, configure.ac, Makefile.am)
7193         (Include): Likewise.
7194         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
7195         * gnulib-tool: Likewise.
7196         * m4/bison.m4 (gl_BISON): Likewise.
7197         Suggested by Bruno Haible.
7198
7199 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7200
7201         more ports to Solaris tr, which needs [] around ranges
7202         * gnulib-tool: Solaris tr needs [] around ranges.
7203         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7204         * tests/test-pipe-filter-gi1.c (main): Likewise.
7205         * tests/test-pipe-filter-ii1.c (main): Likewise.
7206
7207 2010-10-05  Eric Blake  <eblake@redhat.com>
7208
7209         bootstrap: fix Solaris regression
7210         * build-aux/bootstrap (check_versions): Solaris tr still needs []
7211         around ranges.
7212         Reported by Pádraig Brady.
7213
7214         bootstrap: work with pkg-config
7215         * build-aux/bootstrap (check_versions): Also transliterate - in
7216         prerequisite name.
7217         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
7218         prerequisites that were already found, to avoid confusion.
7219         Reported by Justin Clift.
7220
7221         faccessat: remove unused wrappers
7222         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
7223         presence of these wrappers dragged in -lgen on Solaris.
7224         Reported by Clemens Brogi; fix suggested by Paul Eggert.
7225
7226 2010-10-05  Jim Meyering  <meyering@redhat.com>
7227
7228         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
7229         * Makefile (sc_pragma_columns): New syntax-check rule.
7230
7231 2010-10-04  Bruno Haible  <bruno@clisp.org>
7232
7233         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
7234         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
7235         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
7236         Reported by Bruce Korb and Eric Blake.
7237
7238 2010-10-04  Bruno Haible  <bruno@clisp.org>
7239
7240         threadlib: Make option --with-libpth-prefix work.
7241         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
7242         use $LIBPTH, not just -lpth.
7243
7244 2010-10-04  Bruno Haible  <bruno@clisp.org>
7245
7246         Avoid line length limitation from HP NonStop system header files.
7247         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
7248         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
7249         * lib/ctype.in.h: Likewise.
7250         * lib/dirent.in.h: Likewise.
7251         * lib/errno.in.h: Likewise.
7252         * lib/fcntl.in.h: Likewise.
7253         * lib/float.in.h: Likewise.
7254         * lib/getopt.in.h: Likewise.
7255         * lib/iconv.in.h: Likewise.
7256         * lib/inttypes.in.h: Likewise.
7257         * lib/langinfo.in.h: Likewise.
7258         * lib/locale.in.h: Likewise.
7259         * lib/math.in.h: Likewise.
7260         * lib/netdb.in.h: Likewise.
7261         * lib/netinet_in.in.h: Likewise.
7262         * lib/poll.in.h: Likewise.
7263         * lib/pthread.in.h: Likewise.
7264         * lib/pty.in.h: Likewise.
7265         * lib/sched.in.h: Likewise.
7266         * lib/se-selinux.in.h: Likewise.
7267         * lib/search.in.h: Likewise.
7268         * lib/signal.in.h: Likewise.
7269         * lib/spawn.in.h: Likewise.
7270         * lib/stdarg.in.h: Likewise.
7271         * lib/stddef.in.h: Likewise.
7272         * lib/stdint.in.h: Likewise.
7273         * lib/stdio.in.h: Likewise.
7274         * lib/stdlib.in.h: Likewise.
7275         * lib/string.in.h: Likewise.
7276         * lib/strings.in.h: Likewise.
7277         * lib/sys_file.in.h: Likewise.
7278         * lib/sys_ioctl.in.h: Likewise.
7279         * lib/sys_select.in.h: Likewise.
7280         * lib/sys_socket.in.h: Likewise.
7281         * lib/sys_stat.in.h: Likewise.
7282         * lib/sys_time.in.h: Likewise.
7283         * lib/sys_times.in.h: Likewise.
7284         * lib/sys_utsname.in.h: Likewise.
7285         * lib/sys_wait.in.h: Likewise.
7286         * lib/sysexits.in.h: Likewise.
7287         * lib/termios.in.h: Likewise.
7288         * lib/time.in.h: Likewise.
7289         * lib/unistd.in.h: Likewise.
7290         * lib/wchar.in.h: Likewise.
7291         * lib/wctype.in.h: Likewise.
7292         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
7293         * modules/ctype (Makefile.am): Likewise.
7294         * modules/dirent (Makefile.am): Likewise.
7295         * modules/errno (Makefile.am): Likewise.
7296         * modules/fcntl-h (Makefile.am): Likewise.
7297         * modules/float (Makefile.am): Likewise.
7298         * modules/getopt-posix (Makefile.am): Likewise.
7299         * modules/iconv-h (Makefile.am): Likewise.
7300         * modules/inttypes (Makefile.am): Likewise.
7301         * modules/langinfo (Makefile.am): Likewise.
7302         * modules/locale (Makefile.am): Likewise.
7303         * modules/math (Makefile.am): Likewise.
7304         * modules/netdb (Makefile.am): Likewise.
7305         * modules/netinet_in (Makefile.am): Likewise.
7306         * modules/poll-h (Makefile.am): Likewise.
7307         * modules/pthread (Makefile.am): Likewise.
7308         * modules/pty (Makefile.am): Likewise.
7309         * modules/sched (Makefile.am): Likewise.
7310         * modules/search (Makefile.am): Likewise.
7311         * modules/selinux-h (Makefile.am): Likewise.
7312         * modules/signal (Makefile.am): Likewise.
7313         * modules/spawn (Makefile.am): Likewise.
7314         * modules/stdarg (Makefile.am): Likewise.
7315         * modules/stddef (Makefile.am): Likewise.
7316         * modules/stdint (Makefile.am): Likewise.
7317         * modules/stdio (Makefile.am): Likewise.
7318         * modules/stdlib (Makefile.am): Likewise.
7319         * modules/string (Makefile.am): Likewise.
7320         * modules/strings (Makefile.am): Likewise.
7321         * modules/sys_file (Makefile.am): Likewise.
7322         * modules/sys_ioctl (Makefile.am): Likewise.
7323         * modules/sys_select (Makefile.am): Likewise.
7324         * modules/sys_socket (Makefile.am): Likewise.
7325         * modules/sys_stat (Makefile.am): Likewise.
7326         * modules/sys_time (Makefile.am): Likewise.
7327         * modules/sys_times (Makefile.am): Likewise.
7328         * modules/sys_utsname (Makefile.am): Likewise.
7329         * modules/sys_wait (Makefile.am): Likewise.
7330         * modules/sysexits (Makefile.am): Likewise.
7331         * modules/termios (Makefile.am): Likewise.
7332         * modules/time (Makefile.am): Likewise.
7333         * modules/unistd (Makefile.am): Likewise.
7334         * modules/wchar (Makefile.am): Likewise.
7335         * modules/wctype (Makefile.am): Likewise.
7336
7337 2010-10-04  Bruno Haible  <bruno@clisp.org>
7338
7339         read-file tests: Avoid a test failure on NonStop Kernel.
7340         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
7341         a regular file.
7342         Reported by Joachim Schmitz <schmitz@hp.com>.
7343
7344 2010-10-03  Bruno Haible  <bruno@clisp.org>
7345
7346         gnulib-tool: Fixes for --create-testdir with --libtool.
7347         * gnulib-tool (func_get_automake_snippet): Don't augment
7348         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
7349         an executable.
7350         (func_create_testdir): Handle module 'alloca' like func_import.
7351         Reported by Bruce Korb <bruce.korb@gmail.com>.
7352
7353 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
7354
7355         Avoid some lines longer than 80 characters.
7356         * lib/stdint.in.h: Break long comment lines.
7357         * lib/math.in.h: Likewise.
7358         (_GL_NUM_UINT_WORDS): New macro, for readability.
7359         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
7360         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
7361         * lib/stdlib.in.h: Likewise.
7362         * lib/spawn.in.h: Likewise.
7363         * lib/sys_socket.in.h: Update an URL.
7364         * lib/sys_stat.in.h: Break long line.
7365
7366 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
7367
7368         Improve pmccabe2html.
7369         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
7370         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
7371         when the sources change. Remove the line in the HTML about "Used
7372         ranges" (which implied that there might be other unused ranges),
7373         rename "Resume" to "Summary" (easier to understand for more users).
7374         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
7375         styles, and some unnecessary blank lines.
7376
7377 2010-10-03  Bruno Haible  <bruno@clisp.org>
7378             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
7379
7380         acl: Add support for ACLs on NonStop Kernel.
7381         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
7382         Check whether the function aclsort() exists.
7383         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
7384         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
7385         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7386         (acl_nontrivial [HAVE_ACLSORT]: New function.
7387         (file_has_acl): Implement for NonStop Kernel.
7388         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7389         (qset_acl): Implement for NonStop Kernel.
7390         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
7391         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
7392         (main): Implement for NonStop Kernel.
7393         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
7394         Kernel. Handle this flavor.
7395         * tests/test-set-mode-acl.sh: Likewise.
7396         * tests/test-copy-acl.sh: Likewise.
7397         * tests/test-copy-file.sh: Likewise.
7398
7399 2010-10-03  Bruno Haible  <bruno@clisp.org>
7400
7401         Info about ACLs on NonStop Kernel.
7402         * doc/acl-resources.txt: Add info about NonStop Kernel.
7403         References by Joachim Schmitz <schmitz@hp.com>.
7404
7405 2010-10-02  Bruno Haible  <bruno@clisp.org>
7406
7407         Define missing EDQUOT on NonStop Kernel.
7408         * lib/errno.in.h (EDQUOT): Assign a value if missing.
7409         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
7410         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
7411         missing.
7412         * doc/posix-headers/errno.texi: Mention the NSK bug.
7413         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
7414         Reported by Joachim Schmitz <schmitz@hp.com>.
7415
7416 2010-10-02  Bruno Haible  <bruno@clisp.org>
7417
7418         Update doc for POSIX:2008.
7419         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
7420         Update URL of POSIX specification.
7421
7422 2010-10-02  Bruno Haible  <bruno@clisp.org>
7423
7424         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
7425         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
7426         from gnulib, not from Automake.
7427
7428 2010-10-02  Bruno Haible  <bruno@clisp.org>
7429
7430         New module 'system-posix'.
7431         * modules/system-posix: New file.
7432         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
7433         module is present.
7434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
7435         GNULIB_SYSTEM_POSIX.
7436         * modules/stdlib (Depends-on): Remove sys_wait.
7437         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
7438         * doc/posix-functions/system.texi: Mention the new module.
7439         * doc/posix-headers/stdlib.texi: Likewise.
7440         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
7441         define test_sys_wait_macros to a no-op.
7442         Reported by Sam Steingold <sds@gnu.org>.
7443
7444 2010-09-30  Bruno Haible  <bruno@clisp.org>
7445
7446         More renaming from 'getdate' to 'get_date'.
7447         * doc/get_date.texi: Renamed from doc/getdate.texi.
7448         * modules/get_date (Files): Update.
7449         * MODULES.html.sh (Date and time <time.h>): Update.
7450         * DEPENDENCIES: Update.
7451         * gnulib-tool: Update comment.
7452         * m4/bison.m4 (gl_BISON): Likewise.
7453         * m4/get_date.m4 (gl_GET_DATE): Likewise.
7454
7455 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
7456
7457         bootstrap: support ACLOCAL_FLAGS during aclocal
7458         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
7459         can add additional -I dir for third-party .m4 files.
7460
7461 2010-09-30  Eric Blake  <eblake@redhat.com>
7462
7463         bootstrap: use glibtoolize on MacOS
7464         * build-aux/bootstrap (check_versions): Convert libtool into
7465         libtoolize.
7466         (tool search): Move libtool check earlier, and look for
7467         glibtoolize for MacOS.
7468         (gnulib_tool_options): Auto-add --libtool when appropriate.
7469         Reported by Justin Clift.
7470
7471         poll: fix typo that broke test on MacOS
7472         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
7473         Reported by Justin Clift.
7474
7475         getdate: rename to get_date
7476         Note: getdate.h is not renamed, to minimize client impact.
7477         * modules/getdate: Mark obsolete.  Move old contents...
7478         * modules/get_date: ...to new module name.
7479         * modules/getdate-tests: Move...
7480         * modules/get_date-tests: ...here.
7481         * m4/getdate.m4: Move...
7482         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
7483         * lib/getdate.y: Move...
7484         * lib/get_date.y: ...here.
7485         * tests/test-getdate.c: Move...
7486         * tests/test-get_date.c: ...here.
7487         * doc/posix-functions/getdate.texi (getdate): Update name.
7488         * NEWS: Mention the change.
7489
7490 2010-09-29  Bruno Haible  <bruno@clisp.org>
7491
7492         Separate the module 'waitpid' from the module 'sys_wait'.
7493         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
7494         present.
7495         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
7496         gl_MODULE_INDICATOR_FOR_TESTS.
7497         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
7498         * modules/sys_wait (Depends-on): Remove waitpid.
7499         (Makefile.am): Substitute GNULIB_WAITPID.
7500         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
7501         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
7502         signature only if the 'waitpid' module is present.
7503         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
7504         * NEWS: Mention the change.
7505         * modules/grantpt (Depends-on): Add waitpid.
7506         * modules/wait-process (Depends-on): Likewise.
7507
7508 2010-09-29  Bruno Haible  <bruno@clisp.org>
7509
7510         More tests for module 'sys_wait'.
7511         * modules/sys_wait-c++-tests: New file.
7512         * tests/test-sys_wait-c++.cc: New file.
7513         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
7514         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7515
7516 2010-09-29  Bruno Haible  <bruno@clisp.org>
7517
7518         New module 'waitpid'.
7519         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
7520         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
7521         Don't include <process.h>.
7522         (waitpid): Declare only, using modern idiom.
7523         * m4/waitpid.m4: New file.
7524         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
7525         * modules/waitpid: New file.
7526         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
7527         (Makefile.am): Update.
7528         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7529
7530 2010-09-28  Bruno Haible  <bruno@clisp.org>
7531
7532         poll: Assume ANSI C.
7533         * lib/poll.c (poll): Use an ANSI C declaration.
7534
7535 2010-09-28  Bruno Haible  <bruno@clisp.org>
7536
7537         poll-h: Create poll.h on all platforms.
7538         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
7539         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
7540         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
7541         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
7542         (gl_REPLACE_POLL_H): Don't set POLL_H.
7543         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
7544         * modules/poll-h (Depends-on): Add include_next.
7545         (Makefile.am): Create poll.h unconditionally. Substitute also
7546         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
7547
7548 2010-09-28  Bruno Haible  <bruno@clisp.org>
7549
7550         Tests for module 'poll-h'.
7551         * modules/poll-h-c++-tests: New file.
7552         * tests/test-poll-h-c++.cc: New file.
7553
7554         Tests for module 'poll-h'.
7555         * modules/poll-h-tests: New file.
7556         * tests/test-poll-h.c: New file.
7557
7558 2010-09-28  Bruno Haible  <bruno@clisp.org>
7559
7560         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
7561         * modules/poll-h (Depends-on): Add 'extensions'.
7562
7563 2010-09-28  Bruno Haible  <bruno@clisp.org>
7564
7565         New module 'poll-h'.
7566         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
7567         (poll): Use modern idiom.
7568         * modules/poll-h: New file.
7569         * modules/poll (Files): Remove lib/poll.in.h.
7570         (Depends-on): Add poll-h.
7571         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
7572         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
7573         * m4/poll_h.m4: New file.
7574         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
7575         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
7576         and invoke gl_REPLACE_POLL_H.
7577         * lib/poll.c: Use common idiom.
7578         * tests/test-poll.c: Likewise.
7579         * doc/posix-headers/poll.texi: Mention the poll-h module.
7580         Suggested by Eric Blake.
7581
7582 2010-09-26  Bruno Haible  <bruno@clisp.org>
7583
7584         sys_wait: Implement WSTOPSIG.
7585         * lib/sys_wait.in.h (WSTOPSIG): New macro.
7586         Reported by Simon Josefsson.
7587
7588 2010-09-26  Simon Josefsson  <simon@josefsson.org>
7589
7590         stdlib, sys_wait: Avoid compilation error on mingw.
7591         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
7592
7593 2010-09-26  Bruno Haible  <bruno@clisp.org>
7594
7595         stdlib tests: Avoid code duplication.
7596         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
7597         * modules/sys_wait-tests (Files): Likewise.
7598         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
7599         * tests/test-stdlib.c: Include test-sys_wait.h.
7600         (main): Invoke test_sys_wait_macros.
7601         * tests/test-sys_wait.c: Include test-sys_wait.h.
7602         (main): Invoke test_sys_wait_macros.
7603
7604 2010-09-25  Simon Josefsson  <simon@josefsson.org>
7605
7606         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
7607         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
7608         sure Windows sockets are working before calling getaddrinfo.
7609         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
7610         * doc/gnulib.texi (Windows sockets): Fix typo.
7611
7612 2010-09-25  Bruno Haible  <bruno@clisp.org>
7613
7614         Tests for module 'regex-quote'.
7615         * modules/regex-quote-tests: New file.
7616         * tests/test-regex-quote.c: New file.
7617
7618         New module 'regex-quote'.
7619         * lib/regex-quote.h: New file.
7620         * lib/regex-quote.c: New file.
7621         * modules/regex-quote: New file.
7622         Suggested by Reuben Thomas <rrt@sc3d.org>.
7623
7624 2010-09-24  Bruno Haible  <bruno@clisp.org>
7625
7626         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
7627         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
7628
7629 2010-09-23  Bruno Haible  <bruno@clisp.org>
7630
7631         setenv: Relax license.
7632         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
7633         Blake.
7634         Requested by Eric Blake.
7635
7636 2010-09-22  Bruno Haible  <bruno@clisp.org>
7637
7638         termios: Relax license.
7639         * modules/termios (License): Change to LGPLv2+.
7640         Requested by Eric Blake.
7641
7642 2010-09-22  Bruno Haible  <bruno@clisp.org>
7643
7644         threadlib: Allow the package to change the default to 'no'.
7645         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
7646         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
7647         Reported by Paul Eggert.
7648
7649 2010-09-22  Pádraig Brady  <P@draigbrady.com>
7650             Bruno Haible  <bruno@clisp.org>
7651
7652         Fix endless loop in mbmemcasecoll.
7653         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
7654         byte.
7655         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
7656
7657 2010-09-22  Bruno Haible  <bruno@clisp.org>
7658
7659         Tests for module 'memcoll'.
7660         * modules/memcoll-tests: New file.
7661         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
7662
7663         memcoll, xmemcoll: Clarify size vs. length.
7664         * modules/memcoll.c (memcoll0): Clarify specification.
7665         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
7666         passed to collate_error.
7667
7668 2010-09-22  Bruno Haible  <bruno@clisp.org>
7669
7670         Tests for module 'memcasecmp'.
7671         * modules/memcasecmp-tests: New file.
7672         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
7673
7674 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
7675
7676         * lib/pthread.in.h: Add split double-inclusion guard, and include
7677         system <pthread.h> if there is one.  Use @@-style as in other
7678         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
7679         pthread.h doesn't.
7680         (pthread_mutexattr_destroy, pthread_mutexattr_init):
7681         (pthread_mutexattr_settype, pthread_mutex_trylock):
7682         New static inline functions, if there's no system <pthread.h>.
7683         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
7684         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
7685         Approximate with mutexes if the system lacks spinlocks, as in
7686         MacOS.
7687         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
7688         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
7689         @@-style.  Check for spinlocks separately.
7690         (gl_PTHREAD_DEFAULTS): New macro.
7691         * modules/pthread: Redo to use a more typical style for in.h files.
7692
7693 2010-09-21  Eric Blake  <eblake@redhat.com>
7694
7695         net_if: enhance tests
7696         * tests/test-net_if.c (main): Move signature checks earlier.
7697         Print failures to stderr.
7698         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
7699         Document the bug that we do not yet fix.
7700
7701 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7702
7703         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
7704         about gnulib, not GSS.
7705
7706 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
7707
7708         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
7709         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
7710         for Emacs.
7711         * build-aux/pmccabe2html: Make Makefile.am example code more
7712         cut-and-paste friendly.
7713
7714 2010-09-21  Simon Josefsson  <simon@josefsson.org>
7715
7716         * tests/test-net_if.c: New file.
7717         * modules/net_if-tests: New file.
7718
7719 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7720
7721         pthread: add pthread_spin_destroy
7722         * lib/pthread.in.h (pthread_spin_destroy): New function.
7723
7724 2010-09-19  Bruno Haible  <bruno@clisp.org>
7725
7726         gnulib-tool: Fix --help output.
7727         * gnulib-tool (func_usage): Fix help message.
7728         Reported by Reuben Thomas <rrt@sc3d.org>.
7729
7730 2010-09-18  Jim Meyering  <meyering@redhat.com>
7731
7732         maint.mk: avoid unexpanded \n in two diagnostics
7733         * top/maint.mk (sc_prohibit_always_true_header_tests):
7734         Don't use a literal \n in a halt=... assignment.  It would not be
7735         expanded, and the two \n bytes would appear in the diagnostic output
7736         rather than the desired newline.  Use halt=$$(printf ... instead.
7737         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
7738
7739 2010-09-18  Bruno Haible  <bruno@clisp.org>
7740
7741         netinet_in: Doc tweak.
7742         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
7743         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7744
7745 2010-09-18  Jim Meyering  <meyering@redhat.com>
7746
7747         init.sh: correct an outdated comment
7748         * tests/init.sh (create_exe_shims_):  s/function/alias/
7749
7750         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
7751         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
7752         a file named "*.exe" is removed between the glob expansion and the
7753         processing of that oddly named file.
7754
7755 2010-09-17  Eric Blake  <eblake@redhat.com>
7756
7757         mirbsd: add some more support
7758         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
7759         in BSD family.
7760         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
7761         devices as OpenBSD.
7762         * m4/host-os.m4 (mirbsd): Add MirBSD.
7763
7764         tests: fix unportable assumption on sys/wait.h
7765         * tests/test-sys_wait.c (main): Relax test.
7766         * tests/test-stdlib.c (main): Likewise.
7767
7768         init.sh: accomodate directory with no .exes
7769         * tests/init.sh: Accomodate directory containing only scripts.
7770
7771         tests: avoid compiler warning
7772         * tests/test-stdlib.c (main): Use the variable.
7773
7774         fdutimens, fdutimensat: update signature, again
7775         * lib/utimens.h (gl_futimens): Delete, and move signature...
7776         (fdutimens): ...here.
7777         (fdutimensat): Rearrange signature.
7778         (lutimensat): Rename variable for clarity.
7779         * lib/fdutimensat.c (fdutimensat): Update signature.
7780         * lib/utimens.c (fdutimens): Likewise.
7781         (gl_futimens): Delete.
7782         (utimens, lutimens): Update callers.
7783         * lib/futimens.c (futimens): Likewise.
7784         * tests/test-fdutimensat.c: Likewise.
7785         * tests/test-utimens.c: Likewise.
7786         * tests/test-futimens.h: Update comment.
7787         * NEWS: Mention this.
7788         Suggested by Paul Eggert.
7789
7790 2010-09-17  Bruno Haible  <bruno@clisp.org>
7791
7792         Take over the maintenance of some older macros from Autoconf.
7793         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
7794         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
7795         GNU Autoconf.
7796         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
7797         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
7798
7799 2010-09-17  Eric Blake  <eblake@redhat.com>
7800
7801         fdutimensat: drop atflag validation
7802         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
7803         with valid fd, to close a race scenario where futimens is
7804         unsupported and FILE was replaced by a symlink.
7805         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
7806         accordingly.
7807         Suggested by Paul Eggert.
7808
7809 2010-09-16  Bruno Haible  <bruno@clisp.org>
7810
7811         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
7812         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
7813
7814 2010-09-16  Bruno Haible  <bruno@clisp.org>
7815
7816         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
7817         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
7818         login_tty exists.
7819         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7820
7821 2010-09-16  Bruno Haible  <bruno@clisp.org>
7822
7823         login_tty: Make the replacement code work on BSD systems.
7824         * lib/login_tty.c: Include <sys/ioctl.h>.
7825         (login_tty): Use ioctl TIOCSCTTY when available.
7826         * modules/login_tty (Depends-on): Add sys_ioctl.
7827         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7828
7829 2010-09-16  Bruno Haible  <bruno@clisp.org>
7830
7831         login_tty: Stricter unit test.
7832         * modules/login_tty-tests (Depends-on): Add tcgetsid.
7833         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
7834         and tcgetsid() after login_tty.
7835         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
7836
7837 2010-09-16  Bruno Haible  <bruno@clisp.org>
7838
7839         New module 'tcgetsid'.
7840         * lib/tcgetsid.c: New file.
7841         * m4/tcgetsid.m4: New file.
7842         * modules/tcgetsid: New file.
7843         * modules/termios (Depends-on): Add c++defs, warn-on-use.
7844         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
7845         GNULIB_TCGETSID, HAVE_TCGETSID.
7846         * lib/termios.in.h: Include <sys/types.h>.
7847         (tcgetsid): New declaration.
7848         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
7849         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
7850         * doc/posix-functions/tcgetsid.texi: Mention the new module.
7851         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
7852
7853 2010-09-16  Bruno Haible  <bruno@clisp.org>
7854
7855         Tests for module 'termios'.
7856         * modules/termios-c++-tests: New file.
7857         * modules/termios-tests: New file.
7858         * tests/test-termios-c++.cc: New file.
7859         * tests/test-termios.c: New file.
7860
7861         New module 'termios'.
7862         * modules/termios: New file.
7863         * lib/termios.in.h: New file.
7864         * m4/termios_h.m4: New file.
7865         * doc/posix-headers/termios.texi: Mention the new module.
7866
7867 2010-09-16  Eric Blake  <eblake@redhat.com>
7868
7869         fdutimensat: add an atflag parameter
7870         * lib/fdutimensat.c (fdutimensat): Add new parameter.
7871         * lib/utimens.h (fdutimensat): Update prototype.
7872         * tests/test-fdutimensat.c: Adjust test to match.
7873         * NEWS: Document the change.
7874         Suggested by Paul Eggert.
7875
7876 2010-09-16  Bruno Haible  <bruno@clisp.org>
7877
7878         Fix typos in comments.
7879         * lib/striconveh.h: Fix typo in comment.
7880         * lib/login_tty.c (login_tty): Likewise.
7881
7882 2010-09-15  Bruno Haible  <bruno@clisp.org>
7883
7884         stdlib: clarify MirBSD WEXITSTATUS bug
7885         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
7886         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7887
7888 2010-09-15  Eric Blake  <eblake@redhat.com>
7889
7890         stdlib: work around MirBSD WEXITSTATUS bug
7891         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
7892         * modules/stdlib (Depends-on): Add sys_wait.
7893         * tests/test-sys_wait.c (main): Enhance test.
7894         * tests/test-stdlib.c (main): Likewise.
7895         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
7896
7897         docs: mention MacOS issue with WEXITSTATUS(constant)
7898         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
7899         issue.
7900         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
7901
7902         strnlen: add tests
7903         * modules/strnlen-tests: New file.
7904         * tests/test-strnlen.c: Likewise.
7905
7906 2010-09-14  Bruno Haible  <bruno@clisp.org>
7907
7908         unistr/base: Avoid link errors when module 'libunistring' is also used.
7909         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
7910         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
7911         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
7912         Declare also when HAVE_LIBUNISTRING is set.
7913         Reported by Pádraig Brady <P@draigbrady.com>.
7914
7915 2010-09-14  Eric Blake  <eblake@redhat.com>
7916
7917         test-rawmemchr: make more robust
7918         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
7919         (Depends-on, configure.ac): Add needed prerequisites to use it.
7920         * modules/memchr-tests (Files, Depends-on, configure.ac):
7921         Likewise, to avoid implicit reliance on memchr module prereqs.
7922         * tests/test-memchr.c (main): Ensure proper masking.
7923         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
7924         reads.
7925
7926         memchr: detect glibc Alpha bug
7927         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
7928         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
7929         Alpha.
7930         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
7931         * tests/test-memchr.c (main): Enhance test.
7932         Reported by Nelson H. F. Beebe.
7933
7934 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7935
7936         fts, getcwd, glob: audit for dirfd returning -1
7937         * lib/fts.c (opendir): Remove #define; no longer used.
7938         (opendirat): New arg PDIR_FD.  All callers changed.
7939         (fts_build, _opendir2): Use new opendirat to avoid the need for
7940         dirfd, or for checking whether dirfd returns a negative value.
7941         Don't use opendir; always use openat followed by fdopendir.
7942         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
7943         it.
7944         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
7945         returns -1 here.
7946         * modules/fts (Depends-on): Remove dirfd.
7947         * modules/getcwd (Depends-on): Likewise.
7948
7949 2010-09-13  Eric Blake  <eblake@redhat.com>
7950
7951         float: fix broken MirBSD header
7952         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
7953         * doc/posix-headers/float.texi (float.h): Document it.
7954
7955 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
7956
7957         fts: use O_NOFOLLOW to avoid race condition when opening a directory
7958         * lib/fts.c (opendirat): New arg extra_flags.
7959         (__opendir2): Use it to avoid following symlinks when opening
7960         a directory, if symlinks are not supposed to be followed.  See
7961         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
7962
7963         fdopendir: preserve argument fd before returning
7964         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
7965         (fdopendir_with_dup, fd_clone_opendir): New static functions.
7966         (fdopendir): Use them, arranging for FD to be open to the same
7967         directory that it was when it started.  (It might be temporarily
7968         closed while fdopendir is running, so this not thread- or
7969         signal-safe.)  Be careful to do the right thing even when file
7970         descriptors are scarce and dup fails with errno == EMFILE.  See
7971         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
7972
7973 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
7974
7975         regex: Pass the system regex if its only problem is 32-bit regoff_t.
7976         * NEWS: Document change.
7977         * m4/regex.m4: Disable test for regoff_t size.
7978
7979 2010-09-13  Jim Meyering  <meyering@redhat.com>
7980
7981         fts: don't operate on an invalid file descriptor after failed dup
7982         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
7983         negative file descriptor.
7984
7985 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
7986
7987         savedir: add streamsavedir, deprecate fdsavedir
7988         * NEWS: Mention deprecation of fdsavedir.
7989         * lib/savedir.c (streamsavedir): New extern function, whose name
7990         ends in "savedir" to be consistent with the others.  This differs
7991         from savedirstream in that it doesn't close its argument.  The
7992         next version of GNU tar will use this instead of fdsavedir, to
7993         avoid some race conditions and conserve file descriptors.
7994         (savedirstream): Reimplement as a wrapper around streamsavedir.
7995         (fdsavedir): Add a comment deprecating this function.  As far as
7996         I know, only GNU tar used it, and GNU tar doesn't need it any more.
7997         * lib/savedir.h (streamsavedir): New decl.
7998         (fdsavedir): Add a comment deprecating this.
7999
8000 2010-09-10  Bruno Haible  <bruno@clisp.org>
8001
8002         langinfo: Fix last commit.
8003         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
8004         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
8005         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8006
8007 2010-09-10  Bruno Haible  <bruno@clisp.org>
8008
8009         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
8010         * lib/progreloc.c (O_EXEC): Define fallback.
8011
8012 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8013
8014         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
8015         * NEWS: Document recent changes to fcntl-h.
8016         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
8017         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
8018         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
8019         Similarly for O_SEARCH; this last was already true, but not documented.
8020         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
8021         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
8022         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
8023         Likewise.
8024         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
8025         is zero, not whether it is defined.
8026         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
8027         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
8028         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
8029
8030 2010-09-10  Bruno Haible  <bruno@clisp.org>
8031
8032         langinfo, nl_langinfo: Fix for IRIX 5.3.
8033         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
8034         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
8035         HAVE_LANGINFO_YESEXPR.
8036         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
8037         HAVE_LANGINFO_YESEXPR.
8038         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
8039         HAVE_LANGINFO_T_FMT_AMPM is 0.
8040         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
8041         HAVE_LANGINFO_YESEXPR is 0.
8042         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
8043         NOEXPR.
8044         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
8045         * doc/posix-functions/nl_langinfo.texi: Likewise.
8046         Reported by Eric Blake.
8047
8048 2010-09-10  Bruno Haible  <bruno@clisp.org>
8049
8050         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
8051         * doc/glibc-functions/login_tty.texi: Mention the include file problem
8052         on FreeBSD 8.0 and OpenBSD 4.6.
8053         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
8054         * m4/pty_h.m4 (gl_PTY_H): Likewise.
8055         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
8056         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
8057         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
8058         ac_includes_default.
8059         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
8060
8061 2010-09-09  Eric Blake  <eblake@redhat.com>
8062
8063         strsignal: work around NetBSD bug
8064         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
8065         * lib/string.in.h (includes): Likewise.
8066         * doc/posix-functions/strsignal.texi (strsignal): Document the
8067         bug.
8068         Reported by Nelson H. F. Beebe.
8069
8070         gnulib-tool: work with NetBSD /bin/sh
8071         * gnulib-tool (func_cache_var, func_cache_lookup_module)
8072         (func_get_description, func_get_comment, func_get_status)
8073         (func_get_notice, func_get_applicability, func_get_filelist)
8074         (func_get_dependencies, func_get_autoconf_early_snippet)
8075         (func_get_autoconf_snippet, func_get_automake_snippet)
8076         (func_get_include_directive, func_get_link_directive)
8077         (func_get_license, func_get_maintainer, func_import): Avoid
8078         shell syntax errors from parsing syntax extensions.
8079
8080 2010-09-09  Bruno Haible  <bruno@clisp.org>
8081
8082         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8083         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
8084         a reliable way to determine whether the 'alias' command works.
8085
8086 2010-09-08  Jim Meyering  <meyering@redhat.com>
8087
8088         init.sh: penalize a set-x-impaired shell; don't disqualify it
8089         * tests/init.sh: Too many shells corrupt application stderr when
8090         you set -x, so we can't afford to disqualify them, since at least
8091         on Irix-6.5, that would disqualify all bourne shells.
8092         Instead, use a two-pass approach.
8093         On the first pass, try to find a shell that meets the stricter
8094         condition that set -x does not corrupt stderr.
8095         If no shell meets the stricter condition, retest each candidate
8096         shell, but without that extra condition.  Finally, when
8097         VERBOSE=yes is requested and set -x might cause trouble, simply
8098         issue a warning and refrain from enabling debug output.
8099
8100 2010-09-08  Eric Blake  <eblake@redhat.com>
8101
8102         unsetenv: fix OpenBSD bug
8103         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
8104         * doc/posix-functions/unsetenv.texi (unsetenv): Update
8105         documentation.
8106         Reported by Jim Meyering.
8107
8108         strtod: work around IRIX 6.5 bug
8109         * lib/strtod.c (strtod): Reparse number on shorter string if
8110         exponent parse was invalid.
8111         * tests/test-strtod.c (main): Add check for "0x1p 2".
8112         Reported by Tom G. Christensen.
8113
8114         getopt: optimize previous patch
8115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
8116         empty variable.  Speed up awk script.
8117         Reported by Paolo Bonzini.
8118
8119 2010-09-08  Jim Meyering  <meyering@redhat.com>
8120
8121         test.sh: disqualify shells for which set -x corrupts stderr
8122         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
8123         and OpenBSD 4.7.  They make it so with "set -x", environment settings
8124         appear in stderr output.  For example, this command:
8125             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
8126         prints "P=1" on those two systems:
8127
8128 2010-09-08  Bruno Haible  <bruno@clisp.org>
8129
8130         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
8131         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
8132         commands, because some shells ignore redirections when there is an
8133         error in the command lookup.
8134         Reported by Eric Blake.
8135
8136 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
8137
8138         * lib/regex.h: Fix a mention of `regex_compile' (should be
8139         `re_compile_pattern').
8140         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
8141         (re_set_registers): Correct name of parameter in comment.
8142
8143         * doc/regex.texi: Add documentation for missing syntax flags.
8144         Remove commented-out documentation of defunct syntax option
8145         RE_NO_EMPTY_ALTS.
8146         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
8147         Add documentation of re_set_registers.
8148         Document trick to re-use a pattern buffer by setting fastmap manually.
8149         Update documentation of struct re_pattern_buffer per public members.
8150         Uncomment documentation of equivalence class operators and
8151         collating symbol operators, since they are now implemented,
8152         Explain leftmost-longest matching in relation to alternatives.
8153         Tidy documentation of substring matching.
8154         Remove POSIX documentation, which is done better in
8155         glibc, and refer the reader there. Keep BSD API documentation, as
8156         that is not readily available elsewhere.
8157
8158 2010-09-07  Eric Blake  <eblake@redhat.com>
8159
8160         getopt: handle POSIXLY_CORRECT set but not exported
8161         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
8162         export state of POSIXLY_CORRECT, due to bash set -o posix.
8163         Reported by Dustin J. Mitchell.
8164
8165 2010-09-05  Bruno Haible  <bruno@clisp.org>
8166
8167         gnulib-tool: Highlight the changed options.
8168         * gnulib-tool (func_usage): Display the --import, --add-import,
8169         --remove-import explanations in bold font.
8170
8171 2010-09-06  Karl Berry  <karl@gnu.org>
8172
8173         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
8174
8175 2010-09-05  Bruno Haible  <bruno@clisp.org>
8176
8177         uniwidth/width: Update comment.
8178         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
8179         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
8180
8181 2010-09-05  Bruno Haible  <bruno@clisp.org>
8182
8183         isinf, isnan: Relax license.
8184         * modules/isinf (License): Change from GPL to LGPL, with consent from
8185         Ben Pfaff.
8186         * modules/isnan (License): Likewise.
8187         Requested by Ludovic Courtès.
8188
8189 2010-09-04  Bruno Haible  <bruno@clisp.org>
8190
8191         gnulib-tool: Help migration from --import to --add-import or --update.
8192         * gnulib-tool: Emit a verbose error message when --import is used
8193         without any module name.
8194
8195 2010-09-04  Bruno Haible  <bruno@clisp.org>
8196
8197         Update doc about gnulib-tool.
8198         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
8199         'gnulib-tool --update' in more detail.
8200         Reported by Eric Blake.
8201
8202 2010-09-04  Bruno Haible  <bruno@clisp.org>
8203
8204         gnulib-tool: Change --import. New options --add/remove-import.
8205         * gnulib-tool: New options --add-import, --remove-import.
8206         (func_usage): Document them.
8207         (have_associative): Define always.
8208         (func_import): In import mode, don't merge the specified settings with
8209         the cached settings. Implement remove-import mode.
8210         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
8211         Explain when to use them versus --import.
8212         (Simple update): Use --add-import instead of --import.
8213         * NEWS: Mention the change.
8214
8215 2010-09-04  Bruno Haible  <bruno@clisp.org>
8216
8217         * doc/gnulib-tool.texi (Initial import): Update paragraph about
8218         separate gnulib.mk.
8219
8220 2010-09-04  Bruno Haible  <bruno@clisp.org>
8221
8222         gnulib-tool: Don't talk about CVS any more.
8223         * gnulib-tool (func_usage, func_import): Write "version control"
8224         instead of CVS.
8225
8226 2010-09-04  Jim Meyering  <meyering@redhat.com>
8227
8228         maint.mk: avoid obscure sc_copyright_check failure in coreutils
8229         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
8230         false positives (whose names may be ill-chosen) when searching
8231         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
8232         would cause a false-positive.
8233
8234         avoid coreutils "make distcheck" failure
8235         Coreutils tests with an absolute build directory name that contains
8236         a space.  Not quoting this directory name caused a failure.
8237         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
8238         * tests/test-vc-list-files-cvs.sh: Likewise.
8239
8240 2010-09-04  Bruno Haible  <bruno@clisp.org>
8241
8242         gnulib-tool: Avoid error when run in a package without Makefile.am.
8243         * gnulib-tool: When collecting the m4dirs in a package that does not
8244         have a Makefile.am, eliminate those directories that contain no
8245         gnulib-cache.m4. Fix expression that counts these directories.
8246
8247 2010-09-04  Bruno Haible  <bruno@clisp.org>
8248
8249         update-copyright test: Improve output when perl is missing or too old.
8250         * tests/test-update-copyright.sh: Move test of Perl version down after
8251         the test whether Perl exists. Provide an explanation relating Perl's
8252         error message to Automake's SKIP: message.
8253
8254 2010-09-04  Bruno Haible  <bruno@clisp.org>
8255
8256         Don't augment PATH in TESTS_ENVIRONMENT.
8257         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
8258         set abs_aux_dir instead of augmenting PATH.
8259         * modules/vc-list-files-tests (Makefile.am): Likewise.
8260         * tests/test-update-copyright.sh: Augment PATH here.
8261         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
8262         path_prepend_.
8263         * tests/test-vc-list-files-git.sh: Likewise.
8264
8265 2010-09-04  Jim Meyering  <meyering@redhat.com>
8266
8267         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
8268         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
8269
8270 2010-09-04  Bruno Haible  <bruno@clisp.org>
8271
8272         strdup: Fix compilation error in C++ mode.
8273         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
8274         the macro.
8275
8276 2010-09-04  Bruno Haible  <bruno@clisp.org>
8277
8278         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
8279         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
8280         macro into a function.
8281         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8282
8283 2010-09-04  Bruno Haible  <bruno@clisp.org>
8284
8285         Set PATH_SEPARATOR the same way autoconf does.
8286         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
8287         the value of PATH_SEPARATOR the same way autoconf-generated configure
8288         scripts do.
8289         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
8290         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
8291
8292 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8293
8294         Set PATH_SEPARATOR the same way autoconf does.
8295         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
8296         the same way autoconf-generated configure scripts do.
8297         * posix-modules: Likewise.
8298
8299 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         hash: fix safe_hasher const typo
8302         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
8303         const; otherwise, there is a type error later.
8304
8305 2010-09-02  Jim Meyering  <meyering@redhat.com>
8306
8307         test-update-copyright.sh: require perl 5.8.0
8308         * tests/test-update-copyright.sh: Require 5.8.0,
8309         which Tom G. Christensen has confirmed is adequate,
8310         while 5.6.1 is not.
8311
8312 2010-09-02  Eric Blake  <eblake@redhat.com>
8313
8314         tests: init.sh improvements for re-exec'ing with zsh
8315         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
8316         -vx through shell re-exec.
8317         Reported by Tom G. Christensen.
8318
8319         wctype: fix typo in previous commit
8320         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
8321         Reported by Ludovic Courtès.
8322
8323 2010-09-02  Jim Meyering  <meyering@redhat.com>
8324
8325         test-update-copyright.sh: skip test if Perl is too old
8326         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
8327         Reported by Tom G. Christensen.
8328
8329 2010-09-02  Bruno Haible  <bruno@clisp.org>
8330
8331         wctype: Avoid compilation error on IRIX 6.5.30.
8332         * lib/wctype.in.h (iswblank): Declare with a replacement if
8333         REPLACE_ISWBLANK is set.
8334         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
8335         declared. Set REPLACE_ISWBLANK.
8336         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
8337         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
8338         * doc/posix-headers/wctype.texi: Likewise.
8339         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8340
8341 2010-09-01  Bruno Haible  <bruno@clisp.org>
8342
8343         New module 'socketlib'.
8344         * modules/socketlib: New file.
8345         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
8346         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
8347         * modules/sockets (Depends-on): Add socketlib.
8348         Suggested by Sam Steingold <sds@gnu.org>.
8349
8350 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
8353
8354         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
8355         when one needs search access to a directory but not read access.
8356         On systems where it is available, it works in some cases where
8357         O_RDONLY does not, namely on directories that are searchable but
8358         not readable, and which need only to be searchable.  If O_SEARCH
8359         is not available, fall back to the traditional method of using
8360         O_RDONLY.
8361
8362         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
8363         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
8364         when opening a directory that needs only to be searchable.
8365         * lib/chdir-safer.c (chdir_no_follow): Likewise.
8366         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
8367         * lib/openat-proc.c (openat_proc_name): Likewise.
8368         * lib/openat.c (openat_needs_fchdir): Likewise.
8369         * lib/save-cwd.c (save_cwd): Likewise.
8370         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
8371
8372 2010-08-28  Bruno Haible  <bruno@clisp.org>
8373
8374         New module 'host-cpu-c-abi'.
8375         * modules/host-cpu-c-abi: New file.
8376         * m4/host-cpu-c-abi.m4: New file, based on part of
8377         clisp/src/m4/general.m4.
8378         Requested by Sam Steingold <sds@gnu.org>.
8379
8380 2010-08-31  Eric Blake  <eblake@redhat.com>
8381         and Jim Meyering  <meyering@redhat.com>
8382
8383         hash: factor, and guard against misbehaving hasher function
8384         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
8385         of table->hasher's return value.  Also protect against a hash value
8386         so large that adding it to table->bucket results in a NULL pointer.
8387         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
8388         Use it in place of open-coded check-and-abort.
8389
8390 2010-08-30  Bruno Haible  <bruno@clisp.org>
8391
8392         hash: silence spurious clang warning
8393         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
8394         Reported by Eric Blake.
8395
8396 2010-08-30  Eric Blake  <eblake@redhat.com>
8397
8398         strstr, memmem, strcasestr: avoid leaked shell message
8399         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
8400         FreeBSD.
8401         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8402         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8403
8404         tests: silence clang warning
8405         * tests/test-malloca.c (do_allocation): Avoid dead store.
8406
8407 2010-08-29  Bruno Haible  <bruno@clisp.org>
8408
8409         gettext: Fix recent mistake.
8410         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
8411
8412 2010-08-29  Bruno Haible  <bruno@clisp.org>
8413
8414         selinux-h: Offer a --without-selinux option.
8415         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
8416         --without-selinux was specified, skip all tests and define
8417         HAVE_SELINUX_SELINUX_H to 0.
8418         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
8419         set LIB_SELINUX to empty.
8420         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
8421         gl_LIBSELINUX. If --without-selinux was specified, replace
8422         selinux/context.h.
8423         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
8424
8425 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8426             Bruno Haible  <bruno@clisp.org>
8427
8428         Make the module 'realloc-gnu' work again on AIX and OSF/1.
8429         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
8430         of HAVE_REALLOC.
8431         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
8432         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
8433         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
8434         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8435
8436 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8437             Bruno Haible  <bruno@clisp.org>
8438
8439         Make the module 'calloc-gnu' work again on AIX and OSF/1.
8440         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
8441         HAVE_CALLOC.
8442         * lib/xmalloc.c: Update accordingly.
8443         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
8444         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
8445         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
8446
8447 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8448             Bruno Haible  <bruno@clisp.org>
8449
8450         Make the module 'malloc-gnu' work again on AIX and OSF/1.
8451         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
8452         HAVE_MALLOC.
8453         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
8454         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
8455         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
8456
8457 2010-08-29  Bruno Haible  <bruno@clisp.org>
8458
8459         Update modules list.
8460         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8461         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
8462         (String handling <string.h>): Add astrxfrm.
8463         (File system functions): Add readlinkat.
8464
8465 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8466
8467         Tests for module 'realloc-gnu'.
8468         * modules/realloc-gnu-tests: New file.
8469         * tests/test-realloc-gnu.c: New file.
8470
8471         Tests for module 'calloc-gnu'.
8472         * modules/calloc-gnu-tests: New file.
8473         * tests/test-calloc-gnu.c: New file.
8474
8475         Tests for module 'malloc-gnu'.
8476         * modules/malloc-gnu-tests: New file.
8477         * tests/test-malloc-gnu.c: New file.
8478
8479 2010-08-28  Bruno Haible  <bruno@clisp.org>
8480
8481         Rename module 'realloc' -> 'realloc-gnu'.
8482         * modules/realloc-gnu: New file, copied from modules/realloc.
8483         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
8484         obsolete.
8485         * modules/mgetgroups (Depends-on): Update.
8486         * doc/posix-functions/realloc.texi: Update.
8487         * NEWS: Mention the change.
8488
8489         Rename module 'calloc' -> 'calloc-gnu'.
8490         * modules/calloc-gnu: New file, copied from modules/calloc.
8491         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
8492         obsolete.
8493         * doc/posix-functions/calloc.texi: Update.
8494         * NEWS: Mention the change.
8495
8496         Rename module 'malloc' -> 'malloc-gnu'.
8497         * modules/malloc-gnu: New file, copied from modules/malloc.
8498         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
8499         obsolete.
8500         * modules/argp (Depends-on): Update.
8501         * modules/regex (Depends-on): Update.
8502         * doc/posix-functions/malloc.texi: Update.
8503         * NEWS: Mention the change.
8504
8505 2010-08-28  Eric Blake  <eblake@redhat.com>
8506
8507         pread, pwrite: add missing dependency
8508         * modules/pread (Depends-on): Add extensions.
8509         * modules/pwrite (Depends-on): Likewise.
8510
8511 2010-08-28  Bruno Haible  <bruno@clisp.org>
8512
8513         unistr/u*-strchr: Fix tests dependencies.
8514         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
8515         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
8516         Reported by Ian Beckwith <ianb@erislabs.net>.
8517
8518 2010-08-28  Bruno Haible  <bruno@clisp.org>
8519
8520         read-file: Don't occupy too much unused memory.
8521         * lib/read-file.c (fread_file): Shrink the buffer at the end.
8522
8523 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
8524             Eric Blake  <eblake@redhat.com>
8525             Bruno Haible  <bruno@clisp.org>
8526
8527         read-file: Avoid memory reallocations with regular files.
8528         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
8529         (fread_file): With regular files, use the remaining length as the
8530         initial buffer size.  Check against overflow.
8531         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
8532         sys_stat.
8533
8534 2010-08-28  Bruno Haible  <bruno@clisp.org>
8535
8536         ftello: Relax license.
8537         * modules/ftello (License): Relax to LGPLv2+.
8538         Reported by Eric Blake.
8539
8540 2010-08-28  Bruno Haible  <bruno@clisp.org>
8541
8542         Avoid relocwrapper link errors due to gnulib replacement functions.
8543         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
8544         function.
8545         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8546
8547 2010-08-28  Bruno Haible  <bruno@clisp.org>
8548
8549         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
8550         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
8551         defined.
8552         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
8553         Suggested by Eric Blake.
8554
8555 2010-08-28  Bruno Haible  <bruno@clisp.org>
8556
8557         sys_socket, netdb: Ensure socklen_t gets defined.
8558         * modules/sys_socket (Depends-on): Add socklen.
8559         * modules/netdb (Depends-on): Likewise.
8560         * modules/getaddrinfo (Depends-on): Remove socklen.
8561         * modules/getsockopt (Depends-on): Likewise.
8562         * modules/setsockopt (Depends-on): Likewise.
8563         * tests/test-sys_socket.c: Check that socklen_t is defined.
8564         * tests/test-netdb.c: Likewise.
8565         * m4/socklen.m4: Update comments.
8566         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8567
8568 2010-08-27  Eric Blake  <eblake@redhat.com>
8569
8570         login_tty: add missing dependency
8571         * modules/login_tty (Depends-on): Add pty.
8572
8573 2010-08-26  Eric Blake  <eblake@redhat.com>
8574
8575         lib-symbol-versions: fix m4 quoting
8576         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
8577         format for AC_LINK_IFELSE.
8578
8579         glob: fix compile test
8580         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
8581
8582         btowc: fix missing file
8583         * modules/btowc (Files): Also ship locale-fr.m4.
8584
8585         lseek: fix link test
8586         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
8587         AC_LINK_IFELSE.
8588
8589         include_next: silence autoconf 2.68 warning
8590         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
8591         AC_COMPILE_IFELSE as special.
8592         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
8593         autoconf < 2.68.
8594
8595         acl: fix compilation test
8596         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
8597         AC_COMPILE_IFELSE.
8598
8599 2010-08-26  Bruno Haible  <bruno@clisp.org>
8600
8601         Modernize AC_TRY_RUN invocations.
8602         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
8603         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8604         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
8605         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
8606         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
8607         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
8608         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8609         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8610         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8611         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8612         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8613         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8614         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8615         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8616         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8617         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
8618         gl_MBRLEN_NUL_RETVAL): Likewise.
8619         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
8620         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
8621         Likewise.
8622         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8623         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8624         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8625         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8626         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
8627         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
8628         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
8629         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8630         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
8631         Likewise.
8632         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
8633         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
8634         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8635         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8636         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8637         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8638         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8639         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
8640         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8641         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8642
8643 2010-08-26  Bruno Haible  <bruno@clisp.org>
8644
8645         Modernize AC_TRY_LINK invocations.
8646         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
8647         AC_TRY_LINK.
8648         * m4/argp.m4 (gl_ARGP): Likewise.
8649         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8650         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8651         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
8652         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8653         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8654         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
8655         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8656         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8657         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8658         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8659         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8660         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
8661         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
8662         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
8663         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
8664         * m4/hostent.m4 (gl_HOSTENT): Likewise.
8665         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8666         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
8667         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
8668         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
8669         Likewise.
8670         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
8671         Likewise.
8672         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
8673         Likewise.
8674         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
8675         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
8676         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
8677         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8678         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8679         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
8680         * m4/servent.m4 (gl_SERVENT): Likewise.
8681         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8682         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8683         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8684         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8685         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
8686         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8687         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8688         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8689         * modules/tsearch-tests (configure.ac): Likewise.
8690
8691 2010-08-26  Bruno Haible  <bruno@clisp.org>
8692
8693         Modernize AC_TRY_COMPILE invocations.
8694         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
8695         AC_TRY_COMPILE.
8696         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
8697         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
8698         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
8699         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
8700         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
8701         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
8702         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8703         * m4/lock.m4 (gl_LOCK): Likewise.
8704         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
8705         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8706         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
8707         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
8708         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
8709         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
8710         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8711         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
8712         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
8713         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
8714         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
8715         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8716         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
8717         extraneous semicolon.
8718
8719 2010-08-26  Jim Meyering  <meyering@redhat.com>
8720
8721         stat-time: relax license LGPL
8722         * modules/stat-time (License): Change from GPL to LGPL,
8723         with consent from all contributors, for use in libguile.
8724         Requested by Ludovic Courtès.
8725
8726 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
8727
8728         poll: return immediately on POLLHUP.
8729         * lib/poll.c (poll): Always set timeout before wait_timeout is
8730         computed.
8731
8732 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8733
8734         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
8735         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
8736         rmdir ("dir/.//"), unlinkat.
8737
8738 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
8739
8740         stdbool: avoid spurious failure with modern xlc
8741         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8742
8743 2010-08-24  Bruno Haible  <bruno@clisp.org>
8744
8745         getloadavg: simplify code
8746         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
8747         gl_have_func. Update comments.
8748
8749 2010-08-24  Eric Blake  <eblake@redhat.com>
8750
8751         getloadavg: don't define SVR4 on cygwin
8752         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
8753         only define SVR4 when -lkvm is required.
8754         Reported by Yaakov Selkowitz.
8755
8756 2010-08-24  Bruno Haible  <bruno@clisp.org>
8757
8758         priv-set: fix comment
8759         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
8760
8761 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
8762
8763         priv-set: fix comments
8764         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
8765         to match code, as suggested by David Bartley in:
8766         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
8767
8768 2010-08-23  Eric Blake  <eblake@redhat.com>
8769
8770         stdbool: avoid rejecting clang
8771         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
8772         * tests/test-stdbool.c: Enable more tests if using the system
8773         <stdbool.h> instead of the gnulib replacement.
8774         (main): Move xlc bug test to a runtime test for all compilers.
8775         Reported by Anders Kaseorg.
8776
8777         argz: fix shell quoting issue
8778         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
8779         Reported by Charles Wilson.
8780
8781 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
8782             Erik Faye-Lund <kusmabite@gmail.com>
8783
8784         poll, select: handle ERROR_BROKEN_PIPE.
8785         * lib/poll.c (win32_compute_revents): Return POLLHUP when
8786         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8787         * lib/select.c (win32_compute_revents): Do not mark a pipe
8788         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
8789
8790 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
8791
8792         fts: allow compilation with C++
8793         * lib/fts_.h: Specify extern "C" linkage with C++.
8794
8795 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8796
8797         Fix gnulib-tool sed script de-commentation for AIX sed.
8798         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
8799         sed.
8800
8801 2010-08-17  Eric Blake  <eblake@redhat.com>
8802
8803         test-stddef: test for (some) offsetof bugs
8804         * tests/test-stddef.c: Enhance test to ensure correct type of
8805         offsetof.
8806         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
8807         that we are not fixing at this time.
8808
8809 2010-08-15  Bruno Haible  <bruno@clisp.org>
8810
8811         stpncpy: Allow stpncpy to be defined as a macro.
8812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
8813         if it's already correctly declared.
8814         * lib/string.in.h (stpncpy): Undefine before redefining.
8815         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
8816
8817 2010-08-14  Bruno Haible  <bruno@clisp.org>
8818
8819         Rename module 'memxfrm' to 'amemxfrm'.
8820         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
8821         (amemxfrm): Renamed from memxfrm.
8822         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
8823         (amemxfrm): Renamed from memxfrm.
8824         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
8825         * NEWS: Mention the change.
8826         * MODULES.html.sh (String handling <string.h>): Update.
8827         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
8828         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
8829         * lib/unicase/u16-casexfrm.c: Likewise.
8830         * lib/unicase/u32-casexfrm.c: Likewise.
8831         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
8832         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
8833         * lib/uninorm/u16-normxfrm.c: Likewise.
8834         * lib/uninorm/u32-normxfrm.c: Likewise.
8835         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
8836         memxfrm.
8837         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
8838         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
8839         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
8840         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
8841         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
8842         Suggested by Paul Eggert.
8843
8844 2010-08-14  Bruno Haible  <bruno@clisp.org>
8845
8846         Tests for module 'astrxfrm'.
8847         * modules/astrxfrm-tests: New file.
8848         * tests/test-astrxfrm.c: New file.
8849
8850         New module 'astrxfrm'.
8851         * lib/astrxfrm.h: New file.
8852         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
8853         * modules/astrxfrm: New file.
8854
8855 2010-08-14  Reuben Thomas <rrt@sc3d.org>
8856
8857         regex: Tweak doc.
8858         * doc/regex.texi (Overview): Don't mention regex.c.
8859         (GNU Regular Expression Compiling): Likewise.
8860         (Match-end-of-line Operator): Mention 'not_eol'.
8861
8862 2010-08-14  Brian Gough  <bjg@gnu.org>
8863             Bruno Haible  <bruno@clisp.org>
8864
8865         git-merge-changelog: add doc relating to use with bzr and hg.
8866         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
8867
8868 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
8869
8870         pthread: fix pthread.h creation for srcdir != builddir
8871         * modules/pthread (Makefile.am): Fix the rule to work also in a
8872         non-srcdir build.
8873
8874 2010-08-13  Karl Berry  <karl@gnu.org>
8875
8876         * doc/regex.texi (Predefined Syntaxes): @smallexample.
8877         * doc/posix-*/*: force line break before @url of POSIX
8878         specifications.
8879         Suggested by Werner Lemberg.
8880
8881 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8882
8883         strtod: fix const diagnostic
8884         * lib/strtod.c (strtod): Don't assign const char * to char *,
8885         as this elicits a warning from GCC when warnings are enabled.
8886
8887 2010-08-10  Pádraig Brady <P@draigbrady.com>
8888         and Eric Blake  <eblake@redhat.com>
8889
8890         copy-acl: ignore ENOTSUP on HP-UX
8891         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
8892         so that it is available for HP-UX.
8893         * lib/copy-acl.c (qcopy_acl): Use it.
8894         Reported by Patrick M. Callahan.
8895
8896 2010-08-10  Eric Blake  <eblake@redhat.com>
8897
8898         open, chown: relax license
8899         * modules/open (License): Change to LGPLv2+, with consent by all
8900         authors, for use in augeas.
8901         * modules/chown (License): Likewise.
8902         * modules/lchown (Likewise): Likewise.
8903         Requested by Adam Stokes.
8904
8905 2010-08-09  Karl Berry  <karl@gnu.org>
8906
8907         * build-aux/ar-lib: new file, import from Automake.
8908         * config/srclist.txt: autocheck for updates.
8909
8910 2010-08-09  Eric Blake  <eblake@redhat.com>
8911
8912         readlinkat: adjust client modules
8913         * modules/areadlinkat (Depends-on): Use readlinkat, not
8914         symlinkat.
8915         * modules/areadlinkat-with-size (Depends-on): Likewise.
8916
8917         mknod: be more vocal about danger of running tests as root
8918         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
8919         root, since that is just asking for problems.
8920         Suggested by Bruno Haible, based on a report by Rainer Tammer.
8921
8922         readlinkat: split into its own module
8923         * modules/symlinkat: Split readlinkat...
8924         * modules/readlinkat: ...into separate module.
8925         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
8926         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
8927         * lib/symlinkat.c (readlinkat): Move...
8928         * lib/readlinkat.c: ...into new file.
8929         * modules/symlinkat-tests: Split readlinkat test...
8930         * modules/readlinkat-tests: ...into separate module.
8931         * tests/test-symlinkat.c: Split...
8932         * tests/test-readlinkat.c: ...into new file.
8933         * NEWS: Document the split.
8934         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
8935         * lib/unistd.in.h (readlinkat): Likewise.
8936         Suggested by Bruno Haible.
8937
8938 2010-08-08  Bruno Haible  <bruno@clisp.org>
8939
8940         memxfrm: Speed up.
8941         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
8942         that usually only one call to strxfrm is necessary for each string
8943         part.
8944         Reported by Paul Eggert <eggert@cs.ucla.edu>.
8945
8946 2010-08-07  Karl Berry  <karl@gnu.org>
8947
8948         * doc/posix-headers/limits.texi,
8949         * doc/posix-functions/malloc.texi,
8950         * doc/posix-functions/strsignal.texi: missing @item.
8951         * doc/ld-version-script.texi: spurious leading i.
8952         * doc/regex.texi (Interval Operators): no commas inside @var.
8953
8954 2010-08-01  Bruno Haible  <bruno@clisp.org>
8955
8956         Integrate the regex documentation.
8957         * doc/gnulib.texi: Define 'cn' index.
8958         (Regular expressions): New a chapter that includes regex.texi and
8959         regexprops-generic.texi.
8960         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
8961         syntax.
8962
8963         Whitespace cleanup.
8964         * doc/regex.texi: Remove trailing spaces.
8965
8966         Add regex documentation.
8967         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
8968         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
8969         Written by Kathy A. Hargreaves and Karl Berry.
8970
8971 2010-08-01  Bruno Haible  <bruno@clisp.org>
8972
8973         link: Update documentation.
8974         * doc/posix-functions/link.texi: Update regarding Solaris.
8975
8976 2010-07-31  Bruno Haible  <bruno@clisp.org>
8977
8978         Update modules list.
8979         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
8980         (String handling <string.h>): Add memcmp2, memxfrm.
8981         (Container data structures): Add xlist, xsublist, xoset.
8982         (Core language properties): Add alignof, unused-parameter.
8983         (Process control, Numeric conversion functions <stdlib.h>): Renamed
8984         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
8985         (Unibyte characters <ctype.h>): New section.
8986         (String handling <string.h>): New section.
8987         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
8988         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
8989         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
8990         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
8991         tan, tanh, tanl, y0, y1, yn.
8992         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
8993         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
8994         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
8995         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
8996         unlockpt, vdprintf, vdprintf-posix.
8997         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
8998         (File system functions): Add concat-filename, sys_file, sys_ioctl,
8999         xconcat-filename.
9000         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
9001         getdtablesize, pipe2, pipe2-safer.
9002         (Security): New section.
9003         (Networking functions): Add accept4.
9004         (Signal handling): Add sigpipe.
9005         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
9006         mbmemcasecoll.
9007         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
9008         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
9009         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
9010         pipe-filter-ii.
9011         (Misc): Add argp-version-etc, login_tty, parse-duration.
9012
9013 2010-07-31  Bruno Haible  <bruno@clisp.org>
9014
9015         Improve doc in MODULES.html.
9016         * modules/linkat (Description): Add the word "function".
9017         * modules/mkfifo (Description): Likewise.
9018         * modules/mknod (Description): Likewise.
9019         * modules/remove (Description): Likewise.
9020         * modules/renameat (Description): Likewise.
9021         * modules/stat (Description): Likewise.
9022         * modules/symlink (Description): Likewise.
9023         * modules/unlink (Description): Likewise.
9024
9025 2010-07-31  Bruno Haible  <bruno@clisp.org>
9026
9027         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
9028         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
9029         option --enable/disable-c++ instead of --enable/disable-cxx.
9030         * NEWS: Mention the change.
9031
9032 2010-07-31  Bruno Haible  <bruno@clisp.org>
9033
9034         readlink, areadlink: Relax test a bit.
9035         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
9036         alternative to ENOTDIR.
9037         * tests/test-areadlink.h (test_areadlink): Likewise.
9038         Reported by Rainer Tammer.
9039
9040 2010-07-31  Bruno Haible  <bruno@clisp.org>
9041
9042         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
9043         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
9044         character, perform the search using U_STRCHR.
9045         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
9046         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
9047         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
9048         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
9049         Suggested by Paolo Bonzini.
9050
9051 2010-07-31  Bruno Haible  <bruno@clisp.org>
9052
9053         unistr/u*-strstr: Fix dependencies.
9054         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
9055         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
9056         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
9057
9058 2010-07-31  Bruno Haible  <bruno@clisp.org>
9059
9060         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
9061         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
9062         the beginning of the loop.
9063         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
9064         cases in 'switch' statement.
9065
9066         unistr/u8-strchr: Fix several bugs.
9067         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
9068         the string. When not found, return NULL, not a pointer near the end.
9069
9070         More tests for unistr/u8-strchr.
9071         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
9072         that the function does not read past the first occurrence of the byte
9073         being searched.
9074         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
9075         * tests/unistr/test-u16-strchr.c (main): New function.
9076         * tests/unistr/test-u32-strchr.c (main): New function.
9077
9078 2010-07-31  Bruno Haible  <bruno@clisp.org>
9079
9080         posix-modules: Ignore backup files of documentation files.
9081         * posix-modules: grep only through files named *.texi.
9082
9083 2010-07-31  Bruno Haible  <bruno@clisp.org>
9084
9085         symlinkat: Fix documentation.
9086         * doc/posix-functions/readlinkat.texi: Fix module name.
9087
9088 2010-07-31  Bruno Haible  <bruno@clisp.org>
9089
9090         fchownat: Replace also when chown has the trailing slash bug.
9091         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
9092         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
9093         introduced on 2010-04-10.
9094         Reported by Rainer Tammer.
9095
9096 2010-07-31  Bruno Haible  <bruno@clisp.org>
9097
9098         linkat: Work around AIX 7.1 bug.
9099         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
9100         whether linkat handles trailing slash correctly. If not, replace linkat
9101         and define LINKAT_TRAILING_SLASH_BUG.
9102         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
9103         check whether (fd1,file1) points to a directory if file1 or file2 ends
9104         in a slash. Code taken from lib/link.c.
9105         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
9106         Reported by Rainer Tammer.
9107
9108 2010-07-31  Bruno Haible  <bruno@clisp.org>
9109
9110         Correctly determine whether pow is available in libc on AIX 7 with xlc.
9111         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
9112         This disables an xlc optimization that was causing wrong test results.
9113         Reported by Rainer Tammer.
9114
9115 2010-07-31  Bruno Haible  <bruno@clisp.org>
9116
9117         iconv: Work around AIX 6.1..7.1 bug.
9118         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
9119         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
9120         cross-compiling, guess no on all versions of AIX.
9121         Reported by Rainer Tammer.
9122
9123 2010-07-31  Bruno Haible  <bruno@clisp.org>
9124
9125         readlink: Relax test a bit.
9126         * tests/test-readlink.h (test_readlink): Allow different errno value
9127         when readlink is called with a file name that ends in / and refers to
9128         a file.
9129         Suggested by Eric Blake.
9130         Reported by Rainer Tammer.
9131
9132 2010-07-31  Bruno Haible  <bruno@clisp.org>
9133
9134         copysign: Does not require -lm on glibc systems.
9135         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
9136         gl_COMMON_DOUBLE_MATHFUNC.
9137         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
9138
9139 2010-07-31  Bruno Haible  <bruno@clisp.org>
9140
9141         duplocale: Work around AIX 7.1 bug.
9142         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
9143         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
9144         * lib/duplocale.c (rpl_duplocale): Update comment.
9145         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
9146         Reported by Rainer Tammer.
9147
9148 2010-07-30  Bruno Haible  <bruno@clisp.org>
9149
9150         dirfd: Avoid link error on AIX 7.1.
9151         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
9152         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
9153         exist, set REPLACE_DIRFD.
9154         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
9155         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
9156         * doc/posix-functions/dirfd.texi: Update.
9157         Reported by Rainer Tammer.
9158
9159 2010-07-30  Eric Blake  <eblake@redhat.com>
9160
9161         strtod: next round of AIX fixes
9162         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
9163         exponent.
9164         * tests/test-strtod.c (main): Enhance tests.
9165         * doc/posix-functions/strtod.texi (strtod): Document next bug.
9166         Reported by Rainer Tammer.
9167
9168         futimens: fix configure check
9169         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
9170         Reported by Bruno Haible.
9171
9172 2010-07-30  Bruno Haible  <bruno@clisp.org>
9173
9174         getline: Update regarding AIX.
9175         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
9176         Reported by Rainer Tammer.
9177
9178 2010-07-30  Bruno Haible  <bruno@clisp.org>
9179
9180         wcwidth: Drop replacement on AIX 7.
9181         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
9182         AIX 7.
9183         Reported by Rainer Tammer.
9184
9185 2010-07-30  Bruno Haible  <bruno@clisp.org>
9186
9187         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
9188         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
9189         a 'char *'.
9190         Reported by Rainer Tammer.
9191
9192 2010-07-30  Bruno Haible  <bruno@clisp.org>
9193
9194         unlink: Update regarding AIX.
9195         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
9196         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
9197         Reported by Rainer Tammer.
9198
9199 2010-07-30  Bruno Haible  <bruno@clisp.org>
9200
9201         symlink: Update regarding AIX.
9202         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
9203         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
9204         Reported by Rainer Tammer.
9205
9206 2010-07-30  Bruno Haible  <bruno@clisp.org>
9207
9208         strndup: Update regarding AIX.
9209         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
9210         AIX 7.
9211         Reported by Rainer Tammer.
9212
9213 2010-07-30  Bruno Haible  <bruno@clisp.org>
9214
9215         stat: Update regarding AIX.
9216         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
9217         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
9218         Reported by Rainer Tammer.
9219
9220 2010-07-30  Bruno Haible  <bruno@clisp.org>
9221
9222         truncl: Fix autoconf test.
9223         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
9224         whether truncl works.
9225         Reported by Rainer Tammer.
9226
9227 2010-07-30  Bruno Haible  <bruno@clisp.org>
9228
9229         round: Update regarding AIX.
9230         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
9231         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
9232         Reported by Rainer Tammer.
9233
9234 2010-07-30  Bruno Haible  <bruno@clisp.org>
9235
9236         rename: Update regarding AIX.
9237         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
9238         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
9239         Reported by Rainer Tammer.
9240
9241 2010-07-30  Bruno Haible  <bruno@clisp.org>
9242
9243         printf.m4: Update regarding AIX.
9244         * m4/printf.m4: Update comments regarding AIX.
9245         Reported by Rainer Tammer.
9246
9247 2010-07-30  Bruno Haible  <bruno@clisp.org>
9248
9249         iconv: Update regarding AIX.
9250         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
9251         AIX 7.
9252         Reported by Rainer Tammer.
9253
9254 2010-07-30  Bruno Haible  <bruno@clisp.org>
9255
9256         getopt: Update regarding AIX.
9257         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
9258         no on AIX.
9259         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
9260         Reported by Rainer Tammer.
9261
9262 2010-07-30  Bruno Haible  <bruno@clisp.org>
9263
9264         ldexpl; Update regarding AIX.
9265         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
9266         on AIX 7.
9267         Reported by Rainer Tammer.
9268
9269 2010-07-30  Bruno Haible  <bruno@clisp.org>
9270
9271         frexpl: Update regarding AIX.
9272         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
9273         on AIX 7.
9274         Reported by Rainer Tammer.
9275
9276 2010-07-30  Bruno Haible  <bruno@clisp.org>
9277
9278         open, fopen: Update regarding AIX.
9279         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
9280         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9281         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
9282         * doc/posix-functions/fopen.texi: Likewise.
9283         Reported by Rainer Tammer.
9284
9285 2010-07-30  Bruno Haible  <bruno@clisp.org>
9286
9287         chown: Update doc regarding AIX.
9288         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
9289         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
9290         Reported by Rainer Tammer.
9291
9292 2010-07-30  Eric Blake  <eblake@redhat.com>
9293
9294         strtod: fix bug in replacement function on AIX
9295         * lib/strtod.c (strtod): Special case broken "0x" parse in
9296         underlying strtod.
9297         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
9298         * doc/posix-functions/strtod.texi (strtod): Likewise.
9299         Reported by Rainer Tammer.
9300
9301 2010-07-30  Bruno Haible  <bruno@clisp.org>
9302
9303         mbrlen: Fix cross-compilation guess for AIX.
9304         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
9305         guess. Leftover from 2008-12-22.
9306
9307 2010-07-30  Bruno Haible  <bruno@clisp.org>
9308
9309         mbrtowc: Fix cross-compilation guess for AIX.
9310         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
9311         guess. Leftover from 2008-12-21.
9312
9313 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
9314
9315         init.sh: work around trap limitation of some shells
9316         * tests/init.sh (setup_): Move exit trap outside of shell function.
9317
9318 2010-07-29  Eric Blake  <eblake@redhat.com>
9319
9320         strtod: aid debugging
9321         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
9322         understanding why strtod is rejected.
9323
9324 2010-07-28  Bruno Haible  <bruno@clisp.org>
9325
9326         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
9327         * lib/unistr/u8-chr.c: Include <string.h>.
9328         * tests/unistr/test-u8-chr.c: Likewise.
9329         * tests/unistr/test-u16-chr.c: Likewise.
9330         * tests/unistr/test-u32-chr.c: Likewise.
9331         * tests/unistr/test-u8-strchr.c: Likewise.
9332         * tests/unistr/test-u16-strchr.c: Likewise.
9333         * tests/unistr/test-u32-strchr.c: Likewise.
9334         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
9335         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
9336         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
9337         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
9338
9339 2010-07-28  Bruno Haible  <bruno@clisp.org>
9340
9341         Use spaces for indentation, not tabs.
9342         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
9343
9344 2010-07-27  Bruno Haible  <bruno@clisp.org>
9345
9346         mbspcasecmp: Fix function specification.
9347         * lib/string.in.h (mbspcasecmp): Fix specification comment.
9348         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
9349         Reported by Eric Blake <eblake@redhat.com>.
9350
9351 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
9352
9353         timespec: use cast and not conditional, as truncation isn't possible
9354         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
9355         instead of a conditional.  Comment about the situation in more detail.
9356         This undoes most of the 2009-10-29 patch.
9357
9358 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
9359
9360         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
9361         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
9362         * lib/unistr/u8-strchr.c: Likewise.
9363         * modules/unistr/u8-chr: Depend on memchr.
9364
9365         unistr/u*-strchr: add tests
9366         * modules/unistr/u8-strchr-tests: New file.
9367         * modules/unistr/u16-strchr-tests: New file.
9368         * modules/unistr/u32-strchr-tests: New file.
9369         * tests/unistr/test-strchr.h: New file.
9370         * tests/unistr/test-u8-strchr.c: New file.
9371         * tests/unistr/test-u16-strchr.c: New file.
9372         * tests/unistr/test-u32-strchr.c: New file.
9373
9374         unistr/u*-chr: test multibyte sequences more
9375         * tests/unistr/test-chr.h: Do complete testing of the characters in the
9376         test vector.
9377         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
9378         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
9379         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
9380
9381         unistr/u*-chr: test multibyte sequences
9382         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
9383
9384         unistr/u*-chr: prepare for multibyte tests
9385         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
9386         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
9387         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
9388         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
9389         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
9390         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
9391
9392 2010-07-18  Bruno Haible  <bruno@clisp.org>
9393
9394         unistr/u8-strchr: Optimize non-ASCII argument case.
9395         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
9396         because the first byte often matches anyway.
9397         Reported by Pádraig Brady <P@draigbrady.com>.
9398
9399 2010-07-15  Karl Berry  <karl@gnu.org>
9400
9401         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
9402
9403 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
9404
9405         getcwd: on Solaris, work better if ancestors are inaccessible
9406         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
9407         buffer and size, try again with a large buffer.  This works better
9408         on Solaris, since its getcwd succeeds even if the path to the root
9409         is inaccessible, and this is helpful in common cases such as .zfs
9410         hidden directories.  Problem reported by J Chapman Flack in
9411         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
9412         Use system getcwd if it's declared, not merely if it's partly
9413         working; use the partly-working test only to avoid needless effort
9414         if the system getcwd fails.
9415         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
9416         comment that was already obsolete and is now even more obsolete.
9417         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
9418         now might call strdup.
9419
9420 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
9421
9422         pthread: Add enough so that coreutils/src/sort.c compiles.
9423         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
9424         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
9425         gnulib. Include <sched.h> and <time.h>, as per POSIX.
9426         Include <sys/types.h>, in case it defines pthread_t.
9427         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
9428         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
9429         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
9430         (pthread_rwlockattr_t, pthread_spinlock_t):
9431         New typedefs, if HAVE_PTHREAD_T is not defined.
9432         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
9433         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
9434         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
9435         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
9436         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
9437         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
9438         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
9439         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
9440         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
9441         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
9442         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
9443         New macros.
9444         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
9445         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
9446         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
9447         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
9448         (pthread_spin_unlock): New dummy functions.
9449         (pthread_create): Return EAGAIN; don't set errno.
9450         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
9451         require AC_C_INLINE.
9452         * modules/pthread (Depends-on): Add sched, time.
9453         (pthread.h): Use AM_V_GEN.
9454
9455 2010-07-13  Bruno Haible  <bruno@clisp.org>
9456
9457         striconveh: Don't malloc memory if the result buffer is sufficient.
9458         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
9459         buffer if its size is sufficient.
9460         Reported by Ludovic Courtès <ludo@gnu.org>.
9461
9462 2010-07-13  Bruno Haible  <bruno@clisp.org>
9463
9464         strtod: Add safety check.
9465         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
9466
9467 2010-07-12  Bruno Haible  <bruno@clisp.org>
9468
9469         Unify tests that set gl_cv_func_ldexpl_no_libm.
9470         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
9471         gl_FUNC_LDEXPL.
9472         (gl_FUNC_LDEXPL): Invoke it.
9473         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9474
9475 2010-07-12  Bruno Haible  <bruno@clisp.org>
9476
9477         Unify tests that set gl_cv_func_ldexp_no_libm.
9478         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
9479         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
9480         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
9481         (configure.ac): Simply invoke gl_FUNC_LDEXP.
9482         * modules/strtod (Files): Add m4/ldexp.m4.
9483
9484 2010-07-12  Bruno Haible  <bruno@clisp.org>
9485
9486         Unify tests that set gl_cv_func_frexpl_no_libm.
9487         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
9488         gl_FUNC_FREXPL_NO_LIBM.
9489         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
9490         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
9491
9492 2010-07-12  Bruno Haible  <bruno@clisp.org>
9493
9494         Unify tests that set gl_cv_func_frexp_no_libm.
9495         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
9496         gl_FUNC_FREXP_NO_LIBM.
9497         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
9498         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
9499
9500 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9501
9502         memcoll: clarify sizes versus lengths, document better, and tweak perf
9503         * lib/memcoll.c (strcoll_loop, memcoll0):
9504         Improve quality of descriptive comments.  Name variables
9505         consistently as to whether they are lengths (which do not include
9506         terminating null) versus sizes (which do).
9507         * lib/xmemcoll.c (xmemcoll0): Likewise.
9508         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
9509         returned when s1size == 0; this is easier to compile and saves
9510         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
9511
9512 2010-07-12  Bruno Haible  <bruno@clisp.org>
9513
9514         Tests for module '_Exit'.
9515         * modules/_Exit-tests: New file.
9516         * tests/test-_Exit.sh: New file.
9517         * tests/test-_Exit.c: New file.
9518
9519         New module '_Exit'.
9520         * lib/stdlib.in.h (__attribute__): New macro.
9521         (_Exit): New declaration.
9522         * lib/_Exit.c: New file.
9523         * m4/_Exit.m4: New file.
9524         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
9525         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
9526         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
9527         * modules/_Exit: New file.
9528         * tests/test-stdlib-c++.cc (_Exit): Check signature.
9529         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
9530
9531 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
9532
9533         strtod: make it more-accurate typically, and don't require libm
9534         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
9535         Include limits.h.  Don't include string.h.
9536         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
9537         (locale_isspace): New function, so that no casts are needed to
9538         check whether *s is a space.
9539         (ldexp): Provide an unused dummy if not available.
9540         (scale_radix_exp, parse_number, underlying_strtod): New functions.
9541         (strtod): Use them.  This implementation prefers to use the
9542         underlying strtod if available, falling back on our own code
9543         only to fix known bugs.  This is more likely to produce an
9544         accurate result.  Also, it avoids the use of libm functions.
9545         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
9546         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
9547         was absent, but it caused a test failure with coreutils.
9548         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
9549         with libm.
9550         * modules/strtod (Makefile.am, Link): libm is no longer needed.
9551         * modules/strtod-tests (Makefile.am): Likewise.
9552
9553 2010-07-11  Pádraig Brady  <P@draigBrady.com>
9554             Bruno Haible  <bruno@clisp.org>
9555
9556         unistr/u8-strchr: Optimize ASCII argument case.
9557         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
9558
9559 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9560
9561         (x)memcoll: minor tweaks
9562         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
9563         is after the type that it qualifies.
9564         (memcoll0): Likewise.
9565         * lib/memcoll.h (memcoll0): Likewise.
9566         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
9567         * lib/xmemcoll.h (xmemcoll0): Likewise.
9568         * lib/memcoll.c (memcoll0): Correct the comment.  This function
9569         differs from memcoll in that the NUL byte is part of the argument.
9570         Omit the abort-checks, as performance is a real issue here.  Plus,
9571         the checks were wrong anyway (an off-by-one error).  Omit local
9572         variable 'diff', as it's a bit clearer that way.
9573         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
9574         no longer needed.
9575
9576 2010-07-08  Chen Guo <chenguo4@yahoo.com>
9577
9578         (x)memcoll: speedup when input is known to be NUL delimited
9579         * lib/memcoll.c: Include stdlib.
9580         (memcoll0) New function.
9581         (strcoll_loop) New function, refactored for use in both memcoll
9582         and memcoll0.
9583         * lib/memcoll.h: Add prototype for memcoll0.
9584         * lib/xmemcoll.c: (xmemcoll0) New function.
9585         (collate_error) New function, refactored for use in both xmemcoll
9586         and xmemcoll0.
9587         * lib/xmemcoll.h: Add prototype for xmemcoll0.
9588         * m4/memcoll.m4: add inline invocation.
9589
9590 2010-07-06  Pádraig Brady  <P@draigBrady.com>
9591
9592         * build-aux/bootstrap: Remove any local translations
9593         from the translation project synchronization directory,
9594         so that local only translations are not distributed.
9595
9596 2010-07-04  Bruno Haible  <bruno@clisp.org>
9597
9598         fsusage: Clarify which code applies to which platforms.
9599         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
9600         platform.
9601         * lib/fsusage.c (get_fs_usage): Likewise.
9602
9603 2010-07-04  Bruno Haible  <bruno@clisp.org>
9604
9605         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
9606         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
9607         Reported by Martin Lambers <marlam@marlam.de>.
9608
9609 2010-07-04  Jim Meyering  <meyering@redhat.com>
9610
9611         hash: once again explicitly disallow insertion of NULL
9612         * lib/hash.c (hash_insert0): Reinstate just-removed test:
9613         inserting a NULL pointer cannot work with these functions.
9614         Add a comment with details.
9615         This reverts part of the 2010-07-01 commit, 5bef1a35
9616         "hash: extend module to deal with non-pointer keys".
9617
9618 2010-07-01  Bruno Haible  <bruno@clisp.org>
9619
9620         stdbool: Update doc.
9621         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
9622         Info from Christian Weisgerber <naddy@mips.inka.de>.
9623
9624 2010-07-01  Jim Meyering  <meyering@redhat.com>
9625
9626         hash: extend module to deal with non-pointer keys
9627         * lib/hash.c (hash_insert0): New interface, much like hash_insert
9628         but that allows insertion of non-pointer entries.
9629         Do not disallow an ENTRY value of NULL.
9630         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
9631         * lib/hash.h (hash_insert0): Declare.
9632
9633 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9634
9635         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
9636         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
9637         not present (i.e. with autoconf 2.59 and when using gettextize, not
9638         gnulib), require AC_GNU_SOURCE instead.
9639
9640 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
9641
9642         idpriv-drop: Fix tests.
9643         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
9644         not to the test-idpriv-droptemp program.
9645
9646 2010-06-29  Bruno Haible  <bruno@clisp.org>
9647
9648         string: Fix syntax error with g++ 2.96.
9649         * lib/string.in.h (__pure__): Remove definition.
9650         (_GL_ATTRIBUTE_PURE): New macro.
9651         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
9652         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
9653         Reported by Christian Weisgerber <naddy@mips.inka.de>.
9654
9655 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
9656
9657         unitypes: Fix bug introduced on 2010-05-18.
9658         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
9659
9660 2010-06-22  Eric Blake  <eblake@redhat.com>
9661
9662         memmem: slight optimization
9663         * lib/str-two-way.h (critical_factorization): Update comments.
9664         Reduce work during factorization phase.
9665         Reported by Carlos Bueno <carlos@bueno.org>.
9666
9667 2010-06-21  Bruno Haible  <bruno@clisp.org>
9668
9669         Fix HAVE_CALLOC_POSIX misnomer.
9670         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
9671         !HAVE_CALLOC_POSIX.
9672         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
9673         HAVE_CALLOC_POSIX.
9674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
9675         instead of HAVE_CALLOC_POSIX.
9676         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
9677         HAVE_CALLOC_POSIX.
9678
9679         Use modern idiom for calloc() replacement.
9680         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
9681         AC_FUNC_CALLOC.
9682         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
9683         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
9684         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9685         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
9686         (gl_REPLACE_CALLOC): New macro.
9687
9688 2010-06-21  Bruno Haible  <bruno@clisp.org>
9689
9690         Fix HAVE_REALLOC_POSIX misnomer.
9691         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
9692         !HAVE_REALLOC_POSIX.
9693         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
9694         HAVE_REALLOC_POSIX.
9695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
9696         instead of HAVE_REALLOC_POSIX.
9697         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
9698         HAVE_REALLOC_POSIX.
9699
9700         Use modern idiom for realloc() replacement.
9701         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
9702         AC_FUNC_REALLOC.
9703         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
9704         Autoconf's AC_FUNC_REALLOC.
9705         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9706         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
9707         (gl_REPLACE_REALLOC): New macro.
9708         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9709
9710 2010-06-21  Bruno Haible  <bruno@clisp.org>
9711
9712         Fix HAVE_MALLOC_POSIX misnomer.
9713         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
9714         !HAVE_MALLOC_POSIX.
9715         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
9716         HAVE_MALLOC_POSIX.
9717         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
9718         instead of HAVE_MALLOC_POSIX.
9719         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
9720         HAVE_MALLOC_POSIX.
9721
9722         Use modern idiom for malloc() replacement.
9723         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
9724         AC_FUNC_MALLOC.
9725         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
9726         Autoconf's AC_FUNC_MALLOC.
9727         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
9728         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
9729         (gl_REPLACE_MALLOC): New macro.
9730         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
9731
9732 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
9733
9734         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
9735         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
9736         This macro takes 3 arguments, not 4.
9737
9738 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
9739
9740         ipv6: fix detection under mingw
9741         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
9742         in6_addr.
9743
9744 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
9745
9746         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
9747         that strtod() works when cross-compiling to a glibc version known
9748         to work.
9749
9750 2010-06-15  Bruno Haible  <bruno@clisp.org>
9751
9752         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
9753
9754 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
9755
9756         select: Correct timeout.
9757         * lib/select.c (rpl_select): Compute wait_timeout correctly.
9758
9759 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
9760
9761         git-version-gen: init shell var to avoid env var influence
9762         * build-aux/git-version-gen (v): Init shell var to empty.
9763
9764 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
9765
9766         priv-set: Don't assume that priv.h exists merely because getppriv does.
9767         See Jan Andersen's bug report about AIX 5L in
9768         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
9769         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
9770         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
9771         * lib/priv-set.h: Likewise.
9772         * tests/test-priv-set.c: Likewise.
9773
9774 2010-06-13  Bruno Haible  <bruno@clisp.org>
9775
9776         relocatable: Make it easier to test whether to install wrappers.
9777         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
9778         RELOCATABLE_VIA_WRAPPER.
9779
9780 2010-06-13  Bruno Haible  <bruno@clisp.org>
9781
9782         gnulib-tool: Display specified modules and dependencies differently.
9783         * gnulib-tool (func_show_module_list): New function.
9784         (func_import, func_create_testdir): Invoke it.
9785         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
9786
9787 2010-06-13  Bruno Haible  <bruno@clisp.org>
9788
9789         gnulib-tool: Align code of func_import and func_create_testdir.
9790         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
9791         specified_modules.
9792
9793 2010-06-12  Jim Meyering  <meyering@redhat.com>
9794
9795         test-inttostr: avoid spurious failure on Solaris 9
9796         * tests/test-inttostr.c (main): Skip the test when snprintf fails
9797         to accept "%ju".  Reported by Bruno Haible.
9798
9799 2010-06-11  Jim Meyering  <meyering@redhat.com>
9800
9801         test-sys_socket: mark variables as used more readably
9802         * tests/test-sys_socket.c (main): Mark otherwise unused variables
9803         as "used" explicitly via (void) statement casts.  This is more
9804         readable than using them in an artificial return expression.
9805         Suggestion from Bruno Haible.
9806
9807 2010-06-11  Bruno Haible  <bruno@clisp.org>
9808
9809         Avoid some more warnings from "gcc -Wwrite-strings".
9810         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
9811         to 'const char *'.
9812         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
9813         * tests/test-c-strcasestr.c (main): Likewise.
9814         * tests/test-mbscasestr1.c (main): Likewise.
9815         * tests/test-mbscasestr2.c (main): Likewise.
9816         * tests/test-memmem.c (main): Likewise.
9817         * tests/test-strstr.c (main): Likewise.
9818         * tests/test-strcasestr.c (main): Likewise.
9819
9820 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9821
9822         init.sh: change framework_failure_ to fail with status 99, not 1
9823         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
9824         automake's parallel-tests rule that this is an unexpected failure,
9825         even if the test is listed in XFAIL_TESTS.
9826
9827 2010-06-11  Jim Meyering  <meyering@redhat.com>
9828
9829         test-inttostr: avoid warnings about 4-6KB literal strings
9830         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
9831         Include "macros.h", for its definition of ASSERT.
9832         (CK): s/assert/ASSERT/
9833         * modules/inttostr-tests (Files): Add macros.h.
9834
9835         init.sh: don't use $ME_ or skip_ before they are defined
9836         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
9837         their first uses.  Also hoist their companions: warn_, fail_,
9838         framework_failure_, $stderr_fileno.  Prompted by a patch from
9839         Stefano Lattarini.
9840
9841         test-sys_socket: avoid set-but-not-used warnings from gcc
9842         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
9843         avoid warning about set-but-not-used variables.
9844
9845         test-xvasprintf: avoid 'const' discard warnings
9846         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
9847         "const" when assigning from literal strings.
9848         (test_xasprintf): Add "void" in function argument list to placate
9849         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
9850
9851         tests: avoid compilation warnings in argmatch and exclude tests...
9852         in packages that define ARGMATCH_DIE_DECL, like coreutils.
9853         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
9854         Since it always exits, declare with the "noreturn" attribute.
9855         * tests/test-argmatch.c: Likewise.
9856
9857         tests: avoid 'const' discard warnings in mbsstr tests
9858         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
9859         * tests/test-mbsstr2.c (main): Likewise.
9860
9861         test-verify: avoid warning from gcc's -Wmissing-declarations
9862         * tests/test-verify.c (function): Declare to be static.
9863
9864         test-inttostr.c: include <string.h> for use of strcmp
9865         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
9866
9867         test-linkat: avoid failed assertion on "other" architectures
9868         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
9869         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
9870         sparc: https://bugs.launchpad.net/bugs/591968
9871
9872 2010-06-11  Jim Meyering  <meyering@redhat.com>
9873
9874         printf.m4: avoid autoconf's "Expanded Before Required" warning
9875         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
9876         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
9877         autoconf warning.
9878
9879 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
9880
9881         Replacement header templates are now named with ".in", not "_".
9882         * doc/gnulib-intro.texi: Correct.
9883
9884 2010-06-10  Jim Meyering  <meyering@redhat.com>
9885
9886         inttostr-tests: depend on snprintf, not snprintf-posix
9887         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
9888         snprintf-posix, to avoid this aclocal failure:
9889           missing file gnulib-tests/vasnprintf.c
9890           configure.ac:45: error: expected source file, required through \
9891           AC_LIBSOURCES, not found
9892
9893 2010-06-10  Jim Meyering  <meyering@redhat.com>
9894
9895         inttostr: add a new function, inttostr, and tests
9896         The namesake function was not available.  The existence of the
9897         template file, inttostr.c makes its addition nontrivial.
9898         * lib/anytostr.c: Rename from inttostr.c.
9899         (anytostr): Rename from inttostr.
9900         * lib/inttostr.c: New file.
9901         * modules/inttostr (Files): Add anytostr.c.
9902         (Makefile.am): Set lib_SOURCES instead of ...
9903         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
9904         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
9905         * lib/offtostr.c: Likewise.
9906         * lib/uinttostr.c: Likewise.
9907         * lib/umaxtostr.c: Likewise.
9908         * modules/inttostr-tests: New file.
9909         * tests/test-inttostr.c: New file.  Test these functions.
9910
9911 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
9912             Bruno Haible  <bruno@clisp.org>
9913
9914         Add "Extending Gnulib" chapter to manual.
9915         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
9916         chapter.
9917         (Extending Gnulib): New chapter.
9918         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
9919         chapter.
9920
9921 2010-06-09  Bruno Haible  <bruno@clisp.org>
9922
9923         Avoid relocwrapper link errors due to gnulib replacement functions.
9924         * lib/areadlink.c: Use the system's malloc, realloc functions.
9925         (areadlink): Set errno to ENOMEM explicitly.
9926         * modules/areadlink (Depends-on): Remove malloc-posix.
9927         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9928
9929 2010-06-09  Bruno Haible  <bruno@clisp.org>
9930
9931         Avoid relocwrapper link errors due to gnulib replacement functions.
9932         * lib/canonicalize-lgpl.c: Use the system's malloc function.
9933         * lib/malloca.c: Likewise.
9934         * lib/relocatable.c: Likewise.
9935         * lib/progreloc.c: Use the system's malloc, sprintf functions.
9936         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
9937         * lib/setenv.c: Use the system's malloc, realloc functions.
9938         * lib/strerror.c: Use the system's sprintf function.
9939         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9940
9941 2010-06-04  Bruno Haible  <bruno@clisp.org>
9942
9943         Prefer documented low-level autoconf macro names.
9944         * m4/lib-link.m4: Use m4_translit instead of translit.
9945         * m4/environ.m4: Likewise.
9946         * m4/mathfunc.m4: Likewise.
9947         * m4/onceonly.m4: Likewise.
9948         * m4/stdint.m4: Likewise.
9949         Suggested by Eric Blake.
9950
9951 2010-06-04  Martin Lambers  <marlam@marlam.de>
9952             Bruno Haible  <bruno@clisp.org>
9953
9954         havelib: Allow library names with '+' characters.
9955         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9956         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
9957
9958 2010-06-09  Bruno Haible  <bruno@clisp.org>
9959
9960         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
9961         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
9962         realloc failed.
9963
9964 2010-06-08  Peter Simons  <simons@cryp.to>
9965
9966         maint.mk: make the news-check rule more configurable
9967         * top/maint.mk (news-check-lines-spec) New variable.
9968         (news-check): Use "sed -n 1,10p" in place of "head".
9969
9970 2010-06-07  Jim Meyering  <meyering@redhat.com>
9971
9972         do-release-commit-and-tag: fix typo in --help
9973         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
9974
9975         regex: avoid new dead-code warning with gcc-4.6.0
9976         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
9977         if-block containing a while-loop.  It's been unused for at least
9978         5 years.
9979
9980 2010-06-05  Bruno Haible  <bruno@clisp.org>
9981
9982         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
9983         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
9984
9985 2010-06-04  Bruno Haible  <bruno@clisp.org>
9986
9987         Update to GNU gettext 0.18.1.
9988         * modules/gettext (configure.ac): Require gettext infrastructure from
9989         version 0.18.1.
9990
9991 2010-06-03  Bruno Haible  <bruno@clisp.org>
9992
9993         Don't use AC_LIBOBJ with file names in subdirectories.
9994         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
9995         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
9996         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
9997         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
9998         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
9999         gl_LIBUNISTRING_LIBSOURCE.
10000         (Makefile.am): Augment lib_SOURCES here, conditionally.
10001         * NEWS: Drop requirement for Automake option 'subdir-objects'.
10002
10003 2010-06-03  Bruno Haible  <bruno@clisp.org>
10004
10005         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
10006         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
10007         expansion does not end with a newline.
10008         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
10009         unnecessary newline.
10010
10011 2010-06-03  Bruno Haible  <bruno@clisp.org>
10012
10013         Reduce dependencies.
10014         * tests/test-quotearg.h: New file, extracted from
10015         tests/test-quotearg.c.
10016         * tests/test-quotearg-simple.c: New file, extracted from
10017         tests/test-quotearg.c.
10018         * tests/test-quotearg.c: Don't include <ctype.h>.
10019         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
10020         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
10021         use_quote_double_quotes, use_quotearg_colon): Moved to
10022         tests/test-quotearg.h.
10023         (results_g, flag_results, custom_quotes, custom_results): Moved
10024         to tests/test-quotearg-simple.c.
10025         (main): Moved the part that does not depend on gettext to
10026         tests/test-quotearg-simple.c. Return 77 if the test cannot be
10027         performed.
10028         * modules/quotearg-simple: New file.
10029         * modules/quotearg-simple-tests: New file.
10030         * modules/quotearg (Depends-on): Add quotearg-simple.
10031         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
10032         (Files): Add tests/test-quotearg.h.
10033         Reported by Paolo Bonzini.
10034
10035 2010-06-03  Bruno Haible  <bruno@clisp.org>
10036
10037         Reduce dependencies.
10038         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
10039
10040 2010-06-03  Bruno Haible  <bruno@clisp.org>
10041
10042         time: Undefine more broken macros.
10043         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
10044         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
10045         Reported by Eric Blake.
10046
10047 2010-06-03  Bruno Haible  <bruno@clisp.org>
10048
10049         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
10050         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
10051         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
10052         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
10053         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
10054         Reported by Ludovic Courtès <ludo@gnu.org>.
10055
10056 2010-06-02  Eric Blake  <eblake@redhat.com>
10057
10058         time: work with mingw + pthreads-win32 library
10059         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
10060         if timespec is defined only in pthread.h.
10061         * modules/time (Makefile.am): Substitute it.
10062         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
10063         <pthread.h>, when needed.
10064         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
10065         from the library.
10066
10067 2010-05-31  Bruno Haible  <bruno@clisp.org>
10068
10069         Avoid expanding two macros in the wrong order.
10070         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
10071         gl_LIBUNISTRING if it is defined.
10072         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
10073         autoconf >= 2.64.
10074         Reported by Ludovic Courtès <ludo@gnu.org>.
10075
10076 2010-05-27  Jim Meyering  <meyering@redhat.com>
10077
10078         maint.mk: also prohibit "#undef" of always-defined symbols
10079         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
10080         Allow more than one space before the symbol name.
10081         (sc_prohibit_always-defined_macros): Use grep's -E, now that
10082         the regexp uses alternation.
10083
10084 2010-05-26  Eric Blake  <eblake@redhat.com>
10085
10086         maint.mk: avoid echo -e
10087         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
10088         Convert all uses of echo -* to printf.
10089         Reported by Matthias Bolte.
10090
10091 2010-05-25  Bruno Haible  <bruno@clisp.org>
10092
10093         Update to GNU gettext 0.18, part 2.
10094         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
10095         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
10096
10097 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10098
10099         Add missing include in test-pwrite.c.
10100         * tests/test-pwrite.c: Include string.h, for strcmp.
10101
10102 2010-05-24  Bruno Haible  <bruno@clisp.org>
10103
10104         * NEWS: Mention requirement for Automake option 'subdir-objects'.
10105
10106 2010-05-24  Bruno Haible  <bruno@clisp.org>
10107
10108         Don't use conversion with transliteration in u{8,16,32}_strcoll.
10109         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
10110         iconveh_error argument.
10111         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
10112         U_STRCONV_TO_LOCALE.
10113         * lib/unistr/u16-strcoll.c: Likewise.
10114         * lib/unistr/u32-strcoll.c: Likewise.
10115         * modules/unistr/u8-strcoll (Depends-on): Add
10116         uniconv/u8-strconv-to-enc, localcharset. Remove
10117         uniconv/u8-strconv-to-locale.
10118         (configure.ac): Bump version number.
10119         * modules/unistr/u16-strcoll (Depends-on): Add
10120         uniconv/u16-strconv-to-enc, localcharset. Remove
10121         uniconv/u16-strconv-to-locale.
10122         (configure.ac): Bump version number.
10123         * modules/unistr/u32-strcoll (Depends-on): Add
10124         uniconv/u32-strconv-to-enc, localcharset. Remove
10125         uniconv/u32-strconv-to-locale.
10126         (configure.ac): Bump version number.
10127
10128 2010-05-24  Bruno Haible  <bruno@clisp.org>
10129
10130         Avoid a test failure on NetBSD 5.0.
10131         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
10132         an iconv() bug.
10133
10134 2010-05-24  Bruno Haible  <bruno@clisp.org>
10135
10136         Adjust #include directive style.
10137         * modules/regex (Includes): Recommend to write <regex.h>.
10138
10139 2010-05-24  Bruno Haible  <bruno@clisp.org>
10140
10141         regex: Don't require alloca.
10142         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
10143         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
10144         only inside if (0).
10145
10146 2010-05-23  Jim Meyering  <meyering@redhat.com>
10147
10148         test-renameat.c: include <sys/stat.h>
10149         * tests/test-renameat.c: Include <sys/stat.h>; required for
10150         definition of S_IS* macros.
10151
10152 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
10153
10154         Update maintainer documentation for 'relocatable-prog' module.
10155         * doc/relocatable-maint.texi: Update.
10156         Comments by Bruno Haible.
10157
10158 2010-05-23  Bruno Haible  <bruno@clisp.org>
10159
10160         git-merge-changelog: Enable --split-merged-entry by default.
10161         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
10162         (usage): Don't mention this option any more.
10163         Reported by Ralf Wildenhues.
10164
10165 2010-05-23  Jim Meyering  <meyering@redhat.com>
10166
10167         test-pwrite: do not leave behind a test file named "out"
10168         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
10169         The trivial-looking use of init.sh is really necessary.
10170         It ensures that the temporary file, "out", is created in
10171         a temporary directory, and removed upon termination.
10172         * tests/test-pwrite.sh: Re-add file.
10173         * modules/pwrite-tests: Reference it.
10174
10175 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10176
10177         Fix output redirection buglet in init.sh.
10178         * tests/init.sh: Fix redirection of stderr.
10179
10180 2010-05-20  Simon Josefsson  <simon@josefsson.org>
10181
10182         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
10183
10184 2010-05-17  Simon Josefsson  <simon@josefsson.org>
10185
10186         * modules/valgrind-tests: New file.
10187         * m4/valgrind-tests.m4: New file.
10188         * doc/valgrind-tests.texi: New file.
10189         * doc/gnulib.texi (Running self-tests under valgrind): New
10190         section.
10191
10192 2010-05-19  Bruno Haible  <bruno@clisp.org>
10193
10194         Clean up dead code in recent commit.
10195         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
10196         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
10197         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
10198         Suggested by Paolo Bonzini.
10199
10200 2010-05-19  Bruno Haible  <bruno@clisp.org>
10201
10202         Avoid valgrind error reports from libunistring.
10203         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
10204         * modules/libunistring (Files): Add it.
10205         * modules/libunistring-optional (Files): Likewise.
10206
10207 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
10208             Bruno Haible  <bruno@clisp.org>
10209
10210         New module 'libunistring-optional'.
10211         * modules/libunistring-optional: New file.
10212         * m4/libunistring-base.m4: New file.
10213         * m4/libunistring-optional.m4: New file.
10214         * lib/unicase.in.h: Renamed from lib/unicase.h.
10215         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
10216         * lib/unictype.in.h: Renamed from lib/unictype.h.
10217         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
10218         * lib/uniname.in.h: Renamed from lib/uniname.h.
10219         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
10220         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
10221         * lib/unistr.in.h: Renamed from lib/unistr.h.
10222         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
10223         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
10224         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
10225         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
10226         gl_LIBUNISTRING. If the library was found, determine the installed
10227         version and set LIBUNISTRING_VERSION.
10228         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
10229         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
10230         handle a configuration option --with-included-libunistring.
10231         * modules/libunistring (Files): Add m4/absolute-header.m4.
10232         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
10233         Add m4/libunistring-base.m4.
10234         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10235         (Makefile.am): Build unicase.h from unicase.in.h.
10236         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
10237         Add m4/libunistring-base.m4.
10238         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10239         (Makefile.am): Build uniconv.h from uniconv.in.h.
10240         * modules/unictype/base (Files): Use unictype.in.h instead of
10241         unictype.h. Add m4/libunistring-base.m4.
10242         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10243         (Makefile.am): Build unictype.h from unictype.in.h.
10244         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
10245         Add m4/libunistring-base.m4.
10246         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10247         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
10248         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
10249         Add m4/libunistring-base.m4.
10250         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10251         (Makefile.am): Build uniname.h from uniname.in.h.
10252         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
10253         Add m4/libunistring-base.m4.
10254         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10255         (Makefile.am): Build uninorm.h from uninorm.in.h.
10256         * modules/unistdio/base (Files): Use unistdio.in.h instead of
10257         unistdio.h. Add m4/libunistring-base.m4.
10258         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10259         (Makefile.am): Build unistdio.h from unistdio.in.h.
10260         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
10261         Add m4/libunistring-base.m4.
10262         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10263         (Makefile.am): Build unistr.h from unistr.in.h.
10264         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
10265         Add m4/libunistring-base.m4.
10266         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10267         (Makefile.am): Build unitypes.h from unitypes.in.h.
10268         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
10269         Add m4/libunistring-base.m4.
10270         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10271         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
10272         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
10273         uniwidth.h. Add m4/libunistring-base.m4.
10274         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
10275         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
10276         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
10277         instead of augmenting lib_SOURCES.
10278         * modules/unicase/empty-suffix-context: Likewise.
10279         * modules/unicase/locale-language: Likewise.
10280         * modules/unicase/tolower: Likewise.
10281         * modules/unicase/totitle: Likewise.
10282         * modules/unicase/toupper: Likewise.
10283         * modules/unicase/u8-casecmp: Likewise.
10284         * modules/unicase/u8-casecoll: Likewise.
10285         * modules/unicase/u8-casefold: Likewise.
10286         * modules/unicase/u8-casexfrm: Likewise.
10287         * modules/unicase/u8-ct-casefold: Likewise.
10288         * modules/unicase/u8-ct-tolower: Likewise.
10289         * modules/unicase/u8-ct-totitle: Likewise.
10290         * modules/unicase/u8-ct-toupper: Likewise.
10291         * modules/unicase/u8-is-cased: Likewise.
10292         * modules/unicase/u8-is-casefolded: Likewise.
10293         * modules/unicase/u8-is-lowercase: Likewise.
10294         * modules/unicase/u8-is-titlecase: Likewise.
10295         * modules/unicase/u8-is-uppercase: Likewise.
10296         * modules/unicase/u8-prefix-context: Likewise.
10297         * modules/unicase/u8-suffix-context: Likewise.
10298         * modules/unicase/u8-tolower: Likewise.
10299         * modules/unicase/u8-totitle: Likewise.
10300         * modules/unicase/u8-toupper: Likewise.
10301         * modules/unicase/u16-casecmp: Likewise.
10302         * modules/unicase/u16-casecoll: Likewise.
10303         * modules/unicase/u16-casefold: Likewise.
10304         * modules/unicase/u16-casexfrm: Likewise.
10305         * modules/unicase/u16-ct-casefold: Likewise.
10306         * modules/unicase/u16-ct-tolower: Likewise.
10307         * modules/unicase/u16-ct-totitle: Likewise.
10308         * modules/unicase/u16-ct-toupper: Likewise.
10309         * modules/unicase/u16-is-cased: Likewise.
10310         * modules/unicase/u16-is-casefolded: Likewise.
10311         * modules/unicase/u16-is-lowercase: Likewise.
10312         * modules/unicase/u16-is-titlecase: Likewise.
10313         * modules/unicase/u16-is-uppercase: Likewise.
10314         * modules/unicase/u16-prefix-context: Likewise.
10315         * modules/unicase/u16-suffix-context: Likewise.
10316         * modules/unicase/u16-tolower: Likewise.
10317         * modules/unicase/u16-totitle: Likewise.
10318         * modules/unicase/u16-toupper: Likewise.
10319         * modules/unicase/u32-casecmp: Likewise.
10320         * modules/unicase/u32-casecoll: Likewise.
10321         * modules/unicase/u32-casefold: Likewise.
10322         * modules/unicase/u32-casexfrm: Likewise.
10323         * modules/unicase/u32-ct-casefold: Likewise.
10324         * modules/unicase/u32-ct-tolower: Likewise.
10325         * modules/unicase/u32-ct-totitle: Likewise.
10326         * modules/unicase/u32-ct-toupper: Likewise.
10327         * modules/unicase/u32-is-cased: Likewise.
10328         * modules/unicase/u32-is-casefolded: Likewise.
10329         * modules/unicase/u32-is-lowercase: Likewise.
10330         * modules/unicase/u32-is-titlecase: Likewise.
10331         * modules/unicase/u32-is-uppercase: Likewise.
10332         * modules/unicase/u32-prefix-context: Likewise.
10333         * modules/unicase/u32-suffix-context: Likewise.
10334         * modules/unicase/u32-tolower: Likewise.
10335         * modules/unicase/u32-totitle: Likewise.
10336         * modules/unicase/u32-toupper: Likewise.
10337         * modules/unicase/ulc-casecmp: Likewise.
10338         * modules/unicase/ulc-casecoll: Likewise.
10339         * modules/unicase/ulc-casexfrm: Likewise.
10340         * modules/uniconv/u8-conv-from-enc: Likewise.
10341         * modules/uniconv/u8-conv-to-enc: Likewise.
10342         * modules/uniconv/u8-strconv-from-enc: Likewise.
10343         * modules/uniconv/u8-strconv-from-locale: Likewise.
10344         * modules/uniconv/u8-strconv-to-enc: Likewise.
10345         * modules/uniconv/u8-strconv-to-locale: Likewise.
10346         * modules/uniconv/u16-conv-from-enc: Likewise.
10347         * modules/uniconv/u16-conv-to-enc: Likewise.
10348         * modules/uniconv/u16-strconv-from-enc: Likewise.
10349         * modules/uniconv/u16-strconv-from-locale: Likewise.
10350         * modules/uniconv/u16-strconv-to-enc: Likewise.
10351         * modules/uniconv/u16-strconv-to-locale: Likewise.
10352         * modules/uniconv/u32-conv-from-enc: Likewise.
10353         * modules/uniconv/u32-conv-to-enc: Likewise.
10354         * modules/uniconv/u32-strconv-from-enc: Likewise.
10355         * modules/uniconv/u32-strconv-from-locale: Likewise.
10356         * modules/uniconv/u32-strconv-to-enc: Likewise.
10357         * modules/uniconv/u32-strconv-to-locale: Likewise.
10358         * modules/unictype/bidicategory-byname: Likewise.
10359         * modules/unictype/bidicategory-name: Likewise.
10360         * modules/unictype/bidicategory-of: Likewise.
10361         * modules/unictype/bidicategory-test: Likewise.
10362         * modules/unictype/block-list: Likewise.
10363         * modules/unictype/block-test: Likewise.
10364         * modules/unictype/category-C: Likewise.
10365         * modules/unictype/category-Cc: Likewise.
10366         * modules/unictype/category-Cf: Likewise.
10367         * modules/unictype/category-Cn: Likewise.
10368         * modules/unictype/category-Co: Likewise.
10369         * modules/unictype/category-Cs: Likewise.
10370         * modules/unictype/category-L: Likewise.
10371         * modules/unictype/category-Ll: Likewise.
10372         * modules/unictype/category-Lm: Likewise.
10373         * modules/unictype/category-Lo: Likewise.
10374         * modules/unictype/category-Lt: Likewise.
10375         * modules/unictype/category-Lu: Likewise.
10376         * modules/unictype/category-M: Likewise.
10377         * modules/unictype/category-Mc: Likewise.
10378         * modules/unictype/category-Me: Likewise.
10379         * modules/unictype/category-Mn: Likewise.
10380         * modules/unictype/category-N: Likewise.
10381         * modules/unictype/category-Nd: Likewise.
10382         * modules/unictype/category-Nl: Likewise.
10383         * modules/unictype/category-No: Likewise.
10384         * modules/unictype/category-P: Likewise.
10385         * modules/unictype/category-Pc: Likewise.
10386         * modules/unictype/category-Pd: Likewise.
10387         * modules/unictype/category-Pe: Likewise.
10388         * modules/unictype/category-Pf: Likewise.
10389         * modules/unictype/category-Pi: Likewise.
10390         * modules/unictype/category-Po: Likewise.
10391         * modules/unictype/category-Ps: Likewise.
10392         * modules/unictype/category-S: Likewise.
10393         * modules/unictype/category-Sc: Likewise.
10394         * modules/unictype/category-Sk: Likewise.
10395         * modules/unictype/category-Sm: Likewise.
10396         * modules/unictype/category-So: Likewise.
10397         * modules/unictype/category-Z: Likewise.
10398         * modules/unictype/category-Zl: Likewise.
10399         * modules/unictype/category-Zp: Likewise.
10400         * modules/unictype/category-Zs: Likewise.
10401         * modules/unictype/category-and: Likewise.
10402         * modules/unictype/category-and-not: Likewise.
10403         * modules/unictype/category-byname: Likewise.
10404         * modules/unictype/category-name: Likewise.
10405         * modules/unictype/category-none: Likewise.
10406         * modules/unictype/category-of: Likewise.
10407         * modules/unictype/category-or: Likewise.
10408         * modules/unictype/category-test: Likewise.
10409         * modules/unictype/combining-class: Likewise.
10410         * modules/unictype/ctype-alnum: Likewise.
10411         * modules/unictype/ctype-alpha: Likewise.
10412         * modules/unictype/ctype-blank: Likewise.
10413         * modules/unictype/ctype-cntrl: Likewise.
10414         * modules/unictype/ctype-digit: Likewise.
10415         * modules/unictype/ctype-graph: Likewise.
10416         * modules/unictype/ctype-lower: Likewise.
10417         * modules/unictype/ctype-print: Likewise.
10418         * modules/unictype/ctype-punct: Likewise.
10419         * modules/unictype/ctype-space: Likewise.
10420         * modules/unictype/ctype-upper: Likewise.
10421         * modules/unictype/ctype-xdigit: Likewise.
10422         * modules/unictype/decimal-digit: Likewise.
10423         * modules/unictype/digit: Likewise.
10424         * modules/unictype/mirror: Likewise.
10425         * modules/unictype/numeric: Likewise.
10426         * modules/unictype/property-alphabetic: Likewise.
10427         * modules/unictype/property-ascii-hex-digit: Likewise.
10428         * modules/unictype/property-bidi-arabic-digit: Likewise.
10429         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
10430         * modules/unictype/property-bidi-block-separator: Likewise.
10431         * modules/unictype/property-bidi-boundary-neutral: Likewise.
10432         * modules/unictype/property-bidi-common-separator: Likewise.
10433         * modules/unictype/property-bidi-control: Likewise.
10434         * modules/unictype/property-bidi-embedding-or-override: Likewise.
10435         * modules/unictype/property-bidi-eur-num-separator: Likewise.
10436         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
10437         * modules/unictype/property-bidi-european-digit: Likewise.
10438         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
10439         * modules/unictype/property-bidi-left-to-right: Likewise.
10440         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
10441         * modules/unictype/property-bidi-other-neutral: Likewise.
10442         * modules/unictype/property-bidi-pdf: Likewise.
10443         * modules/unictype/property-bidi-segment-separator: Likewise.
10444         * modules/unictype/property-bidi-whitespace: Likewise.
10445         * modules/unictype/property-byname: Likewise.
10446         * modules/unictype/property-combining: Likewise.
10447         * modules/unictype/property-composite: Likewise.
10448         * modules/unictype/property-currency-symbol: Likewise.
10449         * modules/unictype/property-dash: Likewise.
10450         * modules/unictype/property-decimal-digit: Likewise.
10451         * modules/unictype/property-default-ignorable-code-point: Likewise.
10452         * modules/unictype/property-deprecated: Likewise.
10453         * modules/unictype/property-diacritic: Likewise.
10454         * modules/unictype/property-extender: Likewise.
10455         * modules/unictype/property-format-control: Likewise.
10456         * modules/unictype/property-grapheme-base: Likewise.
10457         * modules/unictype/property-grapheme-extend: Likewise.
10458         * modules/unictype/property-grapheme-link: Likewise.
10459         * modules/unictype/property-hex-digit: Likewise.
10460         * modules/unictype/property-hyphen: Likewise.
10461         * modules/unictype/property-id-continue: Likewise.
10462         * modules/unictype/property-id-start: Likewise.
10463         * modules/unictype/property-ideographic: Likewise.
10464         * modules/unictype/property-ids-binary-operator: Likewise.
10465         * modules/unictype/property-ids-trinary-operator: Likewise.
10466         * modules/unictype/property-ignorable-control: Likewise.
10467         * modules/unictype/property-iso-control: Likewise.
10468         * modules/unictype/property-join-control: Likewise.
10469         * modules/unictype/property-left-of-pair: Likewise.
10470         * modules/unictype/property-line-separator: Likewise.
10471         * modules/unictype/property-logical-order-exception: Likewise.
10472         * modules/unictype/property-lowercase: Likewise.
10473         * modules/unictype/property-math: Likewise.
10474         * modules/unictype/property-non-break: Likewise.
10475         * modules/unictype/property-not-a-character: Likewise.
10476         * modules/unictype/property-numeric: Likewise.
10477         * modules/unictype/property-other-alphabetic: Likewise.
10478         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
10479         * modules/unictype/property-other-grapheme-extend: Likewise.
10480         * modules/unictype/property-other-id-continue: Likewise.
10481         * modules/unictype/property-other-id-start: Likewise.
10482         * modules/unictype/property-other-lowercase: Likewise.
10483         * modules/unictype/property-other-math: Likewise.
10484         * modules/unictype/property-other-uppercase: Likewise.
10485         * modules/unictype/property-paired-punctuation: Likewise.
10486         * modules/unictype/property-paragraph-separator: Likewise.
10487         * modules/unictype/property-pattern-syntax: Likewise.
10488         * modules/unictype/property-pattern-white-space: Likewise.
10489         * modules/unictype/property-private-use: Likewise.
10490         * modules/unictype/property-punctuation: Likewise.
10491         * modules/unictype/property-quotation-mark: Likewise.
10492         * modules/unictype/property-radical: Likewise.
10493         * modules/unictype/property-sentence-terminal: Likewise.
10494         * modules/unictype/property-soft-dotted: Likewise.
10495         * modules/unictype/property-space: Likewise.
10496         * modules/unictype/property-terminal-punctuation: Likewise.
10497         * modules/unictype/property-test: Likewise.
10498         * modules/unictype/property-titlecase: Likewise.
10499         * modules/unictype/property-unassigned-code-value: Likewise.
10500         * modules/unictype/property-unified-ideograph: Likewise.
10501         * modules/unictype/property-uppercase: Likewise.
10502         * modules/unictype/property-variation-selector: Likewise.
10503         * modules/unictype/property-white-space: Likewise.
10504         * modules/unictype/property-xid-continue: Likewise.
10505         * modules/unictype/property-xid-start: Likewise.
10506         * modules/unictype/property-zero-width: Likewise.
10507         * modules/unictype/scripts: Likewise.
10508         * modules/unictype/syntax-c-ident: Likewise.
10509         * modules/unictype/syntax-c-whitespace: Likewise.
10510         * modules/unictype/syntax-java-ident: Likewise.
10511         * modules/unictype/syntax-java-whitespace: Likewise.
10512         * modules/unilbrk/u8-possible-linebreaks: Likewise.
10513         * modules/unilbrk/u8-width-linebreaks: Likewise.
10514         * modules/unilbrk/u16-possible-linebreaks: Likewise.
10515         * modules/unilbrk/u16-width-linebreaks: Likewise.
10516         * modules/unilbrk/u32-possible-linebreaks: Likewise.
10517         * modules/unilbrk/u32-width-linebreaks: Likewise.
10518         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
10519         * modules/unilbrk/ulc-width-linebreaks: Likewise.
10520         * modules/uniname/uniname: Likewise.
10521         * modules/uninorm/canonical-decomposition: Likewise.
10522         * modules/uninorm/composition: Likewise.
10523         * modules/uninorm/decomposing-form: Likewise.
10524         * modules/uninorm/decomposition: Likewise.
10525         * modules/uninorm/filter: Likewise.
10526         * modules/uninorm/nfc: Likewise.
10527         * modules/uninorm/nfd: Likewise.
10528         * modules/uninorm/nfkc: Likewise.
10529         * modules/uninorm/nfkd: Likewise.
10530         * modules/uninorm/u8-normalize: Likewise.
10531         * modules/uninorm/u8-normcmp: Likewise.
10532         * modules/uninorm/u8-normcoll: Likewise.
10533         * modules/uninorm/u8-normxfrm: Likewise.
10534         * modules/uninorm/u16-normalize: Likewise.
10535         * modules/uninorm/u16-normcmp: Likewise.
10536         * modules/uninorm/u16-normcoll: Likewise.
10537         * modules/uninorm/u16-normxfrm: Likewise.
10538         * modules/uninorm/u32-normalize: Likewise.
10539         * modules/uninorm/u32-normcmp: Likewise.
10540         * modules/uninorm/u32-normcoll: Likewise.
10541         * modules/uninorm/u32-normxfrm: Likewise.
10542         * modules/unistdio/u8-asnprintf: Likewise.
10543         * modules/unistdio/u8-asprintf: Likewise.
10544         * modules/unistdio/u8-snprintf: Likewise.
10545         * modules/unistdio/u8-sprintf: Likewise.
10546         * modules/unistdio/u8-u8-asnprintf: Likewise.
10547         * modules/unistdio/u8-u8-asprintf: Likewise.
10548         * modules/unistdio/u8-u8-snprintf: Likewise.
10549         * modules/unistdio/u8-u8-sprintf: Likewise.
10550         * modules/unistdio/u8-u8-vasnprintf: Likewise.
10551         * modules/unistdio/u8-u8-vasprintf: Likewise.
10552         * modules/unistdio/u8-u8-vsnprintf: Likewise.
10553         * modules/unistdio/u8-u8-vsprintf: Likewise.
10554         * modules/unistdio/u8-vasnprintf: Likewise.
10555         * modules/unistdio/u8-vasprintf: Likewise.
10556         * modules/unistdio/u8-vsnprintf: Likewise.
10557         * modules/unistdio/u8-vsprintf: Likewise.
10558         * modules/unistdio/u16-asnprintf: Likewise.
10559         * modules/unistdio/u16-asprintf: Likewise.
10560         * modules/unistdio/u16-snprintf: Likewise.
10561         * modules/unistdio/u16-sprintf: Likewise.
10562         * modules/unistdio/u16-u16-asnprintf: Likewise.
10563         * modules/unistdio/u16-u16-asprintf: Likewise.
10564         * modules/unistdio/u16-u16-snprintf: Likewise.
10565         * modules/unistdio/u16-u16-sprintf: Likewise.
10566         * modules/unistdio/u16-u16-vasnprintf: Likewise.
10567         * modules/unistdio/u16-u16-vasprintf: Likewise.
10568         * modules/unistdio/u16-u16-vsnprintf: Likewise.
10569         * modules/unistdio/u16-u16-vsprintf: Likewise.
10570         * modules/unistdio/u16-vasnprintf: Likewise.
10571         * modules/unistdio/u16-vasprintf: Likewise.
10572         * modules/unistdio/u16-vsnprintf: Likewise.
10573         * modules/unistdio/u16-vsprintf: Likewise.
10574         * modules/unistdio/u32-asnprintf: Likewise.
10575         * modules/unistdio/u32-asprintf: Likewise.
10576         * modules/unistdio/u32-snprintf: Likewise.
10577         * modules/unistdio/u32-sprintf: Likewise.
10578         * modules/unistdio/u32-u32-asnprintf: Likewise.
10579         * modules/unistdio/u32-u32-asprintf: Likewise.
10580         * modules/unistdio/u32-u32-snprintf: Likewise.
10581         * modules/unistdio/u32-u32-sprintf: Likewise.
10582         * modules/unistdio/u32-u32-vasnprintf: Likewise.
10583         * modules/unistdio/u32-u32-vasprintf: Likewise.
10584         * modules/unistdio/u32-u32-vsnprintf: Likewise.
10585         * modules/unistdio/u32-u32-vsprintf: Likewise.
10586         * modules/unistdio/u32-vasnprintf: Likewise.
10587         * modules/unistdio/u32-vasprintf: Likewise.
10588         * modules/unistdio/u32-vsnprintf: Likewise.
10589         * modules/unistdio/u32-vsprintf: Likewise.
10590         * modules/unistdio/ulc-asnprintf: Likewise.
10591         * modules/unistdio/ulc-asprintf: Likewise.
10592         * modules/unistdio/ulc-fprintf: Likewise.
10593         * modules/unistdio/ulc-snprintf: Likewise.
10594         * modules/unistdio/ulc-sprintf: Likewise.
10595         * modules/unistdio/ulc-vasnprintf: Likewise.
10596         * modules/unistdio/ulc-vasprintf: Likewise.
10597         * modules/unistdio/ulc-vfprintf: Likewise.
10598         * modules/unistdio/ulc-vsnprintf: Likewise.
10599         * modules/unistdio/ulc-vsprintf: Likewise.
10600         * modules/unistr/u8-check: Likewise.
10601         * modules/unistr/u8-chr: Likewise.
10602         * modules/unistr/u8-cmp: Likewise.
10603         * modules/unistr/u8-cmp2: Likewise.
10604         * modules/unistr/u8-cpy: Likewise.
10605         * modules/unistr/u8-cpy-alloc: Likewise.
10606         * modules/unistr/u8-endswith: Likewise.
10607         * modules/unistr/u8-mblen: Likewise.
10608         * modules/unistr/u8-mbsnlen: Likewise.
10609         * modules/unistr/u8-mbtouc: Likewise.
10610         * modules/unistr/u8-mbtouc-unsafe: Likewise.
10611         * modules/unistr/u8-mbtoucr: Likewise.
10612         * modules/unistr/u8-move: Likewise.
10613         * modules/unistr/u8-next: Likewise.
10614         * modules/unistr/u8-prev: Likewise.
10615         * modules/unistr/u8-set: Likewise.
10616         * modules/unistr/u8-startswith: Likewise.
10617         * modules/unistr/u8-stpcpy: Likewise.
10618         * modules/unistr/u8-stpncpy: Likewise.
10619         * modules/unistr/u8-strcat: Likewise.
10620         * modules/unistr/u8-strchr: Likewise.
10621         * modules/unistr/u8-strcmp: Likewise.
10622         * modules/unistr/u8-strcoll: Likewise.
10623         * modules/unistr/u8-strcpy: Likewise.
10624         * modules/unistr/u8-strcspn: Likewise.
10625         * modules/unistr/u8-strdup: Likewise.
10626         * modules/unistr/u8-strlen: Likewise.
10627         * modules/unistr/u8-strmblen: Likewise.
10628         * modules/unistr/u8-strmbtouc: Likewise.
10629         * modules/unistr/u8-strncat: Likewise.
10630         * modules/unistr/u8-strncmp: Likewise.
10631         * modules/unistr/u8-strncpy: Likewise.
10632         * modules/unistr/u8-strnlen: Likewise.
10633         * modules/unistr/u8-strpbrk: Likewise.
10634         * modules/unistr/u8-strrchr: Likewise.
10635         * modules/unistr/u8-strspn: Likewise.
10636         * modules/unistr/u8-strstr: Likewise.
10637         * modules/unistr/u8-strtok: Likewise.
10638         * modules/unistr/u8-to-u16: Likewise.
10639         * modules/unistr/u8-to-u32: Likewise.
10640         * modules/unistr/u8-uctomb: Likewise.
10641         * modules/unistr/u16-check: Likewise.
10642         * modules/unistr/u16-chr: Likewise.
10643         * modules/unistr/u16-cmp: Likewise.
10644         * modules/unistr/u16-cmp2: Likewise.
10645         * modules/unistr/u16-cpy: Likewise.
10646         * modules/unistr/u16-cpy-alloc: Likewise.
10647         * modules/unistr/u16-endswith: Likewise.
10648         * modules/unistr/u16-mblen: Likewise.
10649         * modules/unistr/u16-mbsnlen: Likewise.
10650         * modules/unistr/u16-mbtouc: Likewise.
10651         * modules/unistr/u16-mbtouc-unsafe: Likewise.
10652         * modules/unistr/u16-mbtoucr: Likewise.
10653         * modules/unistr/u16-move: Likewise.
10654         * modules/unistr/u16-next: Likewise.
10655         * modules/unistr/u16-prev: Likewise.
10656         * modules/unistr/u16-set: Likewise.
10657         * modules/unistr/u16-startswith: Likewise.
10658         * modules/unistr/u16-stpcpy: Likewise.
10659         * modules/unistr/u16-stpncpy: Likewise.
10660         * modules/unistr/u16-strcat: Likewise.
10661         * modules/unistr/u16-strchr: Likewise.
10662         * modules/unistr/u16-strcmp: Likewise.
10663         * modules/unistr/u16-strcoll: Likewise.
10664         * modules/unistr/u16-strcpy: Likewise.
10665         * modules/unistr/u16-strcspn: Likewise.
10666         * modules/unistr/u16-strdup: Likewise.
10667         * modules/unistr/u16-strlen: Likewise.
10668         * modules/unistr/u16-strmblen: Likewise.
10669         * modules/unistr/u16-strmbtouc: Likewise.
10670         * modules/unistr/u16-strncat: Likewise.
10671         * modules/unistr/u16-strncmp: Likewise.
10672         * modules/unistr/u16-strncpy: Likewise.
10673         * modules/unistr/u16-strnlen: Likewise.
10674         * modules/unistr/u16-strpbrk: Likewise.
10675         * modules/unistr/u16-strrchr: Likewise.
10676         * modules/unistr/u16-strspn: Likewise.
10677         * modules/unistr/u16-strstr: Likewise.
10678         * modules/unistr/u16-strtok: Likewise.
10679         * modules/unistr/u16-to-u32: Likewise.
10680         * modules/unistr/u16-to-u8: Likewise.
10681         * modules/unistr/u16-uctomb: Likewise.
10682         * modules/unistr/u32-check: Likewise.
10683         * modules/unistr/u32-chr: Likewise.
10684         * modules/unistr/u32-cmp: Likewise.
10685         * modules/unistr/u32-cmp2: Likewise.
10686         * modules/unistr/u32-cpy: Likewise.
10687         * modules/unistr/u32-cpy-alloc: Likewise.
10688         * modules/unistr/u32-endswith: Likewise.
10689         * modules/unistr/u32-mblen: Likewise.
10690         * modules/unistr/u32-mbsnlen: Likewise.
10691         * modules/unistr/u32-mbtouc: Likewise.
10692         * modules/unistr/u32-mbtouc-unsafe: Likewise.
10693         * modules/unistr/u32-mbtoucr: Likewise.
10694         * modules/unistr/u32-move: Likewise.
10695         * modules/unistr/u32-next: Likewise.
10696         * modules/unistr/u32-prev: Likewise.
10697         * modules/unistr/u32-set: Likewise.
10698         * modules/unistr/u32-startswith: Likewise.
10699         * modules/unistr/u32-stpcpy: Likewise.
10700         * modules/unistr/u32-stpncpy: Likewise.
10701         * modules/unistr/u32-strcat: Likewise.
10702         * modules/unistr/u32-strchr: Likewise.
10703         * modules/unistr/u32-strcmp: Likewise.
10704         * modules/unistr/u32-strcoll: Likewise.
10705         * modules/unistr/u32-strcpy: Likewise.
10706         * modules/unistr/u32-strcspn: Likewise.
10707         * modules/unistr/u32-strdup: Likewise.
10708         * modules/unistr/u32-strlen: Likewise.
10709         * modules/unistr/u32-strmblen: Likewise.
10710         * modules/unistr/u32-strmbtouc: Likewise.
10711         * modules/unistr/u32-strncat: Likewise.
10712         * modules/unistr/u32-strncmp: Likewise.
10713         * modules/unistr/u32-strncpy: Likewise.
10714         * modules/unistr/u32-strnlen: Likewise.
10715         * modules/unistr/u32-strpbrk: Likewise.
10716         * modules/unistr/u32-strrchr: Likewise.
10717         * modules/unistr/u32-strspn: Likewise.
10718         * modules/unistr/u32-strstr: Likewise.
10719         * modules/unistr/u32-strtok: Likewise.
10720         * modules/unistr/u32-to-u16: Likewise.
10721         * modules/unistr/u32-to-u8: Likewise.
10722         * modules/unistr/u32-uctomb: Likewise.
10723         * modules/uniwbrk/u8-wordbreaks: Likewise.
10724         * modules/uniwbrk/u16-wordbreaks: Likewise.
10725         * modules/uniwbrk/u32-wordbreaks: Likewise.
10726         * modules/uniwbrk/ulc-wordbreaks: Likewise.
10727         * modules/uniwbrk/wordbreak-property: Likewise.
10728         * modules/uniwidth/u8-strwidth: Likewise.
10729         * modules/uniwidth/u8-width: Likewise.
10730         * modules/uniwidth/u16-strwidth: Likewise.
10731         * modules/uniwidth/u16-width: Likewise.
10732         * modules/uniwidth/u32-strwidth: Likewise.
10733         * modules/uniwidth/u32-width: Likewise.
10734         * modules/uniwidth/width: Likewise.
10735         * modules/unicase/cased-tests (Makefile.am): Link all test programs
10736         with $(LIBUNISTRING).
10737         * modules/unicase/ignorable-tests: Likewise.
10738         * modules/unicase/locale-language-tests: Likewise.
10739         * modules/unicase/tolower-tests: Likewise.
10740         * modules/unicase/totitle-tests: Likewise.
10741         * modules/unicase/toupper-tests: Likewise.
10742         * modules/unicase/u8-casecmp-tests: Likewise.
10743         * modules/unicase/u8-casecoll-tests: Likewise.
10744         * modules/unicase/u8-casefold-tests: Likewise.
10745         * modules/unicase/u8-is-cased-tests: Likewise.
10746         * modules/unicase/u8-is-casefolded-tests: Likewise.
10747         * modules/unicase/u8-is-lowercase-tests: Likewise.
10748         * modules/unicase/u8-is-titlecase-tests: Likewise.
10749         * modules/unicase/u8-is-uppercase-tests: Likewise.
10750         * modules/unicase/u8-tolower-tests: Likewise.
10751         * modules/unicase/u8-totitle-tests: Likewise.
10752         * modules/unicase/u8-toupper-tests: Likewise.
10753         * modules/unicase/u16-casecmp-tests: Likewise.
10754         * modules/unicase/u16-casecoll-tests: Likewise.
10755         * modules/unicase/u16-casefold-tests: Likewise.
10756         * modules/unicase/u16-is-cased-tests: Likewise.
10757         * modules/unicase/u16-is-casefolded-tests: Likewise.
10758         * modules/unicase/u16-is-lowercase-tests: Likewise.
10759         * modules/unicase/u16-is-titlecase-tests: Likewise.
10760         * modules/unicase/u16-is-uppercase-tests: Likewise.
10761         * modules/unicase/u16-tolower-tests: Likewise.
10762         * modules/unicase/u16-totitle-tests: Likewise.
10763         * modules/unicase/u16-toupper-tests: Likewise.
10764         * modules/unicase/u32-casecmp-tests: Likewise.
10765         * modules/unicase/u32-casecoll-tests: Likewise.
10766         * modules/unicase/u32-casefold-tests: Likewise.
10767         * modules/unicase/u32-is-cased-tests: Likewise.
10768         * modules/unicase/u32-is-casefolded-tests: Likewise.
10769         * modules/unicase/u32-is-lowercase-tests: Likewise.
10770         * modules/unicase/u32-is-titlecase-tests: Likewise.
10771         * modules/unicase/u32-is-uppercase-tests: Likewise.
10772         * modules/unicase/u32-tolower-tests: Likewise.
10773         * modules/unicase/u32-totitle-tests: Likewise.
10774         * modules/unicase/u32-toupper-tests: Likewise.
10775         * modules/unicase/ulc-casecmp-tests: Likewise.
10776         * modules/unicase/ulc-casecoll-tests: Likewise.
10777         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
10778         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
10779         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
10780         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
10781         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
10782         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
10783         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
10784         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
10785         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
10786         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
10787         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
10788         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
10789         * modules/unictype/bidicategory-byname-tests: Likewise.
10790         * modules/unictype/bidicategory-name-tests: Likewise.
10791         * modules/unictype/bidicategory-of-tests: Likewise.
10792         * modules/unictype/bidicategory-test-tests: Likewise.
10793         * modules/unictype/block-list-tests: Likewise.
10794         * modules/unictype/block-of-tests: Likewise.
10795         * modules/unictype/block-test-tests: Likewise.
10796         * modules/unictype/category-C-tests: Likewise.
10797         * modules/unictype/category-Cc-tests: Likewise.
10798         * modules/unictype/category-Cf-tests: Likewise.
10799         * modules/unictype/category-Cn-tests: Likewise.
10800         * modules/unictype/category-Co-tests: Likewise.
10801         * modules/unictype/category-Cs-tests: Likewise.
10802         * modules/unictype/category-L-tests: Likewise.
10803         * modules/unictype/category-Ll-tests: Likewise.
10804         * modules/unictype/category-Lm-tests: Likewise.
10805         * modules/unictype/category-Lo-tests: Likewise.
10806         * modules/unictype/category-Lt-tests: Likewise.
10807         * modules/unictype/category-Lu-tests: Likewise.
10808         * modules/unictype/category-M-tests: Likewise.
10809         * modules/unictype/category-Mc-tests: Likewise.
10810         * modules/unictype/category-Me-tests: Likewise.
10811         * modules/unictype/category-Mn-tests: Likewise.
10812         * modules/unictype/category-N-tests: Likewise.
10813         * modules/unictype/category-Nd-tests: Likewise.
10814         * modules/unictype/category-Nl-tests: Likewise.
10815         * modules/unictype/category-No-tests: Likewise.
10816         * modules/unictype/category-P-tests: Likewise.
10817         * modules/unictype/category-Pc-tests: Likewise.
10818         * modules/unictype/category-Pd-tests: Likewise.
10819         * modules/unictype/category-Pe-tests: Likewise.
10820         * modules/unictype/category-Pf-tests: Likewise.
10821         * modules/unictype/category-Pi-tests: Likewise.
10822         * modules/unictype/category-Po-tests: Likewise.
10823         * modules/unictype/category-Ps-tests: Likewise.
10824         * modules/unictype/category-S-tests: Likewise.
10825         * modules/unictype/category-Sc-tests: Likewise.
10826         * modules/unictype/category-Sk-tests: Likewise.
10827         * modules/unictype/category-Sm-tests: Likewise.
10828         * modules/unictype/category-So-tests: Likewise.
10829         * modules/unictype/category-Z-tests: Likewise.
10830         * modules/unictype/category-Zl-tests: Likewise.
10831         * modules/unictype/category-Zp-tests: Likewise.
10832         * modules/unictype/category-Zs-tests: Likewise.
10833         * modules/unictype/category-and-not-tests: Likewise.
10834         * modules/unictype/category-and-tests: Likewise.
10835         * modules/unictype/category-byname-tests: Likewise.
10836         * modules/unictype/category-name-tests: Likewise.
10837         * modules/unictype/category-none-tests: Likewise.
10838         * modules/unictype/category-of-tests: Likewise.
10839         * modules/unictype/category-or-tests: Likewise.
10840         * modules/unictype/category-test-withtable-tests: Likewise.
10841         * modules/unictype/combining-class-tests: Likewise.
10842         * modules/unictype/ctype-alnum-tests: Likewise.
10843         * modules/unictype/ctype-alpha-tests: Likewise.
10844         * modules/unictype/ctype-blank-tests: Likewise.
10845         * modules/unictype/ctype-cntrl-tests: Likewise.
10846         * modules/unictype/ctype-digit-tests: Likewise.
10847         * modules/unictype/ctype-graph-tests: Likewise.
10848         * modules/unictype/ctype-lower-tests: Likewise.
10849         * modules/unictype/ctype-print-tests: Likewise.
10850         * modules/unictype/ctype-punct-tests: Likewise.
10851         * modules/unictype/ctype-space-tests: Likewise.
10852         * modules/unictype/ctype-upper-tests: Likewise.
10853         * modules/unictype/ctype-xdigit-tests: Likewise.
10854         * modules/unictype/decimal-digit-tests: Likewise.
10855         * modules/unictype/digit-tests: Likewise.
10856         * modules/unictype/mirror-tests: Likewise.
10857         * modules/unictype/numeric-tests: Likewise.
10858         * modules/unictype/property-alphabetic-tests: Likewise.
10859         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
10860         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
10861         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
10862         * modules/unictype/property-bidi-block-separator-tests: Likewise.
10863         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
10864         * modules/unictype/property-bidi-common-separator-tests: Likewise.
10865         * modules/unictype/property-bidi-control-tests: Likewise.
10866         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
10867         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
10868         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
10869         * modules/unictype/property-bidi-european-digit-tests: Likewise.
10870         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
10871         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
10872         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
10873         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
10874         * modules/unictype/property-bidi-pdf-tests: Likewise.
10875         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
10876         * modules/unictype/property-bidi-whitespace-tests: Likewise.
10877         * modules/unictype/property-byname-tests: Likewise.
10878         * modules/unictype/property-combining-tests: Likewise.
10879         * modules/unictype/property-composite-tests: Likewise.
10880         * modules/unictype/property-currency-symbol-tests: Likewise.
10881         * modules/unictype/property-dash-tests: Likewise.
10882         * modules/unictype/property-decimal-digit-tests: Likewise.
10883         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
10884         * modules/unictype/property-deprecated-tests: Likewise.
10885         * modules/unictype/property-diacritic-tests: Likewise.
10886         * modules/unictype/property-extender-tests: Likewise.
10887         * modules/unictype/property-format-control-tests: Likewise.
10888         * modules/unictype/property-grapheme-base-tests: Likewise.
10889         * modules/unictype/property-grapheme-extend-tests: Likewise.
10890         * modules/unictype/property-grapheme-link-tests: Likewise.
10891         * modules/unictype/property-hex-digit-tests: Likewise.
10892         * modules/unictype/property-hyphen-tests: Likewise.
10893         * modules/unictype/property-id-continue-tests: Likewise.
10894         * modules/unictype/property-id-start-tests: Likewise.
10895         * modules/unictype/property-ideographic-tests: Likewise.
10896         * modules/unictype/property-ids-binary-operator-tests: Likewise.
10897         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
10898         * modules/unictype/property-ignorable-control-tests: Likewise.
10899         * modules/unictype/property-iso-control-tests: Likewise.
10900         * modules/unictype/property-join-control-tests: Likewise.
10901         * modules/unictype/property-left-of-pair-tests: Likewise.
10902         * modules/unictype/property-line-separator-tests: Likewise.
10903         * modules/unictype/property-logical-order-exception-tests: Likewise.
10904         * modules/unictype/property-lowercase-tests: Likewise.
10905         * modules/unictype/property-math-tests: Likewise.
10906         * modules/unictype/property-non-break-tests: Likewise.
10907         * modules/unictype/property-not-a-character-tests: Likewise.
10908         * modules/unictype/property-numeric-tests: Likewise.
10909         * modules/unictype/property-other-alphabetic-tests: Likewise.
10910         * modules/unictype/property-other-default-ignorable-code-point-tests:
10911         Likewise.
10912         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
10913         * modules/unictype/property-other-id-continue-tests: Likewise.
10914         * modules/unictype/property-other-id-start-tests: Likewise.
10915         * modules/unictype/property-other-lowercase-tests: Likewise.
10916         * modules/unictype/property-other-math-tests: Likewise.
10917         * modules/unictype/property-other-uppercase-tests: Likewise.
10918         * modules/unictype/property-paired-punctuation-tests: Likewise.
10919         * modules/unictype/property-paragraph-separator-tests: Likewise.
10920         * modules/unictype/property-pattern-syntax-tests: Likewise.
10921         * modules/unictype/property-pattern-white-space-tests: Likewise.
10922         * modules/unictype/property-private-use-tests: Likewise.
10923         * modules/unictype/property-punctuation-tests: Likewise.
10924         * modules/unictype/property-quotation-mark-tests: Likewise.
10925         * modules/unictype/property-radical-tests: Likewise.
10926         * modules/unictype/property-sentence-terminal-tests: Likewise.
10927         * modules/unictype/property-soft-dotted-tests: Likewise.
10928         * modules/unictype/property-space-tests: Likewise.
10929         * modules/unictype/property-terminal-punctuation-tests: Likewise.
10930         * modules/unictype/property-test-tests: Likewise.
10931         * modules/unictype/property-titlecase-tests: Likewise.
10932         * modules/unictype/property-unassigned-code-value-tests: Likewise.
10933         * modules/unictype/property-unified-ideograph-tests: Likewise.
10934         * modules/unictype/property-uppercase-tests: Likewise.
10935         * modules/unictype/property-variation-selector-tests: Likewise.
10936         * modules/unictype/property-white-space-tests: Likewise.
10937         * modules/unictype/property-xid-continue-tests: Likewise.
10938         * modules/unictype/property-xid-start-tests: Likewise.
10939         * modules/unictype/property-zero-width-tests: Likewise.
10940         * modules/unictype/scripts-tests: Likewise.
10941         * modules/unictype/syntax-c-ident-tests: Likewise.
10942         * modules/unictype/syntax-c-whitespace-tests: Likewise.
10943         * modules/unictype/syntax-java-ident-tests: Likewise.
10944         * modules/unictype/syntax-java-whitespace-tests: Likewise.
10945         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
10946         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
10947         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
10948         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
10949         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
10950         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
10951         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
10952         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
10953         * modules/uniname/uniname-tests: Likewise.
10954         * modules/uninorm/canonical-decomposition-tests: Likewise.
10955         * modules/uninorm/compat-decomposition-tests: Likewise.
10956         * modules/uninorm/composition-tests: Likewise.
10957         * modules/uninorm/decomposing-form-tests: Likewise.
10958         * modules/uninorm/decomposition-tests: Likewise.
10959         * modules/uninorm/filter-tests: Likewise.
10960         * modules/uninorm/nfc-tests: Likewise.
10961         * modules/uninorm/nfd-tests: Likewise.
10962         * modules/uninorm/nfkc-tests: Likewise.
10963         * modules/uninorm/nfkd-tests: Likewise.
10964         * modules/uninorm/u8-normcmp-tests: Likewise.
10965         * modules/uninorm/u8-normcoll-tests: Likewise.
10966         * modules/uninorm/u16-normcmp-tests: Likewise.
10967         * modules/uninorm/u16-normcoll-tests: Likewise.
10968         * modules/uninorm/u32-normcmp-tests: Likewise.
10969         * modules/uninorm/u32-normcoll-tests: Likewise.
10970         * modules/unistdio/u8-asnprintf-tests: Likewise.
10971         * modules/unistdio/u8-vasnprintf-tests: Likewise.
10972         * modules/unistdio/u8-vasprintf-tests: Likewise.
10973         * modules/unistdio/u8-vsnprintf-tests: Likewise.
10974         * modules/unistdio/u8-vsprintf-tests: Likewise.
10975         * modules/unistdio/u16-asnprintf-tests: Likewise.
10976         * modules/unistdio/u16-vasnprintf-tests: Likewise.
10977         * modules/unistdio/u16-vasprintf-tests: Likewise.
10978         * modules/unistdio/u16-vsnprintf-tests: Likewise.
10979         * modules/unistdio/u16-vsprintf-tests: Likewise.
10980         * modules/unistdio/u32-asnprintf-tests: Likewise.
10981         * modules/unistdio/u32-vasnprintf-tests: Likewise.
10982         * modules/unistdio/u32-vasprintf-tests: Likewise.
10983         * modules/unistdio/u32-vsnprintf-tests: Likewise.
10984         * modules/unistdio/u32-vsprintf-tests: Likewise.
10985         * modules/unistdio/ulc-asnprintf-tests: Likewise.
10986         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
10987         * modules/unistdio/ulc-vasprintf-tests: Likewise.
10988         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
10989         * modules/unistdio/ulc-vsprintf-tests: Likewise.
10990         * modules/unistr/u8-check-tests: Likewise.
10991         * modules/unistr/u8-chr-tests: Likewise.
10992         * modules/unistr/u8-cmp-tests: Likewise.
10993         * modules/unistr/u8-cmp2-tests: Likewise.
10994         * modules/unistr/u8-cpy-alloc-tests: Likewise.
10995         * modules/unistr/u8-cpy-tests: Likewise.
10996         * modules/unistr/u8-mblen-tests: Likewise.
10997         * modules/unistr/u8-mbsnlen-tests: Likewise.
10998         * modules/unistr/u8-mbtouc-tests: Likewise.
10999         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
11000         * modules/unistr/u8-mbtoucr-tests: Likewise.
11001         * modules/unistr/u8-move-tests: Likewise.
11002         * modules/unistr/u8-next-tests: Likewise.
11003         * modules/unistr/u8-prev-tests: Likewise.
11004         * modules/unistr/u8-set-tests: Likewise.
11005         * modules/unistr/u8-stpcpy-tests: Likewise.
11006         * modules/unistr/u8-stpncpy-tests: Likewise.
11007         * modules/unistr/u8-strcat-tests: Likewise.
11008         * modules/unistr/u8-strcmp-tests: Likewise.
11009         * modules/unistr/u8-strcoll-tests: Likewise.
11010         * modules/unistr/u8-strcpy-tests: Likewise.
11011         * modules/unistr/u8-strdup-tests: Likewise.
11012         * modules/unistr/u8-strlen-tests: Likewise.
11013         * modules/unistr/u8-strmblen-tests: Likewise.
11014         * modules/unistr/u8-strmbtouc-tests: Likewise.
11015         * modules/unistr/u8-strncat-tests: Likewise.
11016         * modules/unistr/u8-strncmp-tests: Likewise.
11017         * modules/unistr/u8-strncpy-tests: Likewise.
11018         * modules/unistr/u8-strnlen-tests: Likewise.
11019         * modules/unistr/u8-to-u16-tests: Likewise.
11020         * modules/unistr/u8-to-u32-tests: Likewise.
11021         * modules/unistr/u8-uctomb-tests: Likewise.
11022         * modules/unistr/u16-check-tests: Likewise.
11023         * modules/unistr/u16-chr-tests: Likewise.
11024         * modules/unistr/u16-cmp-tests: Likewise.
11025         * modules/unistr/u16-cmp2-tests: Likewise.
11026         * modules/unistr/u16-cpy-alloc-tests: Likewise.
11027         * modules/unistr/u16-cpy-tests: Likewise.
11028         * modules/unistr/u16-mblen-tests: Likewise.
11029         * modules/unistr/u16-mbsnlen-tests: Likewise.
11030         * modules/unistr/u16-mbtouc-tests: Likewise.
11031         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
11032         * modules/unistr/u16-mbtoucr-tests: Likewise.
11033         * modules/unistr/u16-move-tests: Likewise.
11034         * modules/unistr/u16-next-tests: Likewise.
11035         * modules/unistr/u16-prev-tests: Likewise.
11036         * modules/unistr/u16-set-tests: Likewise.
11037         * modules/unistr/u16-stpcpy-tests: Likewise.
11038         * modules/unistr/u16-stpncpy-tests: Likewise.
11039         * modules/unistr/u16-strcat-tests: Likewise.
11040         * modules/unistr/u16-strcmp-tests: Likewise.
11041         * modules/unistr/u16-strcoll-tests: Likewise.
11042         * modules/unistr/u16-strcpy-tests: Likewise.
11043         * modules/unistr/u16-strdup-tests: Likewise.
11044         * modules/unistr/u16-strlen-tests: Likewise.
11045         * modules/unistr/u16-strmblen-tests: Likewise.
11046         * modules/unistr/u16-strmbtouc-tests: Likewise.
11047         * modules/unistr/u16-strncat-tests: Likewise.
11048         * modules/unistr/u16-strncmp-tests: Likewise.
11049         * modules/unistr/u16-strncpy-tests: Likewise.
11050         * modules/unistr/u16-strnlen-tests: Likewise.
11051         * modules/unistr/u16-to-u32-tests: Likewise.
11052         * modules/unistr/u16-to-u8-tests: Likewise.
11053         * modules/unistr/u16-uctomb-tests: Likewise.
11054         * modules/unistr/u32-check-tests: Likewise.
11055         * modules/unistr/u32-chr-tests: Likewise.
11056         * modules/unistr/u32-cmp-tests: Likewise.
11057         * modules/unistr/u32-cmp2-tests: Likewise.
11058         * modules/unistr/u32-cpy-alloc-tests: Likewise.
11059         * modules/unistr/u32-cpy-tests: Likewise.
11060         * modules/unistr/u32-mblen-tests: Likewise.
11061         * modules/unistr/u32-mbsnlen-tests: Likewise.
11062         * modules/unistr/u32-mbtouc-tests: Likewise.
11063         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
11064         * modules/unistr/u32-mbtoucr-tests: Likewise.
11065         * modules/unistr/u32-move-tests: Likewise.
11066         * modules/unistr/u32-next-tests: Likewise.
11067         * modules/unistr/u32-prev-tests: Likewise.
11068         * modules/unistr/u32-set-tests: Likewise.
11069         * modules/unistr/u32-stpcpy-tests: Likewise.
11070         * modules/unistr/u32-stpncpy-tests: Likewise.
11071         * modules/unistr/u32-strcat-tests: Likewise.
11072         * modules/unistr/u32-strcmp-tests: Likewise.
11073         * modules/unistr/u32-strcoll-tests: Likewise.
11074         * modules/unistr/u32-strcpy-tests: Likewise.
11075         * modules/unistr/u32-strdup-tests: Likewise.
11076         * modules/unistr/u32-strlen-tests: Likewise.
11077         * modules/unistr/u32-strmblen-tests: Likewise.
11078         * modules/unistr/u32-strmbtouc-tests: Likewise.
11079         * modules/unistr/u32-strncat-tests: Likewise.
11080         * modules/unistr/u32-strncmp-tests: Likewise.
11081         * modules/unistr/u32-strncpy-tests: Likewise.
11082         * modules/unistr/u32-strnlen-tests: Likewise.
11083         * modules/unistr/u32-to-u16-tests: Likewise.
11084         * modules/unistr/u32-to-u8-tests: Likewise.
11085         * modules/unistr/u32-uctomb-tests: Likewise.
11086         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
11087         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
11088         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
11089         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
11090         * modules/uniwidth/u8-strwidth-tests: Likewise.
11091         * modules/uniwidth/u8-width-tests: Likewise.
11092         * modules/uniwidth/u16-strwidth-tests: Likewise.
11093         * modules/uniwidth/u16-width-tests: Likewise.
11094         * modules/uniwidth/u32-strwidth-tests: Likewise.
11095         * modules/uniwidth/u32-width-tests: Likewise.
11096         * modules/uniwidth/width-tests: Likewise.
11097
11098 2010-05-18  Richard Jones  <rjones@redhat.com>
11099
11100         doc: users.txt: list hivex
11101         * users.txt: Add hivex.
11102
11103 2010-05-18  Richard Jones  <rjones@redhat.com>
11104
11105         doc: users.txt: list febootstrap
11106         * users.txt: Add febootstrap.
11107
11108 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
11109
11110         bootstrap: fix an error when gnulib is not used as a git submodule
11111         * build-aux/bootstrap (gnulib_path): If its length is zero then
11112         assign "gnulib" to it.
11113         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
11114
11115 2010-05-16  Bruno Haible  <bruno@clisp.org>
11116
11117         Avoid autoconf warnings about AM_ICONV.
11118         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
11119         2.64.
11120
11121 2010-05-16  Bruno Haible  <bruno@clisp.org>
11122
11123         absolute-header: Make the macro usable in more situations.
11124         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
11125         from gl_ABSOLUTE_HEADER.
11126         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
11127
11128 2010-05-16  James Youngman  <jay@gnu.org>
11129
11130         doc: update users.txt
11131         * users.txt: Add CSSC.
11132
11133 2010-05-16  Jim Meyering  <meyering@redhat.com>
11134
11135         init.sh: fix an error in the previous change; add more comments
11136         * tests/init.sh: Compare exit code in loop against 9, not 2.
11137         Patch by Bruno Haible.
11138         Make the two tests more similar by adding an empty "then" clause.
11139         Add comments.
11140
11141         init.sh: avoid unnecessary shell re-exec
11142         * tests/init.sh: Improve the re-exec-required check to first test the
11143         current shell.  If it passes the test, do not search for a shell that
11144         does pass, and do not re-exec.  This test is particularly contorted to
11145         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
11146         of $(...) evokes a syntax error and causes immediate shell exit with
11147         status 2.  Bruno Haible reported that the re-exec made it impossible
11148         to single-step through any init.sh-using script.
11149
11150 2010-05-16  Bruno Haible  <bruno@clisp.org>
11151
11152         Fix collision between gnulib's and libintl's printf replacements.
11153         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
11154         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
11155         (printf): When using GNU C, map the __printf__ function to rpl_printf
11156         via __asm__. When not using GNU C, define rpl_printf instead of
11157         __printf__.
11158         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
11159         commit.
11160         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
11161         commit.
11162         * m4/asm-underscore.m4: New file.
11163         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
11164         * modules/stdio (Files): Add m4/asm-underscore.m4.
11165         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
11166         Reported by Ben Pfaff.
11167
11168 2010-05-16  Bruno Haible  <bruno@clisp.org>
11169
11170         verify: Avoid skipping the test on openSUSE 11.0.
11171         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
11172
11173 2010-05-13  Bruno Haible  <bruno@clisp.org>
11174
11175         Avoid useless warnings from G++.
11176         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
11177         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
11178         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
11179
11180 2010-05-11  Jim Meyering  <meyering@redhat.com>
11181
11182         maint.mk: tweak preceding change
11183         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
11184         regexps tighter by anchoring at EOL, and make the new group "shy"
11185         for slightly decreased overhead.
11186
11187 2010-05-11  Eric Blake  <eblake@redhat.com>
11188
11189         maint.mk: gnulib doesn't guarantee NSIG
11190         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
11191
11192 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11193
11194         test-pwrite.c: Remove unused variable declaration.
11195         * tests/test-pwrite.c (main): Remove read_buf declaration.
11196
11197         Remove useless test-pwrite.sh file.
11198         * tests/test-pwrite.sh: Delete file.
11199         * modules/pwrite-tests: Remove references.
11200         Reported by Bruno Haible.
11201
11202 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
11203
11204         init.sh: fix a typo
11205         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
11206
11207 2010-05-10  Jim Meyering  <meyering@redhat.com>
11208
11209         maint.mk: avoid using a temporary file in the always-defined-macros check
11210         * top/maint.mk (.re-defmac): Remove rule.
11211         (gl_trap_): Remove definition.
11212         (sc_prohibit_always-defined_macros): Rewrite not to create and
11213         depend on a temporary file.  Instead, depend on GNU grep's ability
11214         to read a list of regular expressions from stdin when given "-f -".
11215
11216 2010-05-09  Bruno Haible  <bruno@clisp.org>
11217
11218         Update to GNU gettext 0.18, part 1.
11219         * m4/gettext.m4: Update to GNU gettext 0.18.
11220         * m4/intl.m4: Likewise.
11221         * m4/po.m4: Likewise.
11222         * modules/gettext (Files): Add m4/fcntl-o.m4.
11223         (configure.ac): Require gettext infrastructure from version 0.18.
11224
11225 2010-05-09  Jim Meyering  <meyering@redhat.com>
11226
11227         init.sh: enable MALLOC_PERTURB_
11228         * tests/init.sh: Enable glibc's malloc-perturbing option.
11229
11230         maint.mk: improve sc_cross_check_PATH_usage_in_tests
11231         With my recent change in init.sh from the two-line form:
11232             -#   : ${srcdir=.}
11233             -#   . "$srcdir/init.sh"; path_prepend_ .
11234             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
11235         I noticed that using the one-line form would cause this test
11236         to fail with a false-positive, or to stop working altogether,
11237         depending on whether help-version changed or all the tests did.
11238         * top/maint.mk (_hv_regex): Remove this definition.
11239         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
11240         (_hv_regex_strong): Use a stronger regex to check for conformance.
11241         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
11242         Give a separate diagnostic for lack of conforming use.
11243
11244         maint.mk: prohibit definition of symbols defined by gnulib
11245         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
11246         definition of symbols defined by gnulib.
11247
11248 2010-05-09  Bruno Haible  <bruno@clisp.org>
11249
11250         acl: Avoid test failure on Cygwin-hosted mingw.
11251         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
11252
11253 2010-05-09  Bruno Haible  <bruno@clisp.org>
11254
11255         error: Use system's fcntl function.
11256         * lib/error.c (fcntl): Undefine.
11257
11258 2010-05-09  Jim Meyering  <meyering@redhat.com>
11259
11260         verify: adjust formatting to be more consistent
11261         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
11262         argument-list '('s, and after one comma.
11263
11264 2010-05-09  Bruno Haible  <bruno@clisp.org>
11265
11266         error: More reliable output on mingw.
11267         * lib/error.c: Include <windows.h>.
11268         (is_open): New function.
11269         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
11270         defined.
11271
11272 2010-05-09  Bruno Haible  <bruno@clisp.org>
11273
11274         vasnprintf: Fix syntax errors in libintl build on mingw.
11275         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
11276         pad_ourselves and prec_ourselves after use.
11277
11278 2010-05-08  Bruno Haible  <bruno@clisp.org>
11279
11280         * lib/config.charset: Update comments for Cygwin 1.7.
11281         * lib/localcharset.c: Likewise.
11282
11283 2010-05-07  Jim Meyering  <meyering@redhat.com>
11284
11285         init.sh: improve comments
11286         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
11287         . "${srcdir=.}/init.sh"; path_prepend_ .
11288         Add a note about path_prepend_ and the alternative of using
11289         TESTS_ENVIRONMENT.
11290
11291 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
11292
11293         exclude: Unescape hashed patterns in wildcard mode.
11294         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
11295         to the hash list.
11296         * tests/test-exclude8.sh: New test case.
11297         * modules/exclude-tests: Add new test.
11298
11299 2010-05-05  Eric Blake  <eblake@redhat.com>
11300
11301         verify: automate tests
11302         * modules/verify-tests: New module.
11303         * tests/test-verify.sh: New file.
11304         * tests/test-verify.c: Guard each negative test with a unique id.
11305         Also avoid warning about unused left hand of comma expressions.
11306
11307 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11308
11309         Further improvements to verify.h, suggested by Eric Blake.
11310         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
11311         the GL_* versions, to avoid collision with OpenGL.
11312         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
11313         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
11314         than testing merely whether it's defined.
11315
11316         Modify verify.h to pacify gcc -Wredundant_decls.
11317         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
11318         These use the prefix "GL_" since they're likely to be useful elsewhere.
11319         We may need to break them out into a different .h file.
11320         (__COUNTER__): Define to 0 if the compiler doesn't support it.
11321         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
11322         of verify_function__.
11323
11324 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11325
11326         Tests for module pwrite.
11327         * modules/pwrite-tests: New file.
11328         * tests/test-pwrite.sh: New file.
11329         * tests/test-pwrite.c: New file.
11330
11331         New module pwrite.
11332         * lib/unistd.in.h (pwrite): New declaration.
11333         * lib/pwrite.c: New file, from glibc with modifications.
11334         * m4/pwrite.m4: New file.
11335         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
11336         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
11337         REPLACE_PWRITE.
11338         * modules/pwrite: New file.
11339         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
11340         REPLACE_PWRITE.
11341         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
11342         * doc/posix-functions/pwrite.texi: Mention the new module.
11343
11344 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
11345
11346         pread: Update documentation.
11347         * doc/posix-functions/pread.texi: Mention the 'pread' module.
11348
11349 2010-05-04  Eric Blake  <eblake@redhat.com>
11350
11351         docs: update cygwin progress
11352         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
11353         this bug.
11354         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
11355         Added in cygwin 1.7.2.
11356         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
11357         Likewise.
11358         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
11359         Likewise.
11360         * doc/glibc-functions/dup3.texi (dup3): Likewise.
11361         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
11362         * doc/glibc-functions/accept4.texi (accept4): Likewise.
11363         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
11364         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
11365         Mention nproc module.
11366         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
11367         bug in cygwin 1.7.5 addition.
11368         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
11369         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
11370         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
11371         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
11372         1.7.5.
11373         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
11374         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
11375         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
11376         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
11377         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
11378         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
11379         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
11380         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
11381         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
11382         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
11383         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
11384         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
11385         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
11386         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
11387         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
11388         Likewise.
11389         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
11390         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
11391         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
11392         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
11393         Likewise.
11394         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
11395         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
11396         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
11397         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
11398         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
11399         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
11400         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
11401         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
11402         Likewise.
11403         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
11404         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
11405         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
11406         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
11407         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
11408         Likewise.
11409         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
11410         Likewise.
11411         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
11412         Likewise.
11413         * doc/glibc-functions/xdrrec_endofrecord.texi
11414         (xdrrec_endofrecord): Likewise.
11415         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
11416         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
11417         Likewise.
11418         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
11419         Likewise.
11420
11421 2010-05-04  Jim Meyering  <meyering@redhat.com>
11422
11423         gendocs.sh: make its "-s FILE" option more useful
11424         * build-aux/gendocs.sh: When honoring the -s FILE option, update
11425         $PACKAGE to reflect the probably-different basename of "FILE".
11426
11427 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
11428
11429         bootstrap: don't ignore download_po_files failure
11430         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
11431         failure.
11432
11433 2010-05-03  Jim Meyering  <meyering@redhat.com>
11434
11435         maint.mk: allow to pass options to gendocs.sh
11436         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
11437         (gendocs_options_): New overridable variable.
11438
11439         gnu-web-doc-update: don't ignore configure or build failure
11440         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
11441
11442         announce-gen: backslash-escape '@'s in --help output
11443         * build-aux/announce-gen: Fix syntax errors.
11444
11445         maint.mk, announce-gen: allow project-specific announcement mail headers
11446         * top/maint.mk (translation_project_): Define default.
11447         (announcement_Cc_, announcement_mail_headers_): Likewise.
11448         (announcement): Invoke announce-gen with new --mail-headers option.
11449         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
11450
11451         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
11452         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
11453         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
11454         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
11455         line in the "err2" output file when running "make check" in verbose
11456         mode (i.e., with set -x enabled).
11457
11458 2010-05-03  Bruno Haible  <bruno@clisp.org>
11459
11460         wctob: Fix for weird platforms.
11461         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
11462         argument value.
11463
11464 2010-05-03  Jim Meyering  <meyering@redhat.com>
11465
11466         maint.mk: prohibit unwarranted use of <strings.h>
11467         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
11468         strings.h in a file that does not also use strcasecmp, strncasecmp,
11469         ffs or ffsll.
11470
11471         maint.mk: remove obsolete comments
11472         * top/maint.mk: Remove stale, commented-out rules.
11473
11474 2010-05-02  Bruno Haible  <bruno@clisp.org>
11475
11476         wcwidth: Declare also when it's aliased.
11477         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
11478         macro.
11479
11480 2010-05-02  Bruno Haible  <bruno@clisp.org>
11481
11482         Fix regression from 2010-04-25.
11483         * gnulib-tool (func_modules_transitive_closure): Check the status of
11484         all modules, not only of the tests that are of the form foo-tests where
11485         foo is a module.
11486
11487 2010-05-02  Bruno Haible  <bruno@clisp.org>
11488
11489         wctob: Work around nasty Cygwin 1.7.2 bug.
11490         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
11491         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
11492
11493 2010-05-01  Bruno Haible  <bruno@clisp.org>
11494
11495         fpurge: Sharper test.
11496         * tests/test-fpurge.c (main): Add one more ftell check.
11497         * modules/fpurge-tests (Depends-on): Add ftell.
11498         Suggested by Eric Blake.
11499
11500 2010-05-01  Bruno Haible  <bruno@clisp.org>
11501
11502         ftello: Another test.
11503         * tests/test-ftello3.c: New file.
11504         * modules/ftello-tests (Files): Add it.
11505         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11506         MOSTLYCLEANFILES.
11507
11508         ftell: Another test.
11509         * tests/test-ftell3.c: New file.
11510         * modules/ftell-tests (Files): Add it.
11511         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
11512         MOSTLYCLEANFILES.
11513
11514 2010-05-01  Bruno Haible  <bruno@clisp.org>
11515
11516         ftell, ftello: Work around Solaris bug.
11517         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
11518         * lib/ftello.c: Include stdio-impl.h.
11519         (ftello): On Solaris, when _IOWRT is set, compute the result without
11520         looking at _IOREAD.
11521         * modules/ftello (Files): Add lib/stdio-impl.h.
11522         * doc/posix-functions/ftell.texi: Mention Solaris bug.
11523         * doc/posix-functions/ftello.texi: Likewise.
11524         Reported by Eric Blake.
11525
11526 2010-05-01  Bruno Haible  <bruno@clisp.org>
11527
11528         freading: Adapt to special meaning of _IOREAD flag on Solaris.
11529         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
11530         the _IOWRT flag is also set.
11531
11532 2010-05-01  Bruno Haible  <bruno@clisp.org>
11533
11534         Fix doc about a HP-UX stdio bug.
11535         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
11536         * doc/posix-functions/ftello.texi: Likewise.
11537
11538 2010-05-01  Bruno Haible  <bruno@clisp.org>
11539
11540         lseek test: Fix failure on Solaris.
11541         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
11542         output.
11543
11544 2010-04-30  Jim Meyering  <meyering@redhat.com>
11545
11546         bootstrap: don't ignore failure to generate po*/Makevars
11547         * build-aux/bootstrap (with_gettext): Don't ignore failure
11548         to create po/Makevars or runtime-po/Makevars.
11549
11550 2010-04-29  Eric Blake  <eblake@redhat.com>
11551
11552         headers: relax license to LGPLv2+
11553         * modules/fcntl-h (License): Relax license.
11554         * modules/getopt-posix (License): Likewise.
11555         * modules/locale (License): Likewise.
11556         * modules/math (License): Likewise.
11557         * modules/pty (License): Likewise.
11558         * modules/sched (License): Likewise.
11559         * modules/search (License): Likewise.
11560         * modules/spawn (License): Likewise.
11561         * modules/stdarg (License): Likewise.
11562         * modules/sysexits (License): Likewise.
11563
11564 2010-04-29  Jim Meyering  <meyering@redhat.com>
11565
11566         inttypes: relax license to LGPLv2+
11567         * modules/inttypes (License): Relax license.
11568
11569 2010-04-29  Simon Josefsson  <simon@josefsson.org>
11570
11571         * top/maint.mk (indent): Run twice to produce idempotent results.
11572
11573 2010-04-28  Bruno Haible  <bruno@clisp.org>
11574
11575         getdate: Generate getdate.c in the source directory.
11576         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
11577         MOSTLYCLEANFILES.
11578         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
11579
11580 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
11581
11582         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
11583         is not declared as a const *; avoid warnings in that case.
11584
11585 2010-04-28  Eric Blake  <eblake@redhat.com>
11586
11587         canonicalize-lgpl: avoid compiler warning
11588         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
11589         declaration' / 'extraneous semicolon' warning with some compilers.
11590         Reported by Andreas Gruenbacher.
11591
11592 2010-04-28  Jim Meyering  <meyering@redhat.com>
11593
11594         init.sh: ensure a more reliable exit status when exiting via trap
11595         * tests/init.sh (setup_): Don't rely on $? in signal handler.
11596         Inspired by patches from Dmitry V. Levin.
11597         Also trap on signal 3 (SIGQUIT).
11598
11599 2010-04-27  Bruno Haible  <bruno@clisp.org>
11600
11601         Update doc about utimes().
11602         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
11603         'utimens' module.
11604         Reported by Andreas Gruenbacher <agruen@suse.de>.
11605
11606 2010-04-27  Eric Blake  <eblake@redhat.com>
11607
11608         full-read, full-write: relax license
11609         * modules/full-read (License): Drop to LGPLv2+.
11610         * modules/full-write (License): Likewise.
11611         * modules/safe-read (License): Likewise.
11612         * modules/safe-write (License): Likewise.
11613
11614         pthread: mention library for linking
11615         * modules/pthread (Link): Mention $(LIB_PTHREAD).
11616
11617 2010-04-27  Jim Meyering  <meyering@redhat.com>
11618
11619         maint.mk: fix a bug introduced in last change
11620         * top/maint.mk (gl_assured_headers_): Now that all names are on
11621         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
11622         is not anchored to end of word, it should be adequate.
11623
11624         maint.mk: avoid side-effect in latest syntax-check
11625         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
11626         to run commands via $(shell...), and hence to incur cost only when
11627         the new rule is actually run.
11628
11629         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
11630         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
11631         and use that to create a regexp used to detect all #if HAVE_..._H uses.
11632         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
11633         (gl_assured_headers_, az_, AZ_): Define.
11634         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
11635
11636 2010-04-26  Jim Meyering  <jim@meyering.net>
11637             Bruno Haible  <bruno@clisp.org>
11638
11639         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
11640         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
11641         Prompted by an exchange with Gilles Espinasse.
11642
11643 2010-04-26  Jim Meyering  <meyering@redhat.com>
11644
11645         git-version-gen: aesthetic tweak
11646         * build-aux/git-version-gen: Use "$nl" rather than a literal,
11647         so that the command remains on a single line.
11648
11649 2010-04-26  Eric Blake  <eblake@redhat.com>
11650
11651         git-version-gen: allow use on EBCDIC hosts
11652         * build-aux/git-version-gen (dirty): Use literal rather than tying
11653         ourselves to ascii.
11654         Reported by Steve Goetze.
11655
11656 2010-04-25  Bruno Haible  <bruno@clisp.org>
11657
11658         netdb: Add support for GNULIB_POSIXCHECK.
11659         * lib/netdb.in.h: Include warn-on-use.h.
11660         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
11661         functions are used when GNULIB_POSIXCHECK is defined and the
11662         getaddrinfo module is not in use.
11663         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
11664         freeaddrinfo, gai_strerror, getnameinfo are declared.
11665         * modules/netdb (Depends-on): Add warn-on-use.
11666         (Makefile.am): Include warn-on-use.h in netdb.h.
11667
11668 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
11669
11670         build: avoid "make check" failure without .git/ directory
11671         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
11672         there is no .git/ directory.
11673
11674 2010-04-25  Bruno Haible  <bruno@clisp.org>
11675
11676         ptsname: Fix misuse of ttyname_r.
11677         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
11678         of errno.
11679
11680 2010-04-25  Bruno Haible  <bruno@clisp.org>
11681
11682         ttyname_r: Make it work on Solaris 10.
11683         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
11684         if the system function has the POSIX declaration. Test whether the
11685         function fails if the buffer is less than 128 bytes large.
11686         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
11687         system's ttyname_r function. Provide a reasonably large buffer.
11688         * modules/ttyname_r (Depends-on): Add extensions.
11689         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
11690
11691 2010-04-25  Bruno Haible  <bruno@clisp.org>
11692
11693         Use the 'extensions' module for some more functions on Solaris.
11694         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
11695         module.
11696         * doc/posix-functions/ctime_r.texi: Likewise.
11697         * doc/posix-functions/getgrgid_r.texi: Likewise.
11698         * doc/posix-functions/getgrnam_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         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
11704         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
11705
11706 2010-04-25  Bruno Haible  <bruno@clisp.org>
11707
11708         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
11709         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
11710         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
11711         * lib/ttyname_r.c: Include <limits.h>.
11712         (ttyname_r): Define using the system's ttyname_r function, if it exists
11713         and not on Solaris.
11714         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
11715         set.
11716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
11717         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
11718         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
11719         Reported by Simon Josefsson.
11720
11721 2010-04-25  Bruno Haible  <bruno@clisp.org>
11722
11723         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
11724         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
11725         * doc/posix-functions/ctime_r.texi: Likewise.
11726         * doc/posix-functions/getgrgid_r.texi: Likewise.
11727         * doc/posix-functions/getgrnam_r.texi: Likewise.
11728         * doc/posix-functions/getlogin_r.texi: Likewise.
11729         * doc/posix-functions/getpwnam_r.texi: Likewise.
11730         * doc/posix-functions/getpwuid_r.texi: Likewise.
11731         * doc/posix-functions/readdir_r.texi: Likewise.
11732         * doc/posix-functions/sigwait.texi: Likewise.
11733         * doc/posix-functions/ttyname_r.texi: Likewise.
11734         Reported by Simon Josefsson.
11735
11736 2010-04-25  Bruno Haible  <bruno@clisp.org>
11737
11738         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
11739         * gnulib-tool (func_usage): Document that --with-*-tests options apply
11740         also to --create-testdir.
11741         (func_acceptable): Don't consider the status of *-tests modules here.
11742         (func_modules_transitive_closure): Consider it here, before including a
11743         test module.
11744         (func_import, func_create_testdir): Set inc_all_direct_tests,
11745         inc_all_indirect_tests.
11746         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
11747         --create-testdir and --create-megatestdir.
11748
11749 2010-04-25  Bruno Haible  <bruno@clisp.org>
11750
11751         gnulib-tool: Add --without-*-tests options.
11752         * gnulib-tool (func_usage): Document the --without-*-tests options.
11753         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
11754         excl_unportable_tests): New variables.
11755         Fail if they are specified with --import or --update.
11756         (func_acceptable): Respect the excl_*_tests variables.
11757         (func_import): Set the excl_*_tests variables to empty.
11758
11759 2010-04-25  Simon Josefsson  <simon@josefsson.org>
11760             Bruno Haible  <bruno@clisp.org>
11761
11762         Work around a MacOS X 10.4 bug with openpty.
11763         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
11764         * tests/test-openpty.c (main): Close the master side explicitly.
11765
11766 2010-04-25  Bruno Haible  <bruno@clisp.org>
11767
11768         strnlen: Fix a C++ test error on MacOS X and Solaris.
11769         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
11770         the function is not declared.
11771         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
11772         Simon Josefsson.
11773
11774 2010-04-24  Bruno Haible  <bruno@clisp.org>
11775
11776         Avoid a gcc warning.
11777         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
11778         of correct type for %08lx directive.
11779         Reported by Eric Blake.
11780
11781 2010-04-24  Bruno Haible  <bruno@clisp.org>
11782
11783         vasnprintf: Correct errno value in case of out-of-memory.
11784         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
11785         or sprintf. Use the errno value from SNPRINTF or sprintf.
11786         Reported by Ian Beckwith <ianb@erislabs.net>.
11787
11788 2010-04-24  Bruno Haible  <bruno@clisp.org>
11789
11790         ansi-c++-opt: Find correct compiler when cross-compiling.
11791         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
11792         AC_CHECK_PROGS.
11793         Reported by Simon Josefsson.
11794
11795 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
11796
11797         vc-list-files: Add support for subversion
11798         * build-aux/vc-list-files: Use "svn list" to generate the list of
11799         files controlled by subversion.
11800
11801 2010-04-23  Jim Meyering  <meyering@redhat.com>
11802
11803         vc-list-files tests: convert to use init.sh
11804         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
11805         path_prepend_.
11806         Use Exit, not exit.
11807         Use skip_ rather than open coding it.
11808         Remove trap set-up and compare definitions.
11809         * tests/test-vc-list-files-git.sh: Likewise.
11810         * modules/vc-list-files-tests (Files): Add tests/init.sh.
11811
11812 2010-04-22  Simon Josefsson  <simon@josefsson.org>
11813
11814         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
11815         backup files.
11816
11817 2010-04-21  Simon Josefsson  <simon@josefsson.org>
11818
11819         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
11820
11821 2010-04-20  Eric Blake  <eblake@redhat.com>
11822
11823         tests: be robust to ignored SIGPIPE
11824         * tests/test-select-in.sh: Consume all output.
11825         * tests/test-lseek.sh: Check correct exit status, while avoiding
11826         EPIPE.
11827
11828 2010-04-20  Simon Josefsson  <simon@josefsson.org>
11829             Bruno Haible  <bruno@clisp.org>
11830
11831         visibility: Don't use -fvisibility if it leads to a warning.
11832         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
11833         yes, don't pretend that visibility works if it leads to a warning.
11834         Reported by Mike Gran <spk121@yahoo.com>.
11835
11836 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
11837
11838         * build-aux/bootstrap: Use "git -h" for testing for supported options
11839         instead of "git --help".  The short-form option only shows a summary,
11840         and doesn't layout the full man page.  Grep for the full option name
11841         in the summary, too.
11842
11843 2010-04-19  Bruno Haible  <bruno@clisp.org>
11844
11845         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
11846         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
11847         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
11848         mention of RELOCATABLE_STRIP.
11849         Reported by Sylvain Beucler <beuc@beuc.net>.
11850
11851 2010-04-19  Bruno Haible  <bruno@clisp.org>
11852
11853         * lib/diffseq.h: Fix typo in comment.
11854         Reported by Eric Blake.
11855
11856 2010-04-19  Bruno Haible  <bruno@clisp.org>
11857
11858         ioctl: Move autoconf macro to a .m4 file.
11859         * m4/ioctl.m4: New file, extracted from modules/ioctl.
11860         * modules/ioctl (Files): Add it.
11861         (configure.ac): Simply invoke gl_FUNC_IOCTL.
11862         Reported by Ian Beckwith <ianb@erislabs.net>.
11863
11864 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
11865             Bruno Haible  <bruno@clisp.org>
11866
11867         diffseq: Accommodate use-case with abstract arrays.
11868         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
11869         is not defined.
11870         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
11871         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
11872
11873 2010-04-18  Bruno Haible  <bruno@clisp.org>
11874
11875         * doc/posix-headers/stdbool.texi: More precise wording.
11876
11877 2010-04-17  Jim Meyering  <meyering@redhat.com>
11878
11879         maint.mk: use gnu-style indentation in an embedded perl script
11880         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
11881         Rename variable: s/two/last_two_bytes/
11882
11883 2010-04-16  Eric Blake  <eblake@redhat.com>
11884
11885         test-stdbool: skip test that fails with Solaris CC
11886         * tests/test-stdbool.c (f): Skip test that causes compilation
11887         error under buggy C++ compiler.
11888         * lib/stdbool.in.h: Document the limitation.
11889         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
11890
11891         setenv: allow compilation with C++
11892         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
11893         register keyword.
11894
11895         stdint: allow test to pass with C++
11896         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
11897
11898         getopt: allow compilation with C++
11899         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
11900         struct.
11901         * lib/getopt.c (_getopt_internal_r): Use correct type.
11902         Reported by Dagobert Michelson, via Joel E. Denny.
11903
11904 2010-04-16  Bruno Haible  <bruno@clisp.org>
11905
11906         Override netdb.h always.
11907         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
11908         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
11909         Reported by Ludovic Courtès <ludo@gnu.org>.
11910
11911 2010-04-15  Bruno Haible  <bruno@clisp.org>
11912
11913         openpty: Fix mistake from 2010-03-21.
11914         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
11915         Reported by Simon Josefsson.
11916
11917 2010-04-15  Eric Blake  <eblake@redhat.com>
11918
11919         test-forkpty: fix expected signature
11920         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
11921         Reported by Simon Josefsson.
11922
11923 2010-04-15  Jim Meyering  <meyering@redhat.com>
11924
11925         maint.mk: texinfo_suffix_re_: correct the default regexp
11926         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
11927
11928         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
11929         make it configurable via texinfo_suffix_re_.
11930
11931 2010-04-14  Eric Blake  <eblake@redhat.com>
11932
11933         strtok_r: relax license to LGPLv2+
11934         * modules/strtok_r (License): Relax license.
11935         Reported by Matthias Bolte.
11936
11937 2010-04-14  Simon Josefsson  <simon@josefsson.org>
11938
11939         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
11940         version 1.4.4 by default instead of requiring the libgcrypt
11941         version used during build.  This makes it possible to use the
11942         application with older but still binary compatible libgcrypt
11943         versions.
11944
11945 2010-04-13  Eric Blake  <eblake@redhat.com>
11946
11947         getopt-gnu: match recent glibc fixes and posix ruling
11948         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
11949         '+' handling, when requesting extensions.
11950         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
11951         'W;' handling.
11952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
11953         * doc/posix-functions/getopt.texi (getopt): Document this.
11954         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11955         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11956         Likewise.
11957
11958         getopt: merge bug fixes from glibc
11959         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
11960         diagnostics.  Honor '+:' correctly.  Reject ';'.
11961
11962         getopt-posix: detect MacOS bug
11963         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
11964         optind when missing a required argument.
11965         * doc/posix-functions/getopt.texi (getopt): Document the bug.
11966         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
11967         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11968         Likewise.
11969
11970         getopt-posix: avoid spurious failure on Solaris
11971         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
11972         an indicator that setting optind=1 is sufficient for reset.
11973
11974         getopt-posix: avoid spurious failure on FreeBSD
11975         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
11976         in POSIX mode, since the m4 test uses it.
11977
11978         gnulib-tool: silence warning on BSD sh
11979         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
11980
11981 2010-04-13  Jim Meyering  <meyering@redhat.com>
11982
11983         doc: users.txt: GNU patch now uses gnulib
11984         * users.txt: Add patch.
11985
11986 2010-04-12  Jim Meyering  <meyering@redhat.com>
11987
11988         maint.mk: generate more concise timing data for syntax-check rules
11989         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
11990         " done" from each line that reports a syntax-check test duration.
11991
11992 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
11993
11994         git-version-gen: use "git update-index..." rather than "git status"
11995         * build-aux/git-version-gen: Use git update-index --refresh, not
11996         "git status".  With some versions of git, "git status" would fail
11997         to update the index and result in an unwarranted "-dirty" suffix.
11998
11999 2010-04-11  Jim Meyering  <meyering@redhat.com>
12000
12001         openat: correct formatting (no semantic change)
12002         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
12003         Suggested by Bruno Haible.
12004
12005 2010-04-11  Bruno Haible  <bruno@clisp.org>
12006
12007         Stricter declaration checking in testdirs.
12008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12009         If for_tests is true, augment AM_CPPFLAGS to define
12010         GNULIB_STRICT_CHECKING.
12011         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
12012         GNULIB_STRICT_CHECKING is defined, verify that the function is
12013         declared.
12014
12015 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
12016             Bruno Haible  <bruno@clisp.org>
12017
12018         libunistring: Improve configure output.
12019         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
12020         Don't say "consider installing GNU libunistring" when checking again
12021         with libiconv.
12022
12023 2010-04-11  Bruno Haible  <bruno@clisp.org>
12024
12025         libunistring: Correct value of $LTLIBUNISTRING.
12026         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
12027         correct the value of $LTLIBUNISTRING.
12028
12029 2010-04-11  Bruno Haible  <bruno@clisp.org>
12030
12031         havelib: Add static libraries to LIBS in the right order.
12032         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
12033         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
12034
12035 2010-04-11  Bruno Haible  <bruno@clisp.org>
12036
12037         libunistring: Detect libunistring also when it depends on libiconv.
12038         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
12039         the second AC_LIB_HAVE_LINKFLAGS invocation.
12040
12041 2010-04-11  James Youngman  <jay@gnu.org>
12042
12043         close-stream: declare local scalars to be "const"
12044         * lib/close-stream.c (close_stream): Make boolean variables const
12045         to document the fact that we set but do not change them.
12046
12047 2010-04-11  Bruno Haible  <bruno@clisp.org>
12048
12049         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
12050
12051 2010-04-11  Jim Meyering  <meyering@redhat.com>
12052
12053         maint.mk: don't include dist-check.mk
12054         * top/maint.mk: Remove bogus include directive.
12055
12056         maint.mk: improve empty-line-at-EOF check
12057         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
12058         solution, rather than tail+Perl-based one.  The latter would read
12059         a few kilobytes from the end of each file, and did not handle empty
12060         files properly.
12061
12062         maint.mk: print the elapsed time for each syntax-check rule
12063         * top/maint.mk (sc_m_rules_): Save start time in a file.
12064         (sc_z_rules_): New rules: remove temp file and print elapsed time.
12065         (local-check): Interpose the .z rules
12066
12067 2010-04-11  Jim Meyering  <meyering@redhat.com>
12068
12069         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
12070         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
12071         empty file with one that ends in an empty line.
12072
12073 2010-04-10  Bruno Haible  <bruno@clisp.org>
12074
12075         mkdir: Make it work on mingw64.
12076         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
12077         * lib/mkdir.c: Update comment.
12078         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
12079
12080 2010-04-10  Bruno Haible  <bruno@clisp.org>
12081
12082         Don't override improved macro from newer autoconf.
12083         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
12084         autoconf >= 2.62.
12085         Reported by Joel E. Denny <jdenny@clemson.edu>.
12086
12087 2010-04-10  Jim Meyering  <meyering@redhat.com>
12088
12089         maint.mk: new syntax-check rule: prohibit empty lines at end of file
12090         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
12091
12092         maint.mk: correct a diagnostic
12093         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
12094         in diagnostic; now use $prohibit.
12095
12096 2010-04-10  Bruno Haible  <address@hidden>
12097
12098         fchownat: Fix a C++ test error on Solaris 8.
12099         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
12100         the function does not exist.
12101
12102 2010-04-10  Bruno Haible  <bruno@clisp.org>
12103
12104         vasnprintf: Add more tests.
12105         * tests/test-vasnprintf-posix.c: Include <errno.h>.
12106         (test_function): Test converting an invalid wide string.
12107
12108         vasnprintf: Correct handling of unconvertible wide string arguments.
12109         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
12110         VASNPRINTF.
12111         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
12112         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
12113         smaller than the expected maximum need for the directive. Set errno to
12114         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
12115         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
12116         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
12117         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
12118         * modules/vasnprintf (Files): Add m4/printf.m4.
12119         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12120
12121 2010-04-10  Bruno Haible  <bruno@clisp.org>
12122
12123         vasnprintf: Fix crash in %ls directive.
12124         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
12125         string is passed as argument to %ls, with no precision and no width.
12126         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12127
12128 2010-04-10  Bruno Haible  <bruno@clisp.org>
12129
12130         vasnprintf: Fix multiple test failures on mingw.
12131         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
12132         _snprintf, or snwprintf, not _snwprintf.
12133
12134 2010-04-10  Bruno Haible  <bruno@clisp.org>
12135
12136         write: Fix a C++ test error on mingw.
12137         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
12138
12139 2010-04-10  Bruno Haible  <bruno@clisp.org>
12140
12141         vasnprintf test: Reduce code duplication.
12142         * tests/test-vasnprintf.c (test_function): New function, extracted from
12143         test_vasnprintf.
12144         (test_vasnprintf, test_asnprintf): Invoke it.
12145
12146 2010-04-10  Bruno Haible  <bruno@clisp.org>
12147
12148         strnlen: Fix warning in C++ mode on MacOS X.
12149         * lib/string.in.h (strnlen): Use the modern idiom.
12150         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
12151         defining strnlen as a macro already in <config.h>.
12152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12153         REPLACE_STRNLEN.
12154         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
12155         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12156
12157 2010-04-08  James Youngman  <jay@gnu.org>
12158
12159         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
12160         the example.
12161
12162 2010-04-09  Jim Meyering  <meyering@redhat.com>
12163
12164         maint.mk: print better diagnostic when there is no $(_hv_file)
12165         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
12166         announce that when $(_hv_file) (aka help-version) does not exist.
12167
12168         init.sh: run tr in the "C" locale to avoid multibyte interpretation
12169         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
12170         not try to interpret its random input bytes.  Jarno Rajahalme reported
12171         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
12172         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
12173         (mktempd_): Likewise, just in case.
12174
12175         ftruncate: add two years to projected module removal date: 2012
12176         * m4/ftruncate.m4: Adjust comments.
12177
12178         ftruncate: mark module as obsolete; even MinGW provides it, now
12179         * modules/ftruncate (Status): Obsolete.
12180         (Notice): Say that.
12181         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
12182         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
12183
12184 2010-04-08  Bruno Haible  <bruno@clisp.org>
12185
12186         Fix side effects from tests-related modules.
12187         * modules/dprintf-posix (Comment): New section.
12188         * modules/fprintf-posix (Comment): Likewise.
12189         * modules/obstack-printf-posix (Comment): Likewise.
12190         * modules/printf-posix (Comment): Likewise.
12191         * modules/snprintf-posix (Comment): Likewise.
12192         * modules/sprintf-posix (Comment): Likewise.
12193         * modules/vasnprintf-posix (Comment): Likewise.
12194         * modules/vasprintf-posix (Comment): Likewise.
12195         * modules/vdprintf-posix (Comment): Likewise.
12196         * modules/vfprintf-posix (Comment): Likewise.
12197         * modules/vprintf-posix (Comment): Likewise.
12198         * modules/vsnprintf-posix (Comment): Likewise.
12199         * modules/vsprintf-posix (Comment): Likewise.
12200         * modules/xprintf-posix (Comment): Likewise.
12201         * modules/xvasprintf-posix (Comment): Likewise.
12202         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
12203         * modules/floorf-tests (Depends-on): Likewise.
12204         * modules/round-tests (Depends-on): Likewise.
12205         * modules/roundf-tests (Depends-on): Likewise.
12206         * modules/trunc-tests (Depends-on): Likewise.
12207         * modules/truncf-tests (Depends-on): Likewise.
12208         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
12209         'fprintf-posix' module is not present.
12210         * tests/test-floorf2.c (check): Likewise.
12211         * tests/test-trunc2.c (check): Likewise.
12212         * tests/test-truncf2.c (check): Likewise.
12213         * tests/test-round2.c (equal): Likewise.
12214         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12215
12216 2010-04-07  Karl Berry  <karl@gnu.org>
12217
12218         * config/srclist.txt,
12219         * config/srclistvars.sh,
12220         * config/srclist-update: doc fixes.
12221
12222 2010-04-07  Jim Meyering  <meyering@redhat.com>
12223
12224         maint.mk: add a PATH crosschecking syntax-check rule
12225         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
12226         Useful if you use a test like the one in help-version (coreutils,
12227         diffutils, grep, gzip) that ensures $(VERSION) matches what is
12228         printed by prog --version.
12229
12230 2010-04-06  Bruno Haible  <bruno@clisp.org>
12231
12232         Fix link error on mingw.
12233         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
12234         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
12235
12236 2010-04-06  Bruno Haible  <bruno@clisp.org>
12237
12238         Assume rmdir exists.
12239         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
12240
12241 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
12242
12243         doc: update users.txt
12244         * users.txt: Add gcal.
12245
12246 2010-04-06  Jim Meyering  <meyering@redhat.com>
12247
12248         init.sh: simply unset TMPDIR rather than risking env -i
12249         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
12250         although it probably works fine on all Unix-based systems, some
12251         systems (Cygwin?) cannot tolerate a totally cleared environment.
12252         Suggestion from Eric Blake.
12253
12254 2010-04-06  Jim Meyering  <meyering@redhat.com>
12255
12256         init.sh: portability fix: use env's POSIX-specified -i option not -u
12257         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
12258         than unportable env -u.  Solaris 5.11's env lacks support for -u.
12259
12260 2010-04-05  Bruno Haible  <bruno@clisp.org>
12261
12262         btowc: Work around Cygwin 1.7.2 bug.
12263         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
12264         does not map NUL to 0.
12265         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
12266
12267 2010-04-05  Bruno Haible  <bruno@clisp.org>
12268
12269         Make the multithread modules work on Cygwin 1.7.2.
12270         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
12271         imported symbols can be declared weak, so that it returns "no" on
12272         Cygwin 1.7.2.
12273
12274 2010-04-05  Bruno Haible  <bruno@clisp.org>
12275
12276         Use the module 'strncat'.
12277         * modules/unistr/u8-strncat (Depends-on): Add strncat.
12278
12279         Tests for module 'strncat'.
12280         * modules/strncat-tests: New file.
12281         * tests/test-strncat.c: New file.
12282
12283         New module 'strncat'.
12284         * lib/string.in.h (strncat): New declaration.
12285         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
12286         * m4/strncat.m4: New file, based on m4/memchr.m4.
12287         * modules/strncat: New file.
12288         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
12289         is declared.
12290         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
12291         REPLACE_STRNCAT.
12292         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
12293         REPLACE_STRNCAT.
12294         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
12295         module.
12296         * tests/test-string-c++.cc: Check signature of strncat.
12297
12298 2010-04-05  Jim Meyering  <meyering@redhat.com>
12299
12300         xstrtoumax-tests: convert to use init.sh
12301         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
12302         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12303         Use Exit, not exit.
12304         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12305
12306         xstrtoimax-tests: convert to use init.sh
12307         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
12308         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12309         Use Exit, not exit.
12310         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12311
12312 2010-04-05  Bruno Haible  <bruno@clisp.org>
12313
12314         sys_socket: Avoid #define replacements in C++ mode.
12315         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
12316         warning to the function if possible, rather than #defining the symbol
12317         to a dysfunctional alias.
12318
12319 2010-04-05  Bruno Haible  <bruno@clisp.org>
12320
12321         fseeko: Fix C++ test error on mingw.
12322         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
12323         gl_FUNC_FSEEKO.
12324         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
12325         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
12326         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
12327         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
12328
12329 2010-04-05  Bruno Haible  <bruno@clisp.org>
12330
12331         duplocale: Improve test output.
12332         * tests/test-duplocale.c (main): Print reason for skipped test.
12333
12334 2010-04-05  Bruno Haible  <bruno@clisp.org>
12335
12336         Assume rmdir exists.
12337         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
12338         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
12339
12340 2010-04-05  Bruno Haible  <bruno@clisp.org>
12341
12342         Fix link error on Solaris 8 with cc.
12343         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
12344
12345 2010-04-05  Bruno Haible  <bruno@clisp.org>
12346
12347         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12348         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
12349
12350 2010-04-05  Bruno Haible  <bruno@clisp.org>
12351
12352         vasprintf: Update documentation.
12353         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
12354
12355 2010-04-05  Bruno Haible  <bruno@clisp.org>
12356
12357         ptsname: Improve test.
12358         * tests/test-ptsname.c (main): Also try the various master names of BSD
12359         systems.
12360
12361 2010-04-05  Bruno Haible  <bruno@clisp.org>
12362
12363         memchr: Avoid a possible C++ test error.
12364         * lib/string.in.h (memchr): Provide declaration if function is missing.
12365         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
12366         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
12367         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
12368         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
12369
12370 2010-04-05  Bruno Haible  <bruno@clisp.org>
12371
12372         strtok_r: Improve idiom.
12373         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
12374         AC_LIBOBJ is used.
12375
12376 2010-04-05  Bruno Haible  <bruno@clisp.org>
12377
12378         strdup: Improve idiom.
12379         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
12380         AC_LIBOBJ is used.
12381         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
12382         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
12383         when AC_LIBOBJ is used.
12384
12385 2010-04-05  Bruno Haible  <bruno@clisp.org>
12386
12387         mbsinit, mbrtowc, wcrtomb: Improve idioms.
12388         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
12389         don't set REPLACE_MBSINIT to 1.
12390         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
12391         don't set REPLACE_MBRTOWC to 1.
12392         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
12393         exist, don't set REPLACE_MBSRTOWCS to 1.
12394         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
12395         exist, don't set REPLACE_MBSNRTOWCS to 1.
12396         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
12397         don't set REPLACE_WCRTOMB to 1.
12398         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
12399         exist, don't set REPLACE_WCSRTOMBS to 1.
12400         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
12401         exist, don't set REPLACE_WCSNRTOMBS to 1.
12402
12403 2010-04-05  Bruno Haible  <bruno@clisp.org>
12404
12405         ldexpl: Improve idiom.
12406         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
12407         make sure to set HAVE_DECL_LDEXPL to 0.
12408
12409 2010-04-05  Jim Meyering  <meyering@redhat.com>
12410
12411         xstrtol-tests: convert to use init.sh
12412         * modules/xstrtol-tests (Files): Add tests/init.sh.
12413         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12414         Use Exit, not exit.
12415         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12416
12417         atexit-tests: convert to use init.sh
12418         * modules/atexit-tests (Files): Add tests/init.sh.
12419         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
12420         Use Exit, not exit.
12421         Remove uses of $EXEEXT and "./" to run a program in the current dir.
12422
12423         init.sh: fix typo
12424         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
12425
12426         init.sh: make it easier for a test script to write to the tty, ...
12427         when using automake's parallel-tests mode.
12428         * tests/init.sh (stderr_fileno_): Define overridable variable.
12429         (warn_): New function, to use it.
12430         (fail_, skip_, framework_failure_): Use warn_.
12431
12432 2010-04-04  Bruno Haible  <bruno@clisp.org>
12433
12434         btowc: Avoid warning.
12435         * lib/btowc.c: Include <stdlib.h>.
12436         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
12437
12438 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12439             Bruno Haible  <bruno@clisp.org>
12440
12441         wchar: Port to NetBSD 1.5.
12442         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
12443         * lib/wctype.in.h (WEOF): Likewise.
12444
12445 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
12446             Bruno Haible  <bruno@clisp.org>
12447
12448         Port extended stdio to NetBSD 1.5.
12449         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
12450         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
12451         older.
12452
12453 2010-04-04  Bruno Haible  <bruno@clisp.org>
12454
12455         string: Remove unused substitution.
12456         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
12457         HAVE_DECL_STRERROR.
12458         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
12459
12460 2010-04-04  Bruno Haible  <bruno@clisp.org>
12461
12462         strtod: Avoid a possible C++ test error.
12463         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
12464         set REPLACE_STRTOD.
12465
12466 2010-04-04  Bruno Haible  <bruno@clisp.org>
12467
12468         strerror: Update documentation.
12469         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
12470
12471 2010-04-04  Bruno Haible  <bruno@clisp.org>
12472
12473         stdio: Fix some C++ test errors on Solaris 8 with GCC.
12474         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
12475         _GL_CXXALIAS_SYS_CAST.
12476
12477 2010-04-04  Bruno Haible  <bruno@clisp.org>
12478
12479         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
12480         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
12481         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
12482         REPLACE_FREXPL to 1.
12483         * doc/posix-functions/frexpl.texi: Update documentation.
12484
12485 2010-04-04  Bruno Haible  <bruno@clisp.org>
12486
12487         math: Fix some C++ test errors on Solaris 8 and Cygwin.
12488         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
12489
12490 2010-04-04  Bruno Haible  <bruno@clisp.org>
12491
12492         Implement nanosleep for native Windows.
12493         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
12494
12495 2010-04-04  Bruno Haible  <bruno@clisp.org>
12496
12497         math: Fix some C++ test errors on Solaris 8.
12498         * lib/math.in.h (truncf, trunc): Use simpler idiom.
12499
12500 2010-04-04  Bruno Haible  <bruno@clisp.org>
12501
12502         math: Fix some C++ test errors on Cygwin.
12503         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
12504         truncl): Provide declaration if the system does not have it.
12505         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
12506         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
12507         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
12508         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
12509         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
12510         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
12511         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
12512         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
12513         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
12514         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
12515         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
12516         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
12517         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
12518         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
12519         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
12520         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
12521         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
12522         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12523         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12524         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
12525         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
12526         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
12527
12528 2010-04-04  Bruno Haible  <bruno@clisp.org>
12529
12530         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
12531         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12532         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12533         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12534         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12535         * m4/isinf.m4 (gl_ISINF): Likewise.
12536         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12537
12538 2010-04-04  Bruno Haible  <bruno@clisp.org>
12539
12540         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
12541         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12542
12543 2010-04-04  Bruno Haible  <bruno@clisp.org>
12544
12545         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
12546         * modules/tmpfile (configure.ac): Update.
12547
12548         tmpfile: Fix C++ test error on mingw.
12549         * lib/stdio.in.h (tmpfile): New declaration.
12550         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
12551         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
12552         * modules/tmpfile (Depends-on): Add stdio.
12553         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
12554         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
12555         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
12556         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
12557         REPLACE_TMPFILE.
12558         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
12559
12560 2010-04-04  Bruno Haible  <bruno@clisp.org>
12561
12562         ioctl: Fix C++ test error on mingw.
12563         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
12564         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
12565         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
12566
12567 2010-04-03  Bruno Haible  <bruno@clisp.org>
12568
12569         wcwidth: Fix C++ test error on mingw.
12570         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
12571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
12572         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
12573
12574 2010-04-03  Bruno Haible  <bruno@clisp.org>
12575
12576         nanosleep: Fix C++ test error on mingw.
12577         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
12578         * lib/time.in.h (nanosleep): Use modern idiom.
12579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
12580         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
12581         REPLACE_NANOSLEEP to 1.
12582         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
12583         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
12584
12585 2010-04-03  Bruno Haible  <bruno@clisp.org>
12586
12587         strptime: Fix C++ test error on mingw.
12588         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
12589         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
12590         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
12591         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
12592         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
12593         not REPLACE_STRPTIME.
12594         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
12595         REPLACE_STRPTIME.
12596
12597 2010-04-03  Bruno Haible  <bruno@clisp.org>
12598
12599         timegm: Fix C++ test error on mingw.
12600         * lib/time.in.h (timegm): Use modern idiom.
12601         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
12602         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
12603         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
12604         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
12605
12606 2010-04-03  Bruno Haible  <bruno@clisp.org>
12607
12608         timegm: Assume declaration if function exists.
12609         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
12610         if it exists. Don't clobber ac_cv_func_timegm.
12611
12612 2010-04-03  Bruno Haible  <bruno@clisp.org>
12613
12614         time_r: Fix C++ test error on mingw.
12615         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
12616         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
12617         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
12618         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
12619         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
12620
12621 2010-04-03  Bruno Haible  <bruno@clisp.org>
12622
12623         time_r: Minor updates.
12624         * modules/time_r (Description): Mention the provided functions.
12625         * lib/time_r.c: Don't include <string.h>.
12626         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
12627         * doc/posix-functions/localtime_r.texi: Likewise.
12628
12629 2010-04-03  Bruno Haible  <bruno@clisp.org>
12630
12631         time: Fix regression introduced on 2010-03-08.
12632         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
12633         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
12634
12635 2010-04-03  Jim Meyering  <meyering@redhat.com>
12636
12637         maint.mk: don't silently disable project-specific syntax-check rules
12638         * top/maint.mk (_prohibit_regexp): Define, to help people realize
12639         that they need to convert their project-specific syntax-check rules
12640         to use the new _sc_search_regexp.
12641
12642 2010-04-03  Bruno Haible  <bruno@clisp.org>
12643
12644         fchdir: Fix regression introduced on 2010-03-08.
12645         * lib/unistd.in.h (fchdir): Fix declaration.
12646         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
12647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
12648         REPLACE_FCHDIR.
12649         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
12650         REPLACE_FCHDIR.
12651
12652 2010-04-03  Bruno Haible  <bruno@clisp.org>
12653
12654         getpagesize: Fix C++ test error on mingw.
12655         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
12656         system does not declare the function.
12657         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
12658         declared.
12659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
12660         HAVE_DECL_GETPAGESIZE.
12661         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
12662
12663 2010-04-03  Bruno Haible  <bruno@clisp.org>
12664
12665         stdio: Make C++ tests work on mingw.
12666         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
12667         does not declare the function.
12668
12669 2010-04-03  Bruno Haible  <bruno@clisp.org>
12670
12671         ftello: Fix C++ test error on mingw.
12672         * lib/stdio.in.h (ftello): Use modern idiom.
12673         * lib/ftello.c (ftello): Renamed from rpl_ftello.
12674         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
12675         is missing and that it needs to be replaced.
12676         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
12677         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
12678         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
12679
12680 2010-04-03  Bruno Haible  <bruno@clisp.org>
12681
12682         fseeko: Fix C++ test error on mingw.
12683         * lib/stdio.in.h (fseeko): Use modern idiom.
12684         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
12685         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
12686         is missing and that it needs to be replaced.
12687         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
12688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
12689         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
12690
12691 2010-04-03  Bruno Haible  <bruno@clisp.org>
12692
12693         mkstemp: Fix C++ test error on mingw.
12694         * lib/stdlib.in.h (mkstemp): Use modern idiom.
12695         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
12696         function is missing and that it needs to be replaced.
12697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
12698         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
12699
12700 2010-04-03  Bruno Haible  <bruno@clisp.org>
12701
12702         stpncpy: Fix C++ test error on mingw.
12703         * lib/string.in.h (stpncpy): Use modern idiom.
12704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
12705         function is missing and that it needs to be replaced.
12706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
12707         REPLACE_STPNCPY.
12708         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
12709
12710 2010-04-03  Bruno Haible  <bruno@clisp.org>
12711
12712         sys_stat: Fix C++ test error on mingw.
12713         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
12714         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
12715
12716 2010-04-03  Bruno Haible  <bruno@clisp.org>
12717
12718         pty: Update doc.
12719         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
12720
12721 2010-04-03  Bruno Haible  <bruno@clisp.org>
12722
12723         unistd: Fix C++ test error on mingw.
12724         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
12725
12726 2010-04-03  Bruno Haible  <bruno@clisp.org>
12727
12728         Update doc regarding mingw.
12729         * doc/glibc-functions/openpty.texi: Update regarding mingw.
12730         * doc/glibc-functions/login_tty.texi: Likewise.
12731         * doc/glibc-functions/forkpty.texi: Likewise.
12732
12733 2010-04-03  Bruno Haible  <bruno@clisp.org>
12734
12735         stdlib: Avoid compilation failure of c-strtold on mingw.
12736         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
12737
12738 2010-04-03  Bruno Haible  <bruno@clisp.org>
12739
12740         locale: Make C++ tests work on Cygwin and mingw.
12741         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
12742         cannot provide the function.
12743         Reported by Simon Josefsson.
12744
12745 2010-04-03  Bruno Haible  <bruno@clisp.org>
12746
12747         localename: Port to MacOS X 10.6.
12748         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
12749         memory layout of the locales in MacOS X 10.6 as well.
12750         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
12751
12752 2010-04-02  Bruno Haible  <bruno@clisp.org>
12753
12754         gnulib-tool: Ensure that long-running tests are executed last.
12755         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
12756         running tests after the one for the other tests.
12757
12758 2010-04-02  Bruno Haible  <bruno@clisp.org>
12759
12760         gnulib-tool: Ensure the tests in the main directory are executed first.
12761         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
12762         start with the current directory.
12763
12764 2010-04-02  Bruno Haible  <bruno@clisp.org>
12765
12766         Tests for module 'havelib', moved here from GNU gettext.
12767         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
12768         modifications.
12769         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
12770         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
12771         with modifications.
12772         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
12773         modifications.
12774         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
12775         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
12776         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
12777         with modifications.
12778         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
12779         with modifications.
12780         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
12781         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
12782         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
12783         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
12784         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
12785         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
12786         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
12787         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
12788         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
12789         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
12790         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
12791         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
12792         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
12793         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
12794         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
12795         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
12796         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
12797         with modifications.
12798         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
12799         with modifications.
12800         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
12801         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
12802         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
12803         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
12804         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
12805         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
12806         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
12807         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
12808         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
12809         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
12810         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
12811         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
12812         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
12813         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
12814         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
12815         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
12816         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
12817         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
12818         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
12819         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
12820         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
12821         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
12822         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
12823         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
12824         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
12825         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
12826         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
12827         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
12828         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
12829         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
12830         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
12831         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
12832         * tests/havelib/rpathx/rpathx.c: New file, from
12833         gettext/autoconf-lib-link.
12834         * tests/havelib/rpathx/Makefile.am: New file, from
12835         gettext/autoconf-lib-link.
12836         * tests/havelib/rpathx/configure.ac: New file, from
12837         gettext/autoconf-lib-link with modifications.
12838         * tests/havelib/rpathy/rpathy.c: New file, from
12839         gettext/autoconf-lib-link.
12840         * tests/havelib/rpathy/Makefile.am: New file, from
12841         gettext/autoconf-lib-link.
12842         * tests/havelib/rpathy/configure.ac: New file, from
12843         gettext/autoconf-lib-link with modifications.
12844         * tests/havelib/rpathz/rpathz.c: New file, from
12845         gettext/autoconf-lib-link.
12846         * tests/havelib/rpathz/Makefile.am: New file, from
12847         gettext/autoconf-lib-link.
12848         * tests/havelib/rpathz/configure.ac: New file, from
12849         gettext/autoconf-lib-link with modifications.
12850         * tests/havelib/rpathlx/usex.c: New file, from
12851         gettext/autoconf-lib-link.
12852         * tests/havelib/rpathlx/Makefile.am: New file, from
12853         gettext/autoconf-lib-link.
12854         * tests/havelib/rpathlx/configure.ac: New file, from
12855         gettext/autoconf-lib-link with modifications.
12856         * tests/havelib/rpathly/usey.c: New file, from
12857         gettext/autoconf-lib-link.
12858         * tests/havelib/rpathly/Makefile.am: New file, from
12859         gettext/autoconf-lib-link.
12860         * tests/havelib/rpathly/configure.ac: New file, from
12861         gettext/autoconf-lib-link with modifications.
12862         * tests/havelib/rpathlz/usez.c: New file, from
12863         gettext/autoconf-lib-link.
12864         * tests/havelib/rpathlz/Makefile.am: New file, from
12865         gettext/autoconf-lib-link.
12866         * tests/havelib/rpathlz/configure.ac: New file, from
12867         gettext/autoconf-lib-link with modifications.
12868         * tests/havelib/rpathlyx/usey.c: New file, from
12869         gettext/autoconf-lib-link.
12870         * tests/havelib/rpathlyx/Makefile.am: New file, from
12871         gettext/autoconf-lib-link.
12872         * tests/havelib/rpathlyx/configure.ac: New file, from
12873         gettext/autoconf-lib-link with modifications.
12874         * tests/havelib/rpathlzyx/usez.c: New file, from
12875         gettext/autoconf-lib-link.
12876         * tests/havelib/rpathlzyx/Makefile.am: New file, from
12877         gettext/autoconf-lib-link.
12878         * tests/havelib/rpathlzyx/configure.ac: New file, from
12879         gettext/autoconf-lib-link with modifications.
12880         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
12881         with modifications.
12882
12883 2010-04-02  Bruno Haible  <bruno@clisp.org>
12884
12885         gnulib-tool: Create distributed built sources also for the tests.
12886         * gnulib-tool (func_create_testdir): Also generate distributed built
12887         sources in the tests directory.
12888
12889 2010-04-02  Bruno Haible  <bruno@clisp.org>
12890
12891         gnulib-tool: Obey user's environment variables.
12892         * gnulib-tool (func_create_testdir): When creating built sources,
12893         respect the environment variables for autoconf, automake, etc. given by
12894         the user.
12895
12896 2010-04-02  Bruno Haible  <bruno@clisp.org>
12897
12898         gnulib-tool: Provide the value of --m4-base to modules.
12899         * gnulib-tool (func_import, func_create_testdir): Emit a definition
12900         of gl_m4_base.
12901
12902 2010-04-02  Eric Blake  <eblake@redhat.com>
12903
12904         maint.mk: fix some fallout
12905         * NEWS: Document the incompatible change, and its effect on cfg.mk.
12906         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
12907
12908 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12909
12910         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
12911         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
12912         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
12913         (sc_cast_of_x_alloc_return_value): Likewise.
12914         (sc_cast_of_alloca_return_value): Likewise.
12915         (sc_space_tab): Likewise.
12916         (sc_prohibit_atoi_atof): Likewise.
12917         (sc_prohibit_magic_number_exit): Likewise.
12918         (sc_error_exit_success): Likewise.
12919         (sc_file_system): Likewise.
12920         (sc_prohibit_have_config_h): Likewise.
12921         (sc_require_config_h): Likewise.
12922         (sc_prohibit_HAVE_MBRTOWC): Likewise.
12923         (sc_obsolete_symbols): Likewise.
12924         (sc_changelog): Likewise.
12925         (sc_program_name): Likewise.
12926         (sc_the_the): Likewise.
12927         (sc_trailing_blank): Likewise.
12928         (sc_two_space_separator_in_usage): Likewise.
12929         (sc_useless_cpp_parens): Likewise.
12930         (sc_GPL_version): Likewise.
12931         (sc_GFDL_version): Likewise.
12932         (sc_texinfo_acronym): Likewise.
12933         (sc_prohibit_cvs_keyword): Likewise.
12934         (sc_prohibit_stat_st_blocks): Likewise.
12935         (sc_prohibit_S_IS_definition): Likewise.
12936         (sc_redundant_const): Likewise.
12937         (sc_makefile_TAB_only_indentation): Likewise.
12938         (sc_m4_quote_check): Likewise.
12939         (sc_makefile_path_separator_check): Likewise.
12940         (sc_copyright_check): Likewise.
12941         (sc_Wundef_boolean): Likewise.
12942         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
12943
12944         maint.mk: match 0 or more whitespace-before-function-call '('
12945         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
12946         that have zero or two-and-more spaces between the function name
12947         and the open parenthesis.
12948         (sc_error_message_warn_fatal): Likewise.
12949         (sc_error_message_uppercase): Likewise.
12950         (sc_error_message_period): Likewise.
12951
12952 2010-03-31  Eric Blake  <eblake@redhat.com>
12953
12954         maint.mk: check for [ as well as test
12955         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
12956         Based on a libvirt report by Matthias Bolte.
12957
12958         gnumakefile: don't squelch _version output
12959         * top/GNUmakefile (_version): Create one-shot dependency rather
12960         than using $(shell) when version must be regenerated.
12961         (_autoreconf): Run verbosely, by default.
12962
12963         sys_time: avoid compiler warnings
12964         * lib/sys_time.in.h (includes): Ensure gcc pragma is
12965         unconditional, fixing regression from 2010-03-29.
12966         Reported by Simon Josefsson.
12967
12968 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
12969
12970         maint.mk: s/_header_without_use/_sc_header_without_use/
12971         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
12972         (sc_prohibit_assert_without_use): Use the new name.
12973         (sc_prohibit_close_stream_without_use): Likewise.
12974         (sc_prohibit_getopt_without_use): Likewise.
12975         (sc_prohibit_quotearg_without_use): Likewise.
12976         (sc_prohibit_quote_without_use): Likewise.
12977         (sc_prohibit_long_options_without_use): Likewise.
12978         (sc_prohibit_inttostr_without_use): Likewise.
12979         (sc_prohibit_ignore_value_without_use): Likewise.
12980         (sc_prohibit_error_without_use): Likewise.
12981         (sc_prohibit_xalloc_without_use): Likewise.
12982         (sc_prohibit_hash_without_use): Likewise.
12983         (sc_prohibit_hash_pjw_without_use): Likewise.
12984         (sc_prohibit_safe_read_without_use): Likewise.
12985         (sc_prohibit_argmatch_without_use): Likewise.
12986         (sc_prohibit_canonicalize_without_use): Likewise.
12987         (sc_prohibit_root_dev_ino_without_use): Likewise.
12988         (sc_prohibit_openat_without_use): Likewise.
12989         (sc_prohibit_c_ctype_without_use): Likewise.
12990         (sc_prohibit_signal_without_use): Likewise.
12991         (sc_prohibit_intprops_without_use): Likewise.
12992
12993 2010-03-30  Eric Blake  <eblake@redhat.com>
12994
12995         maint: improve module indicators
12996         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
12997         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
12998         columns, and avoid extra macro expansion.
12999
13000         fdopendir: work around FreeBSD bug
13001         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13002         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
13003         * modules/dirent (Makefile.am): Substitute it.
13004         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
13005         declaration.
13006         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
13007         fix.
13008         Reported by Christian Weisgerber <naddy@mips.inka.de>.
13009
13010 2010-03-29  Bruno Haible  <bruno@clisp.org>
13011
13012         Emit #pragma system_header after the inclusion guard, not before.
13013         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
13014         guard that spans the entire file, not before. This enables an
13015         optimization in GCC's preprocessor.
13016         * lib/ctype.in.h: Likewise.
13017         * lib/dirent.in.h: Likewise.
13018         * lib/errno.in.h: Likewise.
13019         * lib/float.in.h: Likewise.
13020         * lib/getopt.in.h: Likewise.
13021         * lib/iconv.in.h: Likewise.
13022         * lib/langinfo.in.h: Likewise.
13023         * lib/locale.in.h: Likewise.
13024         * lib/math.in.h: Likewise.
13025         * lib/netdb.in.h: Likewise.
13026         * lib/netinet_in.in.h: Likewise.
13027         * lib/pty.in.h: Likewise.
13028         * lib/sched.in.h: Likewise.
13029         * lib/se-selinux.in.h: Likewise.
13030         * lib/search.in.h: Likewise.
13031         * lib/spawn.in.h: Likewise.
13032         * lib/stdarg.in.h: Likewise.
13033         * lib/stdint.in.h: Likewise.
13034         * lib/string.in.h: Likewise.
13035         * lib/strings.in.h: Likewise.
13036         * lib/sys_file.in.h: Likewise.
13037         * lib/sys_ioctl.in.h: Likewise.
13038         * lib/sys_time.in.h: Likewise.
13039         * lib/sys_times.in.h: Likewise.
13040         * lib/sys_utsname.in.h: Likewise.
13041         * lib/sys_wait.in.h: Likewise.
13042         * lib/sysexits.in.h: Likewise.
13043         * lib/wctype.in.h: Likewise.
13044
13045 2010-03-28  James Youngman  <jay@gnu.org>
13046
13047         save-cwd: don't leak a file descriptor when the caller execs.
13048         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
13049         saved file descriptor.
13050         * modules/save-cwd (Depends-on): Depend on cloexec.
13051
13052 2010-03-29  Bruno Haible  <bruno@clisp.org>
13053
13054         Remove vestiges of fts-lgpl module.
13055         * lib/fts_.h: Assume GNULIB_FTS is 1.
13056         * lib/fts.c: Likewise.
13057         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13058
13059 2010-03-28  Bruno Haible  <bruno@clisp.org>
13060
13061         Fix definition of tests witness macro.
13062         * gnulib-tool (func_import): Fix definition of witness macro.
13063
13064 2010-03-28  Bruno Haible  <bruno@clisp.org>
13065
13066         Fix ioctl's protoype on glibc systems.
13067         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
13068         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
13069         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
13070         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
13071         signature. If not, arrange to replace the ioctl function.
13072         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
13073         REPLACE_IOCTL.
13074         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
13075         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
13076         Reported by Ludovic Courtès <ludo@gnu.org>.
13077
13078 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
13079
13080         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
13081         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
13082         made it so grep -r --include=GLOB* ... did not work.
13083
13084 2010-03-26  Jim Meyering  <meyering@redhat.com>
13085             Eric Blake  <eblake@redhat.com>
13086
13087         maint.mk: prohibit use of test's -o and -a operators
13088         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
13089
13090 2010-03-28  Bruno Haible  <bruno@clisp.org>
13091
13092         Remove unused GNULIB_XYZ macro definitions.
13093         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
13094         invocation.
13095
13096 2010-03-28  Bruno Haible  <bruno@clisp.org>
13097
13098         Mark privileged tests modules.
13099         * modules/idpriv-drop-tests (Status): New section.
13100         * modules/idpriv-droptemp-tests (Status): New section.
13101
13102 2010-03-28  Bruno Haible  <bruno@clisp.org>
13103
13104         Split C++ tests into separate tests modules.
13105         * modules/dirent-c++-tests: New file, extracted from
13106         modules/dirent-tests.
13107         * modules/dirent-tests: Depend on it.
13108         * modules/fcntl-h-c++-tests: New file, extracted from
13109         modules/fcntl-h-tests.
13110         * modules/fcntl-h-tests: Depend on it.
13111         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
13112         * modules/glob-tests: Depend on it.
13113         * modules/iconv-h-c++-tests: New file, extracted from
13114         modules/iconv-h-tests.
13115         * modules/iconv-h-tests: Depend on it.
13116         * modules/langinfo-c++-tests: New file, extracted from
13117         modules/langinfo-tests.
13118         * modules/langinfo-tests: Depend on it.
13119         * modules/locale-c++-tests: New file, extracted from
13120         modules/locale-tests.
13121         * modules/locale-tests: Depend on it.
13122         * modules/math-c++-tests: New file, extracted from modules/math-tests.
13123         * modules/math-tests: Depend on it.
13124         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
13125         * modules/pty-tests: Depend on it.
13126         * modules/search-c++-tests: New file, extracted from
13127         modules/search-tests.
13128         * modules/search-tests: Depend on it.
13129         * modules/signal-c++-tests: New file, extracted from
13130         modules/signal-tests.
13131         * modules/signal-tests: Depend on it.
13132         * modules/spawn-c++-tests: New file, extracted from
13133         modules/spawn-tests.
13134         * modules/spawn-tests: Depend on it.
13135         * modules/stdio-c++-tests: New file, extracted from
13136         modules/stdio-tests.
13137         * modules/stdio-tests: Depend on it.
13138         * modules/stdlib-c++-tests: New file, extracted from
13139         modules/stdlib-tests.
13140         * modules/stdlib-tests: Depend on it.
13141         * modules/string-c++-tests: New file, extracted from
13142         modules/string-tests.
13143         * modules/string-tests: Depend on it.
13144         * modules/sys_ioctl-c++-tests: New file, extracted from
13145         modules/sys_ioctl-tests.
13146         * modules/sys_ioctl-tests: Depend on it.
13147         * modules/sys_select-c++-tests: New file, extracted from
13148         modules/sys_select-tests.
13149         * modules/sys_select-tests: Depend on it.
13150         * modules/sys_socket-c++-tests: New file, extracted from
13151         modules/sys_socket-tests.
13152         * modules/sys_socket-tests: Depend on it.
13153         * modules/sys_stat-c++-tests: New file, extracted from
13154         modules/sys_stat-tests.
13155         * modules/sys_stat-tests: Depend on it.
13156         * modules/sys_time-c++-tests: New file, extracted from
13157         modules/sys_time-tests.
13158         * modules/sys_time-tests: Depend on it.
13159         * modules/time-c++-tests: New file, extracted from modules/time-tests.
13160         * modules/time-tests: Depend on it.
13161         * modules/unistd-c++-tests: New file, extracted from
13162         modules/unistd-tests.
13163         * modules/unistd-tests: Depend on it.
13164         * modules/wchar-c++-tests: New file, extracted from
13165         modules/wchar-tests.
13166         * modules/wchar-tests: Depend on it.
13167         * modules/wctype-c++-tests: New file, extracted from
13168         modules/wctype-tests.
13169         * modules/wctype-tests: Depend on it.
13170         Reported by Simon Josefsson.
13171
13172 2010-03-28  Bruno Haible  <bruno@clisp.org>
13173
13174         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
13175         * gnulib-tool (func_exists_module): New function, extracted from
13176         func_verify_module.
13177         (func_verify_module): Use it.
13178         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
13179         'foo' only if 'foo' exists.
13180         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
13181         module.
13182
13183 2010-03-28  Bruno Haible  <bruno@clisp.org>
13184
13185         gnulib-tool: Add support for special categories of tests.
13186         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
13187         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
13188         (func_usage): Document them.
13189         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
13190         inc_unportable_tests, inc_all_tests): New variables.
13191         (func_acceptable): Consider these variables.
13192         (func_modules_transitive_closure): Make it work when the 'Status' field
13193         consists of multiple words.
13194         (func_import): Store and restore the values of inc_cxx_tests,
13195         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
13196         inc_all_tests in gnulib-comp.m4.
13197         (func_create_testdir): Set inc_all_tests to true.
13198         * doc/gnulib.texi (Extra tests modules): New section.
13199         Suggested by Jim Meyering.
13200
13201 2010-03-28  Bruno Haible  <bruno@clisp.org>
13202
13203         ansi-c++-opt: Allow turning off the C++ build by default.
13204         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
13205         gl_CXX_CHOICE_DEFAULT_NO is defined.
13206         Requested by Eric Blake.
13207
13208 2010-03-28  Bruno Haible  <bruno@clisp.org>
13209
13210         unistd: Avoid #define replacements in C++ mode.
13211         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13212         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13213         setsockopt, shutdown, select): In C++, attach a warning to the function
13214         if possible, rather than #defining the symbol to a dysfunctional alias.
13215         Reported by John W. Eaton <jwe@gnu.org>.
13216
13217 2010-03-28  Bruno Haible  <bruno@clisp.org>
13218
13219         Fix link errors on mingw.
13220         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
13221         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
13222         $(LIBSOCKET).
13223         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
13224         $(LIBSOCKET).
13225
13226 2010-03-28  Bruno Haible  <bruno@clisp.org>
13227             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13228
13229         lib-ignore: Determine different options for different compilers.
13230         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
13231         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
13232         Add comments.
13233         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
13234         * NEWS: Mention the change.
13235
13236 2010-03-27  Bruno Haible  <bruno@clisp.org>
13237
13238         Remove unused GNULIB_XYZ macro definitions.
13239         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
13240         * modules/fseek (configure.ac): Likewise.
13241         * modules/ioctl (configure.ac): Likewise.
13242         * modules/open (configure.ac): Likewise.
13243         * modules/stdlib-safer (configure.ac): Likewise.
13244
13245 2010-03-27  Bruno Haible  <bruno@clisp.org>
13246
13247         Add a remark about certain modules.
13248         * modules/malloc (Comment): New section.
13249         * modules/realloc (Comment): Likewise.
13250         * modules/sigpipe (Comment): Likewise.
13251
13252 2010-03-27  Bruno Haible  <bruno@clisp.org>
13253
13254         Resolve conflict between the two kinds of module indicators.
13255         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
13256         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
13257         * modules/canonicalize (configure.ac): Invoke
13258         gl_MODULE_INDICATOR_FOR_TESTS.
13259         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
13260         GNULIB_XYZ.
13261         * tests/test-dirent-c++.cc: Likewise.
13262         * tests/test-dirent-safer.c: Likewise.
13263         * tests/test-dup2.c: Likewise.
13264         * tests/test-fchdir.c: Likewise.
13265         * tests/test-fcntl-h-c++.cc: Likewise.
13266         * tests/test-getopt.c: Likewise.
13267         * tests/test-getopt.h: Likewise.
13268         * tests/test-langinfo-c++.cc: Likewise.
13269         * tests/test-locale-c++.cc: Likewise.
13270         * tests/test-math-c++.cc: Likewise.
13271         * tests/test-pty-c++.cc: Likewise.
13272         * tests/test-search-c++.cc: Likewise.
13273         * tests/test-signal-c++.cc: Likewise.
13274         * tests/test-spawn-c++.cc: Likewise.
13275         * tests/test-stdio-c++.cc: Likewise.
13276         * tests/test-stdlib-c++.cc: Likewise.
13277         * tests/test-string-c++.cc: Likewise.
13278         * tests/test-sys_ioctl-c++.cc: Likewise.
13279         * tests/test-sys_select-c++.cc: Likewise.
13280         * tests/test-sys_socket-c++.cc: Likewise.
13281         * tests/test-sys_stat-c++.cc: Likewise.
13282         * tests/test-sys_time-c++.cc: Likewise.
13283         * tests/test-time-c++.cc: Likewise.
13284         * tests/test-unistd-c++.cc: Likewise.
13285         * tests/test-wchar-c++.cc: Likewise.
13286         * tests/uninorm/test-u8-nfc.c: Likewise.
13287         * tests/uninorm/test-u8-nfd.c: Likewise.
13288         * tests/uninorm/test-u8-nfkc.c: Likewise.
13289         * tests/uninorm/test-u8-nfkd.c: Likewise.
13290         * tests/uninorm/test-u16-nfc.c: Likewise.
13291         * tests/uninorm/test-u16-nfd.c: Likewise.
13292         * tests/uninorm/test-u16-nfkc.c: Likewise.
13293         * tests/uninorm/test-u16-nfkd.c: Likewise.
13294         * tests/uninorm/test-u32-nfc.c: Likewise.
13295         * tests/uninorm/test-u32-nfc-big.c: Likewise.
13296         * tests/uninorm/test-u32-nfd.c: Likewise.
13297         * tests/uninorm/test-u32-nfd-big.c: Likewise.
13298         * tests/uninorm/test-u32-nfkc.c: Likewise.
13299         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
13300         * tests/uninorm/test-u32-nfkd.c: Likewise.
13301         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
13302         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13303
13304 2010-03-27  Bruno Haible  <bruno@clisp.org>
13305
13306         Distinguish two kinds of module indicators.
13307         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
13308         gl_MODULE_INDICATOR.
13309         (gl_MODULE_INDICATOR): New macro.
13310         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
13311         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
13312         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13313         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13314         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13315         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13316         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13317         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13318         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13319         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13320         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13321         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13322         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13323         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13324         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13325         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13326         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13327         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13328         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13329         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13330         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13331         * modules/cloexec (configure.ac): Likewise.
13332         * modules/getopt-gnu (configure.ac): Likewise.
13333         * modules/uninorm/u8-normalize (configure.ac): Likewise.
13334         * modules/uninorm/u16-normalize (configure.ac): Likewise.
13335         * modules/uninorm/u32-normalize (configure.ac): Likewise.
13336         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
13337
13338 2010-03-27  Bruno Haible  <bruno@clisp.org>
13339
13340         New module description field 'Comment'.
13341         * gnulib-tool: New option --extract-comment.
13342         (func_usage): Document it.
13343         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
13344         (func_get_comment): New function.
13345         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
13346
13347 2010-03-27  Bruno Haible  <bruno@clisp.org>
13348
13349         Addendum to 2010-02-07 commit.
13350         * gnulib-tool (func_usage): Document --extract-applicability option.
13351
13352 2010-03-27  Bruno Haible  <bruno@clisp.org>
13353
13354         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
13355         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
13356         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
13357         rather than link errors.
13358
13359 2010-03-27  Bruno Haible  <bruno@clisp.org>
13360
13361         Avoid side effects from tests-related modules on the compilation of lib.
13362         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
13363         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
13364         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
13365         parameter. Emit into AM_CPPFLAGS a definition of the designated C
13366         macro.
13367         (func_import): Define a witness macro. Assign it a value that depends
13368         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
13369         tests-related modules.
13370         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
13371         Reported by Jim Meyering.
13372
13373 2010-03-27  Bruno Haible  <bruno@clisp.org>
13374
13375         Factorize common .m4 code.
13376         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
13377         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
13378         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
13379         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
13380         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
13381         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
13382         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
13383         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
13384         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
13385         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
13386         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
13387         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
13388         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
13389         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
13390         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
13391         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
13392         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
13393         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
13394         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
13395         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
13396         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
13397         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
13398         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
13399         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
13400         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
13401         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
13402         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
13403         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
13404         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
13405         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
13406         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
13407         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
13408
13409 2010-03-27  Bruno Haible  <bruno@clisp.org>
13410
13411         Fix a compilation error on Cygwin with g++ >= 4.3.
13412         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
13413         if it is undefined or if we alias it to chmod.
13414         (lstat): Don't warn about the use of this function if it is undefined
13415         or if we alias it to stat.
13416         Reported by Simon Josefsson.
13417
13418 2010-03-27  Bruno Haible  <bruno@clisp.org>
13419
13420         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
13421         * modules/getlogin (configure.ac): Update.
13422
13423         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
13424         * modules/getlogin_r (configure.ac): Update.
13425
13426         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
13427         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
13428         * modules/inet_ntop (configure.ac): Update.
13429
13430         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
13431         * modules/inet_pton (configure.ac): Update.
13432
13433         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
13434         * modules/mbslen (configure.ac): Update.
13435
13436         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
13437         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
13438         * modules/forkpty (configure.ac): Update.
13439         * modules/openpty (configure.ac): Update.
13440
13441 2010-03-26  Simon Josefsson  <simon@josefsson.org>
13442
13443         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
13444         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
13445
13446 2010-03-25  Eric Blake  <eblake@redhat.com>
13447
13448         maint: use pragma consistently across replacement headers
13449         * lib/ctype.in.h (system_header): Hoist for consistent placement.
13450         * lib/dirent.in.h (system_header): Likewise.
13451         * lib/errno.in.h (system_header): Likewise.
13452         * lib/float.in.h (system_header): Likewise.
13453         * lib/getopt.in.h (system_header): Likewise.
13454         * lib/iconv.in.h (system_header): Likewise.
13455         * lib/inttypes.in.h (system_header): Likewise.
13456         * lib/langinfo.in.h (system_header): Likewise.
13457         * lib/locale.in.h (system_header): Likewise.
13458         * lib/math.in.h (system_header): Likewise.
13459         * lib/netdb.in.h (system_header): Likewise.
13460         * lib/netinet_in.in.h (system_header): Likewise.
13461         * lib/pty.in.h (system_header): Likewise.
13462         * lib/sched.in.h (system_header): Likewise.
13463         * lib/se-selinux.in.h (system_header): Likewise.
13464         * lib/search.in.h (system_header): Likewise.
13465         * lib/spawn.in.h (system_header): Likewise.
13466         * lib/stdarg.in.h (system_header): Likewise.
13467         * lib/stdint.in.h (system_header): Likewise.
13468         * lib/string.in.h (system_header): Likewise.
13469         * lib/strings.in.h (system_header): Likewise.
13470         * lib/sys_file.in.h (system_header): Likewise.
13471         * lib/sys_ioctl.in.h (system_header): Likewise.
13472         * lib/sys_socket.in.h (system_header): Likewise.
13473         * lib/sys_times.in.h (system_header): Likewise.
13474         * lib/sys_utsname.in.h (system_header): Likewise.
13475         * lib/sys_wait.in.h (system_header): Likewise.
13476         * lib/sysexits.in.h (system_header): Likewise.
13477         * lib/unistd.in.h (system_header): Likewise.
13478         * lib/wctype.in.h (system_header): Likewise.
13479
13480         arpa/inet: fix mingw compilation warning
13481         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
13482         Reported by Matthew Bolte.
13483
13484 2010-03-25  Bruno Haible  <bruno@clisp.org>
13485
13486         Avoid collision between gnulib wrapper and libintl wrapper.
13487         * lib/printf.c (printf): Don't define if a printf wrapper is already
13488         defined in intl/printf.c.
13489         Reported by Michel Boaventura <michel@michelboaventura.com>.
13490
13491 2010-03-25  Bruno Haible  <bruno@clisp.org>
13492
13493         Use ANSI C.
13494         * lib/readutmp.h (getutent): Provide ANSI C prototype.
13495
13496 2010-03-25  Bruno Haible  <bruno@clisp.org>
13497
13498         Minor formatting changes.
13499         * lib/acosl.c: Insert space before function argument list.
13500         * lib/argz.c: Likewise.
13501         * lib/asinl.c: Likewise.
13502         * lib/expl.c: Likewise.
13503         * lib/gen-uni-tables.c: Likewise.
13504         * lib/gettext.h: Likewise.
13505         * lib/glthread/lock.h: Likewise.
13506         * lib/tanl.c: Likewise.
13507         * lib/uniname/uniname.c: Likewise.
13508         * tests/test-idpriv-drop.c: Likewise.
13509         * tests/test-idpriv-droptemp.c: Likewise.
13510         * tests/test-lock.c: Likewise.
13511         * tests/test-tls.c: Likewise.
13512         * lib/argp-help.c: Insert space before function-like macro argument
13513         list.
13514         * lib/memcmp.c: Likewise.
13515         * tests/test-base64.c: Likewise.
13516         * lib/localename.c: Insert space before sizeof's argument list.
13517         * lib/safe-alloc.h: Likewise.
13518         * lib/file-set.h: Insert space before macro argument list.
13519         * tests/test-argp.c: Likewise.
13520         * lib/argp-namefrob.h: Insert space before function parameter list.
13521         * lib/getaddrinfo.c: Likewise.
13522         * lib/netdb.in.h: Likewise.
13523         * lib/parse-duration.h: Likewise.
13524         * lib/parse-duration.c: Likewise.
13525         * lib/poll.c: Likewise.
13526         * lib/select.c: Likewise.
13527         * lib/trim.h: Likewise.
13528         * tests/test-usleep.c: Likewise.
13529         * lib/ldexpl.c: Insert space before function parameter list and before
13530         function argument list.
13531         * lib/logl.c: Likewise.
13532         * lib/sqrtl.c: Likewise.
13533         * lib/trim.c: Likewise.
13534         * lib/cosl.c: Use GNU style indentation. Insert space before function
13535         argument list.
13536         * lib/sinl.c: Likewise.
13537         * lib/tsearch.c: Insert space after 'for'.
13538         Reported by Jim Meyering.
13539
13540 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
13541
13542         * maint.mk (sc_Wundef_boolean): Check for the presence of the
13543         config header before grepping, as it's not present before
13544         autoreconf/configure are run.  Reported by Simon Josefsson.
13545
13546 2010-03-23  Bruno Haible  <bruno@clisp.org>
13547
13548         pt_chown: Make it work with automake < 1.11.
13549         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
13550         Reported by Simon Josefsson.
13551
13552 2010-03-23  Bruno Haible  <bruno@clisp.org>
13553
13554         pt_chown: Don't depend on GPLed modules.
13555         * lib/pt_chown.c: Don't include idpriv.h.
13556         (main): Don't drop privileges.
13557         * modules/pt_chown (Depends-on): Remove idpriv-drop.
13558         Reported by Simon Josefsson.
13559
13560 2010-03-24  Simon Josefsson  <simon@josefsson.org>
13561
13562         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
13563         suggestions from karl@freefriends.org (Karl Berry).
13564
13565 2010-03-22  Eric Blake  <eblake@redhat.com>
13566
13567         gethostname: further tweaks
13568         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
13569         are overriding gethostname.
13570         Suggested by Bruno Haible.
13571
13572 2010-03-21  Bruno Haible  <bruno@clisp.org>
13573
13574         Fix comments.
13575         * lib/forkpty.c (rpl_forkpty): Fix comment.
13576         * lib/openpty.c (rpl_openpty): Likewise.
13577         Reported by Eric Blake.
13578
13579 2010-03-22  Eric Blake  <eblake@redhat.com>
13580
13581         gethostname: fix build on mingw
13582         * lib/unistd.in.h (includes): Work around fact that mingw
13583         <winsock2.h> re-includes <unistd.h>, by avoiding any
13584         redeclarations if we are being included by <winsock2.h>.
13585         Reported by Matthias Bolte.
13586
13587 2010-03-21  Bruno Haible  <bruno@clisp.org>
13588
13589         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13590         * lib/forkpty.c (forkpty): New replacement function, from glibc with
13591         modifications.
13592         * lib/pty.in.h (forkpty): Update declaration. Add comments.
13593         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
13594         provide the replacement.
13595         * modules/forkpty (Depends-on): Add openpty, login_tty.
13596         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
13597         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
13598         * doc/glibc-functions/forkpty.texi: More supported platforms.
13599         * config/srclist.txt: Add forkpty.c (commented).
13600
13601 2010-03-21  Bruno Haible  <bruno@clisp.org>
13602
13603         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
13604         (Makefile.am): Verify that PTY_LIB is defined.
13605
13606         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
13607
13608 2010-03-21  Bruno Haible  <bruno@clisp.org>
13609
13610         Tests for module 'login_tty'.
13611         * modules/login_tty-tests: New file.
13612         * tests/test-login_tty.c: New file.
13613
13614         New module 'login_tty'.
13615         * lib/login_tty.c: New file.
13616         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
13617         * modules/login_tty: New file.
13618         * doc/glibc-functions/login_tty.texi: Mention the new module.
13619
13620 2010-03-21  Bruno Haible  <bruno@clisp.org>
13621
13622         login_tty: Documentation.
13623         * doc/glibc-functions/login_tty.texi: New file.
13624         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
13625
13626 2010-03-21  Bruno Haible  <bruno@clisp.org>
13627
13628         pty: Consistent macro naming.
13629         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
13630         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
13631         * modules/pty (configure.ac): Update.
13632
13633 2010-03-21  Bruno Haible  <bruno@clisp.org>
13634
13635         Tests for openpty: Make stricter.
13636         * tests/test-openpty.c (main): Add test of canonical processing and
13637         erase.
13638         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
13639
13640         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
13641         * lib/openpty.c (openpty): New replacement function.
13642         * lib/pty.in.h: Include <termios.h>.
13643         (openpty): Update declaration. Add comments.
13644         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
13645         is not declared, arrange to provide the replacement. Check for _getpty
13646         and posix_openpt.
13647         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
13648         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
13649         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
13650         * modules/pty-tests (test_pty_c___LDADD): New variable.
13651         * doc/glibc-functions/openpty.texi: More supported platforms.
13652
13653 2010-03-21  Bruno Haible  <bruno@clisp.org>
13654
13655         setenv: Tweaks.
13656         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
13657         the test program.
13658         * doc/posix-functions/setenv.texi: Update platforms list.
13659
13660 2010-03-21  Bruno Haible  <bruno@clisp.org>
13661
13662         New module 'unlockpt'.
13663         * lib/unlockpt.c: New file, from glibc with modifications.
13664         * m4/unlockpt.m4: New file.
13665         * modules/unlockpt: New file.
13666         * lib/stdlib.in.h (unlockpt): New declaration.
13667         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
13668         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
13669         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
13670         HAVE_UNLOCKPT.
13671         * doc/posix-functions/unlockpt.texi: Mention the new module.
13672         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
13673         * config/srclist.txt: Add unlockpt.c (commented).
13674
13675 2010-03-21  Jim Meyering  <meyering@redhat.com>
13676
13677         maint.mk: prohibit inclusion of "intprops.h" without use
13678         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
13679
13680 2010-03-21  Bruno Haible  <bruno@clisp.org>
13681
13682         New module 'grantpt'.
13683         * lib/grantpt.c: New file, from glibc with modifications.
13684         * m4/grantpt.m4: New file.
13685         * modules/grantpt: New file.
13686         * lib/stdlib.in.h (grantpt): New declaration.
13687         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
13688         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
13689         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
13690         HAVE_GRANTPT.
13691         * doc/posix-functions/grantpt.texi: Mention the new module.
13692         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
13693         * config/srclist.txt: Add grantpt.c (commented).
13694
13695 2010-03-21  Bruno Haible  <bruno@clisp.org>
13696
13697         New module 'pt_chown'.
13698         * lib/pt_chown.c: New file, from glibc with modifications.
13699         * lib/pty-private.h: New file, from glibc with modifications.
13700         * modules/pt_chown: New file.
13701         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
13702
13703 2010-03-21  Bruno Haible  <bruno@clisp.org>
13704
13705         Tests for module 'ptsname'.
13706         * modules/ptsname-tests: New file.
13707         * tests/test-ptsname.c: New file.
13708
13709         New module 'ptsname'.
13710         * lib/ptsname.c: New file, from glibc with modifications.
13711         * m4/ptsname.m4: New file.
13712         * modules/ptsname: New file.
13713         * lib/stdlib.in.h (ptsname): New declaration.
13714         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
13715         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
13716         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
13717         HAVE_PTSNAME.
13718         * doc/posix-functions/ptsname.texi: Mention the new module.
13719         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
13720         * config/srclist.txt: Add ptsname.c (commented).
13721
13722 2010-03-21  Bruno Haible  <bruno@clisp.org>
13723
13724         Tests for module 'ttyname_r'.
13725         * modules/ttyname_r-tests: New file.
13726         * tests/test-ttyname_r.c: New file.
13727
13728         New module 'ttyname_r'.
13729         * lib/ttyname_r.c: New file.
13730         * m4/ttyname_r.m4: New file.
13731         * modules/ttyname_r: New file.
13732         * lib/unistd.in.h (ttyname_r): New declaration.
13733         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
13734         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
13735         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
13736         HAVE_TTYNAME_R.
13737         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
13738         * doc/posix-functions/ttyname_r.texi: Mention the new module.
13739
13740 2010-03-20  Bruno Haible  <bruno@clisp.org>
13741
13742         signal: Undefine macro definitions in C++ mode.
13743         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
13744         sigfillset): Undefine macro definitions from the system header in C++
13745         mode.
13746         Reported by John W. Eaton <jwe@gnu.org>.
13747
13748 2010-03-20  Bruno Haible  <bruno@clisp.org>
13749
13750         Ensure no #include statements inside extern "C" { ... }.
13751         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
13752         contain #include statements.
13753         * lib/time.in.h: Likewise.
13754
13755 2010-03-20  Bruno Haible  <bruno@clisp.org>
13756
13757         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
13758         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
13759         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
13760         Reported by John W. Eaton <jwe@gnu.org>.
13761
13762 2010-03-20  Bruno Haible  <bruno@clisp.org>
13763
13764         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
13765         Reported by Jim Meyering.
13766
13767 2010-03-20  Bruno Haible  <bruno@clisp.org>
13768
13769         pipe: Set errno upon failure.
13770         * lib/pipe.h: Specify that when -1 is returned, errno is set.
13771         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
13772         errno value in error message.
13773
13774 2010-03-20  Bruno Haible  <bruno@clisp.org>
13775             Jim Meyering  <meyering@redhat.com>
13776
13777         lchown: Avoid "unused variable" warning.
13778         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
13779
13780 2010-03-20  Bruno Haible  <bruno@clisp.org>
13781
13782         Work around unlink() bug on MacOS X 10.5.6.
13783         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
13784         attempting to unlink a parent directory.
13785         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
13786         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
13787         activate for the replacement function.
13788         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
13789
13790 2010-03-20  Bruno Haible  <bruno@clisp.org>
13791
13792         Fix link errors on Solaris 8.
13793         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
13794         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
13795
13796 2010-03-19  Jim Meyering  <meyering@redhat.com>
13797
13798         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
13799         The _LIBC implementation of build_range_exp correctly honors the
13800         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
13801         However, the non-_LIBC implementation would ignore that syntax-bit
13802         flag and return REG_ERANGE unconditionally.
13803         This change makes it honor that flag.
13804         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
13805         Make two pointer parameters "const".
13806         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
13807         (parse_bracket_exp): Update caller.
13808
13809         regex.m4: correct the reversed range endpoint ([b-a]) test
13810         * m4/regex.m4: When requiring that [b-a] evoke failure,
13811         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
13812         test pass once again for x86-based systems.
13813
13814 2010-03-19  Bruno Haible  <bruno@clisp.org>
13815
13816         scandir: Fix link error on Solaris 8.
13817         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
13818         macros.
13819
13820 2010-03-19  Bruno Haible  <bruno@clisp.org>
13821
13822         getusershell: Fix documentation.
13823         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
13824         module.
13825         * doc/glibc-functions/setusershell.texi: Likewise.
13826
13827         getusershell: Provide declaration, missing on Solaris 9.
13828         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
13829         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
13830         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
13831         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
13832         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13833         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
13834         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
13835         HAVE_GETUSERSHELL.
13836         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
13837
13838 2010-03-19  Bruno Haible  <bruno@clisp.org>
13839
13840         wctype: Provide iswblank function.
13841         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
13842         exists and is fine.
13843         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
13844         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
13845         * tests/test-wctype.c (main): Re-enable the iswblank tests.
13846         * doc/posix-functions/iswblank.texi: Update.
13847
13848 2010-03-19  Bruno Haible  <bruno@clisp.org>
13849
13850         Tests of module 'pty' in C++ mode.
13851         * modules/pty-tests: New file.
13852         * tests/test-pty-c++.cc: New file.
13853         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
13854
13855 2010-03-19  Eric Blake  <eblake@redhat.com>
13856
13857         logb: fix documentation
13858         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
13859         1.5 declaration bug.
13860
13861         forkpty, openpty: prefer glibc's const-safe prototype
13862         * lib/forkpty.c (rpl_forkpty): New file.
13863         * lib/openpty.c (rpl_openpty): Likewise.
13864         * modules/forkpty (Files): Distribute it.
13865         * modules/openpty (Files): Likewise.
13866         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
13867         check...
13868         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
13869         replacement for for non-const BSD signature.
13870         * modules/pty (Makefile.am): Substitute witnesses.
13871         * lib/pty.in.h (forkpty, openpty): Declare replacements.
13872         * tests/test-forkpty.c: Update signature check.
13873         * tests/test-openpty.c: Likewise.
13874         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
13875         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13876
13877         forkpty, openpty: split functions into new modules
13878         * modules/pty (Makefile.am): Substitute new witnesses.
13879         (Libraries): Move library detection...
13880         * modules/forkpty: ...into new module.
13881         * modules/openpty: Another new module.
13882         * modules/pty-tests: Rename and split...
13883         * modules/forkpty-tests: ...to this...
13884         * modules/openpty-tests: ...and this.
13885         * tests/test-pty.c: Rename and split...
13886         * tests/test-forkpty.c: ...to this...
13887         * tests/test-openpty.c: ...and this.
13888         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
13889         (gl_PTY): Split library searching...
13890         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
13891         (gl_FORKPTY, gl_OPENPTY): New macros.
13892         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
13893         * NEWS: Mention the split.
13894         * MODULES.html.sh (Misc): Document the modules.
13895         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
13896         * doc/glibc-functions/openpty.texi (openpty): Likewise.
13897
13898         pty: improve replacement header
13899         * lib/pty.in.h: New file.
13900         * modules/pty (Files): Ship it.
13901         (Makefile.am): Always build replacement.
13902         * m4/pty.m4: Rename...
13903         * m4/pty_h.m4: ...to this.
13904         (gl_PTY): Modernize setting of witness macros; update check of
13905         forkpty to take proper advantage of cache.
13906         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
13907
13908         getopt: avoid compiler warning
13909         * lib/getopt.c (attribute_hidden): Remove unused macro.
13910
13911 2010-03-18  Bruno Haible  <bruno@clisp.org>
13912
13913         Fix link errors on Solaris 8.
13914         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
13915         * modules/search-tests (test_search_c___LDADD): Likewise.
13916         * modules/signal-tests (test_signal_c___LDADD): Likewise.
13917         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
13918         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
13919         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
13920         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
13921         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
13922         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
13923
13924 2010-03-18  Bruno Haible  <bruno@clisp.org>
13925
13926         Fix bug introduced on 2010-03-14.
13927         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
13928         (gl_SPAWN_H): Require it.
13929         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
13930         Reported by Simon Josefsson.
13931
13932 2010-03-18  Bruno Haible  <bruno@clisp.org>
13933
13934         Fix typo introduced on 2009-12-31.
13935         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
13936         posix_spawn_file_actions_adddup2.
13937
13938 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
13939         and Eric Blake  <eblake@redhat.com>
13940
13941         test-vc-list-files-git: make more robust
13942         * tests/test-vc-list-files-git.sh: Unset problematic environment
13943         variables.  Chain commands together.
13944
13945 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
13946
13947         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
13948         `AC_CHECK_DECL' invocation.
13949
13950 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
13951
13952         * lib/inttostr.c (inttostr): Make sure the invocation of verify
13953         appears before executable statements. Suggested by Petr Sumbera
13954         <Petr.Sumbera@Sun.COM>.
13955
13956 2010-03-14  Bruno Haible  <bruno@clisp.org>
13957
13958         * tests/test-flock.c (test_exclusive): Comment out a test that causes
13959         portability problems. Instead use a simpler test.
13960         (main): Check that invalid arguments are rejected only on Linux.
13961
13962 2010-03-14  Bruno Haible  <bruno@clisp.org>
13963
13964         Fix bug introduced on 2009-12-31.
13965         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
13966         gl_PREREQ_SYS_H_WINSOCK2 always.
13967         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
13968         SYS_SOCKET_H variable.
13969         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
13970         Update comments.
13971         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
13972         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13973         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13974         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13975         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13976
13977 2010-03-14  Bruno Haible  <bruno@clisp.org>
13978
13979         Fix values returned by sinl, cosl.
13980         * lib/trigl.h: Add specification comments.
13981         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
13982         that combines the values from the precomputed table with the values of
13983         the Chebyshev polynomials.
13984
13985 2010-03-14  Bruno Haible  <bruno@clisp.org>
13986
13987         Fix compilation error when modules 'posix_spawn[p]' are not used.
13988         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
13989         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
13990
13991 2010-03-14  Bruno Haible  <bruno@clisp.org>
13992
13993         Fix compilation error on mingw when module 'time_r' is not used.
13994         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
13995         is 1.
13996         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
13997         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
13998         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
13999         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
14000
14001 2010-03-14  Bruno Haible  <bruno@clisp.org>
14002
14003         Fix compilation error with Sun C.
14004         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
14005         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
14006         instead of GCC specific ULONG_LONG_MAX.
14007         * lib/xstrtoll.c: Likewise.
14008         * lib/xstrtoull.c: Likewise.
14009
14010 2010-03-13  Bruno Haible  <bruno@clisp.org>
14011
14012         Allow the user to disable C++ code and tests.
14013         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
14014         (gl_PROG_ANSI_CXX): Require it.
14015
14016 2010-03-13  Bruno Haible  <bruno@clisp.org>
14017
14018         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
14019         cases.
14020
14021 2010-03-13  Bruno Haible  <bruno@clisp.org>
14022
14023         Test that gnulib does not break the standard C++ headers.
14024         * tests/test-locale-c++2.cc: New file.
14025         * modules/locale-tests (Files): Add it.
14026         (Makefile.am): Compile it for test-locale-c++.
14027         * tests/test-math-c++2.cc: New file.
14028         * modules/math-tests (Files): Add it.
14029         (Makefile.am): Compile it for test-math-c++.
14030         * tests/test-signal-c++2.cc: New file.
14031         * modules/signal-tests (Files): Add it.
14032         (Makefile.am): Compile it for test-signal-c++.
14033         * tests/test-stdio-c++2.cc: New file.
14034         * modules/stdio-tests (Files): Add it.
14035         (Makefile.am): Compile it for test-stdio-c++.
14036         * tests/test-stdlib-c++2.cc: New file.
14037         * modules/stdlib-tests (Files): Add it.
14038         (Makefile.am): Compile it for test-stdlib-c++.
14039         * tests/test-string-c++2.cc: New file.
14040         * modules/string-tests (Files): Add it.
14041         (Makefile.am): Compile it for test-string-c++.
14042         * tests/test-time-c++2.cc: New file.
14043         * modules/time-tests (Files): Add it.
14044         (Makefile.am): Compile it for test-time-c++.
14045         Reported by John W. Eaton <jwe@gnu.org>.
14046
14047 2010-03-13  Bruno Haible  <bruno@clisp.org>
14048
14049         * gnulib-tool (func_usage): Clarify which options are available for
14050         --create-testdir and --create-megatestdir.
14051
14052 2010-03-13  Bruno Haible  <bruno@clisp.org>
14053
14054         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
14055         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
14056         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
14057         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
14058         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
14059         when appropriate.
14060         Reported by Jim Meyering.
14061
14062 2010-03-12  Simon Josefsson  <simon@josefsson.org>
14063
14064         * gnulib-tool (func_import): Explain origin of code.
14065
14066 2010-03-12  Bruno Haible  <bruno@clisp.org>
14067
14068         Fix problem with automake's definition of CXXLINK.
14069         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
14070         Reported by Simon Josefsson and Ludovic Courtès.
14071
14072 2010-03-12  Bruno Haible  <bruno@clisp.org>
14073
14074         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
14075         stable releases.
14076
14077 2010-03-11  Bruno Haible  <bruno@clisp.org>
14078
14079         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
14080         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
14081         whether the system provides one variant or multiple variants of the
14082         function.
14083         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
14084         C++ compilers.
14085         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
14086         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
14087         Reported by Jim Meyering.
14088
14089 2010-03-09  Simon Josefsson  <simon@josefsson.org>
14090
14091         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
14092
14093 2010-03-08  Bruno Haible  <bruno@clisp.org>
14094
14095         gnulib-tool: Add support for --libtool in --create-testdir.
14096         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
14097         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
14098
14099 2010-03-08  Eric Blake  <eblake@redhat.com>
14100
14101         gnulib-tool.texi: mention possibility of git submodule
14102         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
14103         submodules.
14104         * doc/.gitignore: Ignore another generated file.
14105
14106 2010-03-08  Karl Berry  <karl@gnu.org>
14107
14108         * doc/gnulib-tool.texi (VCS Issues): Mention third option
14109         of committing gnulib files while skipping others.
14110
14111 2010-03-07  Bruno Haible  <bruno@clisp.org>
14112
14113         Tests of module 'wctype' in C++ mode.
14114         * tests/test-wctype-c++.cc: New file.
14115         * modules/wctype-tests (Files): Add it and tests/signature.h.
14116         (Depends-on): Add ansi-c++-opt.
14117         (Makefile.am): Arrange to compile and run test-wctype-c++.
14118
14119         Tests of module 'wchar' in C++ mode.
14120         * tests/test-wchar-c++.cc: New file.
14121         * modules/wchar-tests (Files): Add it and tests/signature.h.
14122         (Depends-on): Add ansi-c++-opt.
14123         (Makefile.am): Arrange to compile and run test-wchar-c++.
14124         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
14125         gl_MODULE_INDICATOR.
14126
14127         Tests of module 'unistd' in C++ mode.
14128         * tests/test-unistd-c++.cc: New file.
14129         * modules/unistd-tests (Files): Add it and tests/signature.h.
14130         (Depends-on): Add ansi-c++-opt.
14131         (Makefile.am): Arrange to compile and run test-unistd-c++.
14132         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
14133         gl_MODULE_INDICATOR.
14134
14135         Tests of module 'time' in C++ mode.
14136         * tests/test-time-c++.cc: New file.
14137         * modules/time-tests (Files): Add it and tests/signature.h.
14138         (Depends-on): Add ansi-c++-opt.
14139         (Makefile.am): Arrange to compile and run test-time-c++.
14140         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14141
14142         Tests of module 'sys_time' in C++ mode.
14143         * tests/test-sys_time-c++.cc: New file.
14144         * modules/sys_time-tests (Files): Add it and tests/signature.h.
14145         (Depends-on): Add ansi-c++-opt.
14146         (Makefile.am): Arrange to compile and run test-sys_time-c++.
14147         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
14148         gl_MODULE_INDICATOR.
14149
14150         Tests of module 'sys_stat' in C++ mode.
14151         * tests/test-sys_stat-c++.cc: New file.
14152         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
14153         (Depends-on): Add ansi-c++-opt.
14154         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
14155         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
14156         gl_MODULE_INDICATOR.
14157
14158         Tests of module 'sys_socket' in C++ mode.
14159         * tests/test-sys_socket-c++.cc: New file.
14160         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
14161         (Depends-on): Add ansi-c++-opt.
14162         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
14163         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
14164         gl_MODULE_INDICATOR.
14165
14166         Tests of module 'sys_select' in C++ mode.
14167         * tests/test-sys_select-c++.cc: New file.
14168         * modules/sys_select-tests (Files): Add it and tests/signature.h.
14169         (Depends-on): Add ansi-c++-opt.
14170         (Makefile.am): Arrange to compile and run test-sys_select-c++.
14171         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
14172         gl_MODULE_INDICATOR.
14173
14174         Tests of module 'sys_ioctl' in C++ mode.
14175         * tests/test-sys_ioctl-c++.cc: New file.
14176         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
14177         (Depends-on): Add ansi-c++-opt.
14178         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
14179         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
14180         gl_MODULE_INDICATOR.
14181
14182         Tests of module 'string' in C++ mode.
14183         * tests/test-string-c++.cc: New file.
14184         * modules/string-tests (Files): Add it and tests/signature.h.
14185         (Depends-on): Add ansi-c++-opt.
14186         (Makefile.am): Arrange to compile and run test-string-c++.
14187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
14188         gl_MODULE_INDICATOR.
14189
14190         Tests of module 'stdlib' in C++ mode.
14191         * tests/test-stdlib-c++.cc: New file.
14192         * modules/stdlib-tests (Files): Add it and tests/signature.h.
14193         (Depends-on): Add ansi-c++-opt.
14194         (Makefile.am): Arrange to compile and run test-stdlib-c++.
14195         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
14196         gl_MODULE_INDICATOR.
14197
14198         Tests of module 'stdio' in C++ mode.
14199         * tests/test-stdio-c++.cc: New file.
14200         * modules/stdio-tests (Files): Add it and tests/signature.h.
14201         (Depends-on): Add ansi-c++-opt.
14202         (Makefile.am): Arrange to compile and run test-stdio-c++.
14203         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
14204         gl_MODULE_INDICATOR.
14205
14206         Tests of module 'spawn' in C++ mode.
14207         * tests/test-spawn-c++.cc: New file.
14208         * modules/spawn-tests (Files): Add it and tests/signature.h.
14209         (Depends-on): Add ansi-c++-opt.
14210         (Makefile.am): Arrange to compile and run test-spawn-c++.
14211         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
14212         gl_MODULE_INDICATOR.
14213
14214         Tests of module 'signal' in C++ mode.
14215         * tests/test-signal-c++.cc: New file.
14216         * modules/signal-tests (Files): Add it and tests/signature.h.
14217         (Depends-on): Add ansi-c++-opt.
14218         (Makefile.am): Arrange to compile and run test-signal-c++.
14219         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
14220         gl_MODULE_INDICATOR.
14221
14222         Tests of module 'search' in C++ mode.
14223         * tests/test-search-c++.cc: New file.
14224         * modules/search-tests (Files): Add it and tests/signature.h.
14225         (Depends-on): Add ansi-c++-opt.
14226         (Makefile.am): Arrange to compile and run test-search-c++.
14227         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
14228         gl_MODULE_INDICATOR.
14229
14230         Tests of module 'math' in C++ mode.
14231         * tests/test-math-c++.cc: New file.
14232         * modules/math-tests (Files): Add it and tests/signature.h.
14233         (Depends-on): Add ansi-c++-opt.
14234         (Makefile.am): Arrange to compile and run test-math-c++.
14235         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
14236
14237         Tests of module 'locale' in C++ mode.
14238         * tests/test-locale-c++.cc: New file.
14239         * modules/locale-tests (Files): Add it and tests/signature.h.
14240         (Depends-on): Add ansi-c++-opt.
14241         (Makefile.am): Arrange to compile and run test-locale-c++.
14242         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
14243         gl_MODULE_INDICATOR.
14244
14245         Tests of module 'langinfo' in C++ mode.
14246         * tests/test-langinfo-c++.cc: New file.
14247         * modules/langinfo-tests (Files): Add it and tests/signature.h.
14248         (Depends-on): Add ansi-c++-opt.
14249         (Makefile.am): Arrange to compile and run test-langinfo-c++.
14250         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
14251         gl_MODULE_INDICATOR.
14252
14253         Tests of module 'iconv-h' in C++ mode.
14254         * tests/test-iconv-h-c++.cc: New file.
14255         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
14256         (Depends-on): Add ansi-c++-opt.
14257         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
14258
14259         Tests of module 'glob' in C++ mode.
14260         * tests/test-glob-c++.cc: New file.
14261         * modules/glob-tests (Files): Add it.
14262         (Depends-on): Add ansi-c++-opt.
14263         (Makefile.am): Arrange to compile and run test-glob-c++.
14264
14265         Tests of module 'fcntl-h' in C++ mode.
14266         * tests/test-fcntl-h-c++.cc: New file.
14267         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
14268         (Depends-on): Add ansi-c++-opt.
14269         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
14270         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
14271         gl_MODULE_INDICATOR.
14272
14273         Tests of module 'dirent' in C++ mode.
14274         * tests/test-dirent-c++.cc: New file.
14275         * modules/dirent-tests (Files): Add it and tests/signature.h.
14276         (Depends-on): Add ansi-c++-opt.
14277         (Makefile.am): Arrange to compile and run test-dirent-c++.
14278         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14279         gl_MODULE_INDICATOR.
14280
14281         New module 'ansi-c++-opt'.
14282         * modules/ansi-c++-opt: New file.
14283         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
14284
14285         Document C++ namespace mode.
14286         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
14287
14288         wctype: Avoid #define replacements in C++ mode.
14289         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
14290         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
14291         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
14292         In C++, define a namespaced alias symbol.
14293         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
14294         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
14295         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
14296         rule.
14297
14298         wchar: Avoid #define replacements in C++ mode.
14299         * lib/wchar.in.h: Include c++defs.h.
14300         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
14301         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
14302         symbol.
14303         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
14304         * modules/wchar (Depends-on): Add c++defs.
14305         (Makefile.am): Update wchar.h rule.
14306
14307         unistd: Avoid #define replacements in C++ mode.
14308         * lib/unistd.in.h: Include c++defs.h.
14309         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
14310         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
14311         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
14312         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
14313         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
14314         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
14315         symbol.
14316         (environ): Update.
14317         * modules/unistd (Depends-on): Add c++defs.
14318         (Makefile.am): Update unistd.h rule.
14319
14320         time: Avoid #define replacements in C++ mode.
14321         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
14322         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
14323         define a namespaced alias symbol.
14324         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
14325         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
14326         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
14327         * modules/time (Depends-on): Add c++defs, warn-on-use.
14328         (Makefile.am): Update time.h rule.
14329         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
14330         * modules/nanosleep (configure.ac): Likewise.
14331         * modules/strptime (configure.ac): Likewise.
14332         * modules/timegm (configure.ac): Likewise.
14333
14334         sys_time: Avoid #define replacements in C++ mode.
14335         * lib/sys_time.in.h: Include c++defs.h.
14336         (gettimeofday): In C++, define a namespaced alias symbol.
14337         * modules/sys_time (Depends-on): Add c++defs.
14338         (Makefile.am): Update sys/time.h rule.
14339
14340         sys_stat: Avoid #define replacements in C++ mode.
14341         * lib/sys_stat.in.h: Include c++defs.h.
14342         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
14343         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
14344         namespaced alias symbol.
14345         In C++, define a namespaced alias symbol.
14346         * modules/sys_stat (Depends-on): Add c++defs.
14347         (Makefile.am): Update sys/stat.h rule.
14348
14349         sys_socket: Avoid #define replacements in C++ mode.
14350         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
14351         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
14352         definitions also when the system has a <sys/socket.h>.
14353         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14354         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
14355         In C++, define a namespaced alias symbol.
14356         * modules/sys_socket (Depends-on): Add c++defs.
14357         (Makefile.am): Update sys/socket.h rule.
14358
14359         sys_select: Avoid #define replacements in C++ mode.
14360         * lib/sys_select.in.h: Include c++defs.h. Enable the function
14361         definitions also when the system has a <sys/select.h>.
14362         (select): In C++, define a namespaced alias symbol.
14363         * modules/sys_select (Depends-on): Add c++defs.
14364         (Makefile.am): Update sys/select.h rule.
14365
14366         sys_ioctl: Avoid #define replacements in C++ mode.
14367         * lib/sys_ioctl.in.h: Include c++defs.h.
14368         (ioctl): In C++, define a namespaced alias symbol.
14369         * modules/sys_ioctl (Depends-on): Add c++defs.
14370         (Makefile.am): Update sys/ioctl.h rule.
14371
14372         string: Avoid #define replacements in C++ mode.
14373         * lib/string.in.h: Include c++defs.h.
14374         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
14375         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
14376         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
14377         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
14378         strsignal, strverscmp): In C++, define a namespaced alias symbol.
14379         * modules/string (Depends-on): Add c++defs.
14380         (Makefile.am): Update string.h rule.
14381
14382         stdlib: Avoid #define replacements in C++ mode.
14383         * lib/stdlib.in.h: Include c++defs.h.
14384         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
14385         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
14386         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
14387         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
14388         symbol.
14389         * modules/stdlib (Depends-on): Add c++defs.
14390         (Makefile.am): Update stdlib.h rule.
14391
14392         stdio: Avoid #define replacements in C++ mode.
14393         * lib/stdio.in.h: Include c++defs.h.
14394         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
14395         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
14396         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
14397         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
14398         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
14399         namespaced alias symbol.
14400         * modules/stdio (Depends-on): Add c++defs.
14401         (Makefile.am): Update stdio.h rule.
14402
14403         spawn: Avoid #define replacements in C++ mode.
14404         * lib/spawn.in.h: Include c++defs.h.
14405         (posix_spawn, posix_spawnp, posix_spawnattr_init,
14406         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
14407         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
14408         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
14409         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
14410         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
14411         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
14412         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
14413         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
14414         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
14415         In C++, define a namespaced alias symbol.
14416         * modules/spawn (Depends-on): Add c++defs.
14417         (Makefile.am): Update spawn.h rule.
14418
14419         signal: Avoid #define replacements in C++ mode.
14420         * lib/signal.in.h: Include c++defs.h.
14421         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
14422         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
14423         namespaced alias symbol.
14424         * modules/signal (Depends-on): Add c++defs.
14425         (Makefile.am): Update signal.h rule.
14426
14427         search: Avoid #define replacements in C++ mode.
14428         * lib/search.in.h: Include c++defs.h.
14429         (_gl_search_compar_fn, _gl_search_action_fn): New types.
14430         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
14431         symbol.
14432         * modules/search (Depends-on): Add c++defs.
14433         (Makefile.am): Update search.h rule.
14434
14435         math: Avoid #define replacements in C++ mode.
14436         * lib/math.in.h: Include c++defs.h.
14437         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
14438         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
14439         trunc, truncl): In C++, define a namespaced alias symbol.
14440         * modules/math (Depends-on): Add c++defs.
14441         (Makefile.am): Update math.h rule.
14442
14443         locale: Avoid #define replacements in C++ mode.
14444         * lib/locale.in.h: Include c++defs.h.
14445         (duplocale): In C++, define a namespaced alias symbol.
14446         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
14447         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
14448         * modules/locale (Depends-on): Add c++defs.
14449         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
14450
14451         langinfo: Avoid #define replacements in C++ mode.
14452         * lib/langinfo.in.h: Include c++defs.h.
14453         (nl_langinfo): In C++, define a namespaced alias symbol.
14454         * modules/langinfo (Depends-on): Add c++defs.
14455         (Makefile.am): Update langinfo.h rule.
14456
14457         iconv-h: Avoid #define replacements in C++ mode.
14458         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
14459         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
14460         symbol.
14461         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14462         whenever iconv is present.
14463         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
14464         (Makefile.am): Update iconv.h rule.
14465
14466         glob: Avoid #define replacements in C++ mode.
14467         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
14468         (_gl_glob_errfunc_fn): New type.
14469         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
14470         symbol.
14471         * modules/glob (Depends-on): Add c++defs, warn-on-use.
14472         (Makefile.am): Update glob.h rule.
14473
14474         fcntl-h: Avoid #define replacements in C++ mode.
14475         * lib/fcntl.in.h: Include c++defs.h.
14476         (fcntl, open, openat): In C++, define a namespaced alias symbol.
14477         * modules/fcntl-h (Depends-on): Add c++defs.
14478         (Makefile.am): Update fcntl.h rule.
14479
14480         dirent: Avoid #define replacements in C++ mode.
14481         * lib/dirent.in.h: Include c++defs.h.
14482         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
14483         namespaced alias symbol.
14484         (dirfd): Update declaration.
14485         * modules/dirent (Depends-on): Add c++defs.
14486         (Makefile.am): Update dirent.h rule.
14487
14488         ctype: Make it usable in C++ code.
14489         * lib/ctype.in.h: Include c++defs.h.
14490         (isblank): Declare as extern "C".
14491         * modules/ctype (Depends-on): Add c++defs.
14492         (Makefile.am): Update ctype.h rule.
14493
14494         New module 'c++defs'.
14495         * modules/c++defs: New file.
14496         * build-aux/c++defs.h: New file.
14497         Reported by John W. Eaton <jwe@gnu.org>.
14498
14499 2010-03-07  Bruno Haible  <bruno@clisp.org>
14500
14501         logb: Provide missing declaration for Cygwin.
14502         * lib/math.in.h (logb): New declaration.
14503         * m4/logb.m4: New file.
14504         * modules/logb (Files): Add m4/logb.m4.
14505         (Depends-on): Add math.
14506         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
14507         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
14508         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
14509         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
14510         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
14511
14512 2010-03-07  Bruno Haible  <bruno@clisp.org>
14513
14514         Fix test-cond link error.
14515         * tests/test-cond.c: Include <stdio.h>.
14516
14517 2010-03-07  Bruno Haible  <bruno@clisp.org>
14518
14519         Fix test-dirent-safer link error.
14520         * modules/dirent-safer-tests (Makefile.am): Define
14521         test_dirent_safer_LDADD.
14522
14523 2010-03-07  Bruno Haible  <bruno@clisp.org>
14524
14525         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
14526         among default module list.
14527
14528 2010-03-07  Bruno Haible  <bruno@clisp.org>
14529
14530         Fix link error on platforms with GNU libiconv.
14531         * modules/unistr/u8-strcoll-tests (Makefile): Define
14532         test_u8_strcoll_LDADD.
14533         * modules/unistr/u16-strcoll-tests (Makefile): Define
14534         test_u16_strcoll_LDADD.
14535         * modules/unistr/u32-strcoll-tests (Makefile): Define
14536         test_u32_strcoll_LDADD.
14537
14538 2010-03-07  Bruno Haible  <bruno@clisp.org>
14539
14540         Use POSIX declarations for socket functions.
14541         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
14542         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
14543         rpl_sendto): Change declaration to match POSIX.
14544         * lib/connect.c (rpl_connect): Likewise.
14545         * lib/accept.c (rpl_accept): Likewise.
14546         * lib/bind.c (rpl_bind): Likewise.
14547         * lib/getpeername.c (rpl_getpeername): Likewise.
14548         * lib/getsockname.c (rpl_getsockname): Likewise.
14549         * lib/recv.c (rpl_recv): Likewise.
14550         * lib/send.c (rpl_send): Likewise.
14551         * lib/recvfrom.c (rpl_recvfrom): Likewise.
14552         * lib/sendto.c (rpl_sendto): Likewise.
14553
14554 2010-03-06  Bruno Haible  <bruno@clisp.org>
14555
14556         Clarify access, euidaccess, faccessat.
14557         * doc/posix-functions/faccessat.texi: Mention security problem under
14558         "Other problems", not "Portability problems".
14559         * doc/posix-functions/access.texi: Likewise. Mention a related security
14560         problem.
14561         * doc/glibc-functions/euidaccess.texi: Mention security problems.
14562         * lib/euidaccess.c: Add comments about platforms.
14563         * lib/unistd.in.h (access, euidaccess): Add warnings.
14564
14565 2010-03-07  Bruno Haible  <bruno@clisp.org>
14566
14567         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
14568         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
14569         (POSIX_SPAWN_SETSCHEDULER): Likewise.
14570         (POSIX_SPAWN_USEVFORK): Define in a way that works when
14571         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14572         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
14573         declare when POSIX_SPAWN_SETSCHEDULER is zero.
14574         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
14575         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
14576         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
14577         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
14578         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
14579         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
14580         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
14581         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
14582         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
14583         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
14584         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
14585         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
14586         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
14587         Likewise.
14588         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
14589         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
14590         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
14591         Likewise.
14592         * tests/test-spawn.c (main): Make it work when
14593         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
14594
14595 2010-03-07  Bruno Haible  <bruno@clisp.org>
14596
14597         Fix incorrect Makefile.am generation in German locale.
14598         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14599         Execute sed command with character range in C locale.
14600
14601 2010-03-06  Bruno Haible  <bruno@clisp.org>
14602
14603         Tests for module 'iconv-h'.
14604         * modules/iconv-h-tests: New file.
14605         * tests/test-iconv-h.c: New file.
14606
14607         New module 'iconv-h'.
14608         * modules/iconv-h: New file.
14609         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
14610         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
14611         (configure.ac): Remove gl_ICONV_H.
14612         (Makefile.am): Remove rule for iconv.h.
14613
14614 2010-03-06  Bruno Haible  <bruno@clisp.org>
14615
14616         More consistent naming of *.m4 files.
14617         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
14618         * modules/wctype (Files): Update.
14619
14620         More consistent naming of *.m4 files.
14621         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
14622         * modules/wchar (Files): Update.
14623
14624 2010-03-06  Jim Meyering  <meyering@redhat.com>
14625
14626         euidaccess: relax license to LGPLv2+
14627         * modules/euidaccess (License): Relax to LGPLv2+.
14628
14629 2010-03-06  Bruno Haible  <bruno@clisp.org>
14630
14631         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
14632         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
14633         (Makefile.am): Augment lib_SOURCES instead.
14634
14635 2010-03-04  Jim Meyering  <meyering@redhat.com>
14636
14637         utime: remove obsolete module
14638         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
14639         unnecessary for years, and has been marked as obsolete for 10 months.
14640         * modules/utime: Remove file.
14641         * lib/utime.c: Remove file.
14642         * m4/utime.m4: Remove file.
14643         * m4/utimes-null.m4: Remove file.
14644         * doc/posix-functions/utime.texi (utime): Remove reference to
14645         the module.  Move the sole "fixed by gnulib" item into the
14646         "problems not fixed by Gnulib" list.
14647         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
14648
14649 2010-03-05  Simon Josefsson  <simon@josefsson.org>
14650
14651         * modules/exit (License): Relax license to LGPLv2+.
14652         (Status): Mark as obsolete.
14653         * NEWS: Mention deprecated 'exit' module.
14654         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
14655         of now obsolete 'exit'.
14656
14657 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14658
14659         fts-lgpl: remove unused module
14660         * modules/fts-lgpl: Remove.
14661         * MODULES.html.sh (func_all_modules): Adjust.
14662         * check-module (find_included_lib_files): Adjust.
14663         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
14664
14665 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
14666
14667         copy-acl: enhance Solaris ACL error handling
14668         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
14669         * lib/set-mode-acl.c (qset_acl): Likewise.
14670
14671 2010-03-02  Bruno Haible  <bruno@clisp.org>
14672
14673         spawn: Don't override the system defined values on FreeBSD 8.
14674         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
14675         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
14676         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
14677         if HAVE_POSIX_SPAWN is 1.
14678         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
14679
14680 2010-03-01  Bruno Haible  <bruno@clisp.org>
14681
14682         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
14683         regarding Automake.
14684
14685 2010-02-25  Bruno Haible  <bruno@clisp.org>
14686
14687         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
14688         * gnulib-tool: Define 'echo' as a function only before the ksh alias
14689         setting, not afterwards.
14690         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
14691
14692 2010-02-24  Eric Blake  <eblake@redhat.com>
14693
14694         bootstrap, git-version-gen: use timestamp
14695         * build-aux/git-version-gen (scriptversion): Force UTC.
14696         * build-aux/bootstrap (scriptversion): New variable.
14697
14698         bootstrap: allow older git
14699         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
14700         older than 1.6.4.  Requested by the libvirt project.
14701
14702 2010-02-23  Eric Blake  <eblake@redhat.com>
14703
14704         warn-on-use: work with old autoconf
14705         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
14706         AS_VAR semantics of autoconf 2.60.
14707         Reported by Bruno Haible.
14708
14709         bootstrap: improve some comments
14710         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
14711         clarification comments.
14712
14713         gettimeofday: provide correct function
14714         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
14715         when replacement is declared, otherwise provide gettimeofday.
14716         Reported by Michael Goffioul.
14717
14718 2010-02-23  Jim Meyering  <meyering@redhat.com>
14719
14720         lib-ignore: relax license to "unlimited", not LGPLv2+
14721         * modules/lib-ignore (License): Relax to "unlimited".
14722
14723 2010-02-23  Jim Meyering  <meyering@redhat.com>
14724
14725         lib-ignore: relax license to LGPLv2+
14726         * modules/lib-ignore (License): Relax to LGPLv2+.
14727
14728 2010-02-22  Eric Blake  <eblake@redhat.com>
14729
14730         lseek: avoid bash 3.2 broken pipe bug
14731         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
14732         warning from bash 3.2.
14733         Reported by Ben Pfaff, with analysis from Bruno Haible.
14734
14735         bootstrap: support non-FSF copyright holder
14736         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
14737         bootstrap.conf override of COPYRIGHT_HOLDER.
14738         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
14739
14740         bootstrap: interoperate with gettext 0.14.1
14741         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
14742
14743         bootstrap: allow for alternate submodule location
14744         * build-aux/bootstrap (gnulib_path): New variable; use instead of
14745         hardcoding submodule location.
14746         (gnulib_mk): Allow direct use of Makefile.am.
14747
14748         bootstrap: use GNULIB_SRCDIR to reduce disk usage
14749         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
14750         rather than reconfiguring where the submodule points.
14751
14752         gettimeofday: restore support for platforms that lack function
14753         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
14754         replacement if function is missing.
14755         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
14756         * modules/sys_time (Makefile.am): Substitute it.
14757         * lib/sys_time.in.h (gettimeofday): Check it.
14758         Reported by Michael Goffioul.
14759
14760 2010-02-21  Bruno Haible  <bruno@clisp.org>
14761
14762         * lib/stdio.in.h (obstack_printf): Fix typo.
14763
14764 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
14765
14766         vc-list-files: use bzr ls's -R option
14767         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
14768         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
14769
14770 2010-02-21  Jim Meyering  <meyering@redhat.com>
14771
14772         init.sh: fix EXEEXT shims to work also for names like test-prog
14773         * tests/init.sh: Re-exec a better shell, when needed.
14774         If the current shell lacks support for posix $(...), an init.sh-using
14775         test will now try to find a shell that supports that.  If EXEEXT is
14776         nonempty, we also require support for hyphen-in-alias-name and shell
14777         substitutions like ${var#glob}.  Failure to find such a shell results
14778         in a skipped test.
14779
14780 2010-02-21  Bruno Haible  <bruno@clisp.org>
14781
14782         Really work around around "broken pipe" error message from bash 3.2.
14783         * gnulib-tool (func_reset_sigpipe): Remove function.
14784         (echo): In bash 3.2, define to a function that uses printf.
14785         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
14786
14787 2010-02-20  Bruno Haible  <bruno@clisp.org>
14788
14789         Restore support for automake 1.9.6 with autoconf 2.61.
14790         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
14791         Reported by James Youngman <jay@gnu.org>.
14792
14793 2010-02-20  Bruno Haible  <bruno@clisp.org>
14794
14795         Improve *printf warning condition.
14796         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
14797         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
14798         and the function is overridden due to SIGPIPE emulation.
14799
14800 2010-02-20  Bruno Haible  <bruno@clisp.org>
14801
14802         * lib/stdio.in.h: Tweak comments.
14803
14804 2010-02-19  Bruno Haible  <bruno@clisp.org>
14805
14806         Make it easier to find modules. New gnulib-tool option '--find'.
14807         * gnulib-tool: New option --find.
14808         (func_usage): Document it.
14809         (func_sanitize_modulelist): New function, extracted from
14810         func_all_modules.
14811         (func_all_modules): Invoke it.
14812         * doc/gnulib-tool.texi (Which modules?): New node.
14813
14814 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
14815
14816         * lib/sys_select.in.h: Provide select replacement even if
14817         sys/select.h exists on a system, for Interix.
14818
14819 2010-02-18  Jim Meyering  <meyering@redhat.com>
14820
14821         init.sh: don't use $(...) just yet
14822         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
14823         to accommodate e.g., Solaris' /bin/sh.
14824
14825 2010-02-17  Bruno Haible  <bruno@clisp.org>
14826
14827         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
14828         Reported by Ludovic Courtès <ludo@gnu.org>.
14829
14830 2010-02-16  Simon Josefsson  <simon@josefsson.org>
14831
14832         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
14833         linking with -lintl.
14834
14835 2010-02-17  Simon Josefsson  <simon@josefsson.org>
14836
14837         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
14838         if not provided by the system's netdb.h.  Reported by
14839         ludo@gnu.org (Ludovic Courtès).
14840
14841 2010-02-15  Jim Meyering  <meyering@redhat.com>
14842
14843         init.sh: improve portability and efficiency
14844         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
14845         "dummy" in a for loop.
14846         Use '!', not '^' to select the complement of a character set used
14847         in a "case" statement.
14848         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
14849         Suggestions from Eric Blake.
14850
14851         init.sh: automatically accommodate programs with the .exe suffix
14852         Automatically arrange for an invocation of "prog" to execute the
14853         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
14854         may use the simpler "prog", yet still work when built on a system
14855         that requires specifying the added suffix.
14856         Do this by constructing a function named "prog" that invokes
14857         "prog.exe" for each .exe file in selected directories.
14858         * tests/init.sh (find_exe_basenames_): New function.
14859         (create_exe_shim_functions_): New function.
14860         (path_prepend_): Use it.
14861
14862         maint.mk: mark syntax-check sc_*.m rules as .PHONY
14863         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
14864         "make -t syntax-check" doesn't create a ton of sc_*.m files.
14865
14866 2010-02-14  Jim Meyering  <meyering@redhat.com>
14867
14868         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
14869         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
14870         (sc_prohibit_hash_pjw_without_use): New rule.
14871
14872         maint.mk: allow the default upload destination dir to be overridden
14873         * top/maint.mk (upload_dest_dir_): Define with a default that
14874         preserves the status quo.
14875         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
14876         Reported by Peter Simons.
14877
14878         maint.mk: prohibit inclusion of "hash.h" without_use
14879         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
14880
14881 2010-02-10  Jim Meyering  <meyering@redhat.com>
14882
14883         maint.mk: prohibit inclusion of "ignore-value.h" without_use
14884         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
14885
14886 2010-02-09  Eric Blake  <ebb9@byu.net>
14887         and Bruno Haible  <bruno@clisp.org>
14888
14889         obstack-printf-posix: ensure declaration
14890         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
14891         extracted from gl_FUNC_OBSTACK_PRINTF.
14892         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
14893         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
14894         Likewise.
14895         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
14896         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
14897         0.
14898
14899 2010-02-08  Bruno Haible  <bruno@clisp.org>
14900
14901         gnulib-tool: Fix typo in 2010-02-07 commit.
14902         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
14903         Reported by Eric Blake.
14904
14905 2010-02-07  Bruno Haible  <bruno@clisp.org>
14906
14907         gnulib-tool: Fix up caching patches.
14908         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
14909         option --no-cache. Use associative arrays when supported by the shell.
14910         (sed_comments): New variable.
14911         (modcache): Renamed from do_cache.
14912         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
14913         abbreviate unnecessarily.
14914         (have_associative): New variable.
14915         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
14916         way also for ksh and zsh.
14917         (func_init_sed_convert_to_cache_statements): New function, extracted
14918         from func_cache_lookup_module. Add support for associative arrays.
14919         Don't set the c_MODULE_cached variable here. Ignore all lines before
14920         the first field header. Remove only the final newline, not all trailing
14921         newlines. Support empty fields correctly. Limit the use of 'eval' to
14922         assignments.
14923         (func_get_description, func_get_status, func_get_notice,
14924         func_get_applicability, func_get_filelist, func_get_dependencies,
14925         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
14926         func_get_automake_snippet, func_get_include_directive,
14927         func_get_link_directive, func_get_license, func_get_maintainer):
14928         Update documentation. List the unoptimized code first. Add support for
14929         associative arrays. Limit the use of 'eval' to assignments.
14930         (func_get_applicability): Undo stylistic pessimisations.
14931         (func_get_automake_snippet, func_get_include_directive): Reduce code
14932         duplication.
14933         (func_modules_transitive_closure, func_modules_add_dummy,
14934         func_modules_notice, func_modules_to_filelist, func_add_file,
14935         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
14936         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
14937         func_create_testdir, func_create_megatestdir): Update documentation.
14938
14939 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14940
14941         * gnulib-tool (func_cache_lookup_module): Store the module name
14942         belonging to the cache variable; error out if two different
14943         module names map to the same cache variable name.
14944
14945 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14946
14947         gnulib-tool: Make caching optional.
14948         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
14949         Update matching short versions of --no-changelog.
14950         (func_usage): Update.
14951         (sed_extract_cache_prog): Renamed from ...
14952         (sed_extract_prog): ... this; revert to old extraction script.
14953         (func_get_description, func_get_status)
14954         (func_get_notice, func_get_applicability, func_get_filelist)
14955         (func_get_dependencies, func_get_autoconf_early_snippet)
14956         (func_get_autoconf_snippet, func_get_automake_snippet)
14957         (func_get_include_directive, func_get_link_directive)
14958         (func_get_license, func_get_maintainer): If $do_cache is false,
14959         use old, non-caching extraction scripts.
14960         Suggestion by Bruno Haible.
14961
14962 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14963
14964         gnulib-tool: cache module metainformation.
14965         * gnulib-tool (sed_extract_prog): Match newline before each
14966         header, and rewrite header to a shell variable suffix.
14967         (func_cache_var, func_cache_lookup_module): New functions,
14968         to turn a module name into a cache variable prefix, and to
14969         look up and cache module metainformation.
14970         (func_get_description, func_get_status)
14971         (func_get_notice, func_get_applicability, func_get_filelist)
14972         (func_get_dependencies, func_get_autoconf_early_snippet)
14973         (func_get_autoconf_snippet, func_get_automake_snippet)
14974         (func_get_include_directive, func_get_link_directive)
14975         (func_get_license, func_get_maintainer): Use
14976         func_cache_lookup_module.
14977
14978 2010-02-07  Bruno Haible  <bruno@clisp.org>
14979
14980         fnctl: Fix missing dependency.
14981         * modules/fcntl (Depends-on): Add getdtablesize.
14982         Reported by John W. Eaton <jwe@gnu.org>.
14983
14984 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14985
14986         Argp: fix recognition of short alias options.
14987
14988         * lib/argp-parse.c (convert_options): Fix improper use of
14989         `|' between character values.
14990         * tests/test-argp.c (group1_option): New alias option
14991         --read (-r).
14992         (group1_parser): Special handling for 'r'.
14993         (test15): New test case.
14994         (test_fun): Add test15.
14995         * tests/test-argp-2.sh: Update expected --help and --usage
14996         outputs.
14997
14998 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
14999
15000         * tests/test-argp.c: Fix indentation.
15001
15002 2010-02-04  Eric Blake  <ebb9@byu.net>
15003
15004         gettimeofday: expose type of second argument
15005         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
15006         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
15007         * tests/test-gettimeofday.c: Use it to silence warning.
15008         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
15009         the issue.
15010
15011 2010-02-03  Jim Meyering  <meyering@redhat.com>
15012
15013         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
15014         * lib/regcomp.c (TYPE_SIGNED): Define.
15015         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
15016
15017         regcomp.c: avoid a new -Wshadow warning
15018         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
15019
15020 2010-02-01  Jim Meyering  <meyering@redhat.com>
15021
15022         removing useless parentheses in cpp #define directives
15023         For motivation, see commit c0221df4, "define STREQ(a,b)
15024         consistently, removing useless parentheses"
15025         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
15026         * lib/mountlist.c (MNT_IGNORE): Likewise.
15027         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
15028
15029 2010-02-01  Eric Blake  <ebb9@byu.net>
15030
15031         sys_time: use link-warning
15032         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
15033         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
15034         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
15035         * modules/sys_time (Depends-on): Add warn-on-use.
15036         (Makefile.am): Always build replacement.
15037         (configure.ac): Update substitutions.
15038         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
15039         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
15040         bother with SYS_TIME_H.
15041         * modules/gettimeofday (configure.ac): Declare indicator.
15042         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
15043         in use.
15044
15045         closein-tests: silence compiler warning
15046         * tests/test-closein.c (main): Ignore fread result.
15047         * modules/closein-tests (Depends-on): Add ignore-value.
15048
15049         tests: silence warning about system return
15050         * tests/test-areadlink-with-size.c (main): Ignore system result.
15051         * tests/test-areadlink.c (main): Likewise.
15052         * tests/test-areadlinkat-with-size.c (main): Likewise.
15053         * tests/test-areadlinkat.c (main): Likewise.
15054         * tests/test-canonicalize-lgpl.c (main): Likewise.
15055         * tests/test-canonicalize.c (main): Likewise.
15056         * tests/test-chown.c (main): Likewise.
15057         * tests/test-fchownat.c (main): Likewise.
15058         * tests/test-fdutimensat.c (main): Likewise.
15059         * tests/test-fstatat.c (main): Likewise.
15060         * tests/test-futimens.c (main): Likewise.
15061         * tests/test-lchown.c (main): Likewise.
15062         * tests/test-link.c (main): Likewise.
15063         * tests/test-linkat.c (main): Likewise.
15064         * tests/test-lstat.c (main): Likewise.
15065         * tests/test-mkdir.c (main): Likewise.
15066         * tests/test-mkdirat.c (main): Likewise.
15067         * tests/test-mkfifo.c (main): Likewise.
15068         * tests/test-mkfifoat.c (main): Likewise.
15069         * tests/test-mknod.c (main): Likewise.
15070         * tests/test-readlink.c (main): Likewise.
15071         * tests/test-remove.c (main): Likewise.
15072         * tests/test-rename.c (main): Likewise.
15073         * tests/test-renameat.c (main): Likewise.
15074         * tests/test-rmdir.c (main): Likewise.
15075         * tests/test-symlink.c (main): Likewise.
15076         * tests/test-symlinkat.c (main): Likewise.
15077         * tests/test-unlink.c (main): Likewise.
15078         * tests/test-unlinkat.c (main): Likewise.
15079         * tests/test-utimens.c (main): Likewise.
15080         * tests/test-utimensat.c (main): Likewise.
15081         * modules/areadlink-tests (Depends-on): Add ignore-value.
15082         * modules/areadlink-with-size-tests (Depends-on): Likewise.
15083         * modules/areadlinkat-tests (Depends-on): Likewise.
15084         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
15085         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15086         * modules/canonicalize-tests (Depends-on): Likewise.
15087         * modules/chown-tests (Depends-on): Likewise.
15088         * modules/fdutimensat-tests (Depends-on): Likewise.
15089         * modules/futimens-tests (Depends-on): Likewise.
15090         * modules/lchown-tests (Depends-on): Likewise.
15091         * modules/link-tests (Depends-on): Likewise.
15092         * modules/linkat-tests (Depends-on): Likewise.
15093         * modules/lstat-tests (Depends-on): Likewise.
15094         * modules/mkdir-tests (Depends-on): Likewise.
15095         * modules/mkfifo-tests (Depends-on): Likewise.
15096         * modules/mkfifoat-tests (Depends-on): Likewise.
15097         * modules/mknod-tests (Depends-on): Likewise.
15098         * modules/openat-tests (Depends-on): Likewise.
15099         * modules/readlink-tests (Depends-on): Likewise.
15100         * modules/remove-tests (Depends-on): Likewise.
15101         * modules/rename-tests (Depends-on): Likewise.
15102         * modules/renameat-tests (Depends-on): Likewise.
15103         * modules/rmdir-tests (Depends-on): Likewise.
15104         * modules/symlink-tests (Depends-on): Likewise.
15105         * modules/symlinkat-tests (Depends-on): Likewise.
15106         * modules/unlink-tests (Depends-on): Likewise.
15107         * modules/utimens-tests (Depends-on): Likewise.
15108         * modules/utimensat-tests (Depends-on): Likewise.
15109
15110 2010-01-31  Bruno Haible  <bruno@clisp.org>
15111
15112         Perform the same test for many <math.h> functions.
15113         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
15114         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
15115         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
15116         of gl_MATHFUNC.
15117         * modules/acos (configure.ac): Likewise.
15118         * modules/asin (configure.ac): Likewise.
15119         * modules/atan (configure.ac): Likewise.
15120         * modules/atan2 (configure.ac): Likewise.
15121         * modules/cbrt (configure.ac): Likewise.
15122         * modules/copysign (configure.ac): Likewise.
15123         * modules/cos (configure.ac): Likewise.
15124         * modules/cosh (configure.ac): Likewise.
15125         * modules/erf (configure.ac): Likewise.
15126         * modules/erfc (configure.ac): Likewise.
15127         * modules/exp (configure.ac): Likewise.
15128         * modules/fmod (configure.ac): Likewise.
15129         * modules/hypot (configure.ac): Likewise.
15130         * modules/j0 (configure.ac): Likewise.
15131         * modules/j1 (configure.ac): Likewise.
15132         * modules/jn (configure.ac): Likewise.
15133         * modules/lgamma (configure.ac): Likewise.
15134         * modules/log (configure.ac): Likewise.
15135         * modules/log10 (configure.ac): Likewise.
15136         * modules/log1p (configure.ac): Likewise.
15137         * modules/pow (configure.ac): Likewise.
15138         * modules/remainder (configure.ac): Likewise.
15139         * modules/sin (configure.ac): Likewise.
15140         * modules/sinh (configure.ac): Likewise.
15141         * modules/tan (configure.ac): Likewise.
15142         * modules/tanh (configure.ac): Likewise.
15143         * modules/y0 (configure.ac): Likewise.
15144         * modules/y1 (configure.ac): Likewise.
15145         * modules/yn (configure.ac): Likewise.
15146         Suggested by Paolo Bonzini.
15147
15148 2010-01-31  Bruno Haible  <bruno@clisp.org>
15149
15150         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
15151
15152 2010-01-31  Bruno Haible  <bruno@clisp.org>
15153
15154         Work around getdelim() bug on FreeBSD 8.0.
15155         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
15156         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
15157         not work.
15158         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
15159         is 1.
15160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
15161         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
15162         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
15163         a non-zero size.
15164         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
15165
15166 2010-01-31  Bruno Haible  <bruno@clisp.org>
15167
15168         Work around getline() bug on FreeBSD 8.0.
15169         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
15170         and a non-zero size.
15171         * tests/test-getline.c (main): Likewise.
15172         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
15173         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
15174
15175 2010-01-28  Eric Blake  <ebb9@byu.net>
15176
15177         regex: fix build failure
15178         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
15179         platforms.
15180
15181 2010-01-28  Jim Meyering  <meyering@redhat.com>
15182
15183         regex: do not ignore memory allocation failure
15184         * lib/regex_internal.c (create_cd_newstate): Detect
15185         re_node_set_init_copy failure.   Extracted from glibc commit
15186         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15187
15188         regex: sync more white-space changes from libc
15189         * lib/regex_internal.c: White-space only changes.
15190         * lib/regexec.c: Likewise.
15191
15192         regex: add many uses of __attribute_warn_unused_result__
15193         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
15194         * lib/regexec.c: Likewise.
15195         Extracted from a messy glibc commit.
15196
15197         regcomp.c: spelling and merge-artifact from glibc
15198         * lib/regcomp.c: Merge remainder of glibc's
15199         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15200
15201         regcomp.c: sync white-space changes from glibc
15202         * lib/regcomp.c: Merge to accommodate white space
15203         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
15204
15205         regcomp.c: do not ignore internal return values
15206         * lib/regcomp.c: Do not ignore internal return values.
15207         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
15208         but without its white-space changes and spelling fixes.
15209
15210         regex_internal.h: define __attribute_warn_unused_result__
15211         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
15212
15213         maint: add a syntax-check rule to check for vulnerable Makefile.in
15214         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
15215
15216 2010-01-27  Jim Meyering  <meyering@redhat.com>
15217
15218         ncftpput-ftp: clean up spaces
15219         * build-aux/ncftpput-ftp: Make Copyright line consistent.
15220         Remove trailing blanks.
15221
15222 2010-01-27  Simon Josefsson  <simon@josefsson.org>
15223
15224         * build-aux/git-version-gen: Fix copyright statement.
15225         * build-aux/gnupload: Likewise.
15226         * tests/test-arcfour.c: Likewise.
15227         * tests/test-arctwo.c: Likewise.
15228         * tests/test-count-one-bits.c: Likewise.
15229         * tests/test-crc.c: Likewise.
15230         * tests/test-des.c: Likewise.
15231         * tests/test-gc-arcfour.c: Likewise.
15232         * tests/test-gc-arctwo.c: Likewise.
15233         * tests/test-gc-des.c: Likewise.
15234         * tests/test-gc-hmac-md5.c: Likewise.
15235         * tests/test-gc-hmac-sha1.c: Likewise.
15236         * tests/test-gc-md2.c: Likewise.
15237         * tests/test-gc-md4.c: Likewise.
15238         * tests/test-gc-md5.c: Likewise.
15239         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15240         * tests/test-gc-rijndael.c: Likewise.
15241         * tests/test-gc-sha1.c: Likewise.
15242         * tests/test-gc.c: Likewise.
15243         * tests/test-gethostname.c: Likewise.
15244         * tests/test-gettimeofday.c: Likewise.
15245         * tests/test-hash.c: Likewise.
15246         * tests/test-hmac-md5.c: Likewise.
15247         * tests/test-hmac-sha1.c: Likewise.
15248         * tests/test-md2.c: Likewise.
15249         * tests/test-md4.c: Likewise.
15250         * tests/test-md5.c: Likewise.
15251         * tests/test-memchr.c: Likewise.
15252         * tests/test-memchr2.c: Likewise.
15253         * tests/test-memcmp.c: Likewise.
15254         * tests/test-memmem.c: Likewise.
15255         * tests/test-memrchr.c: Likewise.
15256         * tests/test-rawmemchr.c: Likewise.
15257         * tests/test-read-file.c: Likewise.
15258         * tests/test-rijndael.c: Likewise.
15259         * tests/test-sockets.c: Likewise.
15260         * tests/test-strchrnul.c: Likewise.
15261         * tests/test-strstr.c: Likewise.
15262         * tests/test-strtod.c: Likewise.
15263         * build-aux/ncftpput-ftp: Likewise.
15264
15265 2010-01-26  Eric Blake  <ebb9@byu.net>
15266
15267         ignore-value: update recommended header name
15268         * modules/ignore-value (Include): Only use <> for headers that
15269         exist in glibc.
15270
15271 2010-01-26  Jim Meyering  <meyering@redhat.com>
15272
15273         test-userspec.c: avoid compiler warnings
15274         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
15275         and "initialization discards qualifiers..." warnings.
15276         Put the first "uid" in its own scope, and make char* members "const".
15277
15278 2010-01-25  Bruno Haible  <bruno@clisp.org>
15279
15280         gnulib-tool: Make warning diagnostics consistent.
15281         * gnulib-tool (func_warning): New function.
15282         Use it everywhere where gnulib-tool produces output to stderr and it is
15283         not a fatal error.
15284
15285 2010-01-25  Bruno Haible  <bruno@clisp.org>
15286
15287         Fix test dependencies.
15288         * modules/xstrtol-tests (Depends-on): Add inttypes.
15289         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
15290
15291 2010-01-25 Pádraig Brady <P@draigBrady.com>
15292
15293         syntax-check: detect incorrect boolean macro values in config.h
15294         * modules/maintainer-makefile (configure.ac): Parameterize the location
15295         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
15296         The logic is from Eric Blake and the location indicated by Jim Meyering.
15297         Note the more natural CONFIG_HEADER name is prohibited by automake
15298         for backwards compatibility reasons.
15299         * top/maint.mk (sc_Wundef_boolean): New rule.
15300
15301 2010-01-25  Jim Meyering  <meyering@redhat.com>
15302
15303         bootstrap: detect MacOS 10.6's shasum, too
15304         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
15305         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
15306
15307 2010-01-23  Jim Meyering  <meyering@redhat.com>
15308
15309         xstrtoll: new module
15310         * modules/xstrtoll: New file.
15311         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
15312         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
15313         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
15314         ./configure fails if you use this module and lack "long long".
15315         * modules/xstrtoll-tests: New module.
15316         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
15317         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
15318         new init.sh-based test framework.
15319
15320 2010-01-24  Bruno Haible  <bruno@clisp.org>
15321
15322         Tests for module 'yn'.
15323         * modules/yn-tests: New file.
15324         * tests/test-yn.c: New file.
15325
15326         Tests for module 'y1'.
15327         * modules/y1-tests: New file.
15328         * tests/test-y1.c: New file.
15329
15330         Tests for module 'y0'.
15331         * modules/y0-tests: New file.
15332         * tests/test-y0.c: New file.
15333
15334         Tests for module 'tanh'.
15335         * modules/tanh-tests: New file.
15336         * tests/test-tanh.c: New file.
15337
15338         Tests for module 'tan'.
15339         * modules/tan-tests: New file.
15340         * tests/test-tan.c: New file.
15341
15342         Tests for module 'sqrt'.
15343         * modules/sqrt-tests: New file.
15344         * tests/test-sqrt.c: New file.
15345
15346         Tests for module 'sinh'.
15347         * modules/sinh-tests: New file.
15348         * tests/test-sinh.c: New file.
15349
15350         Tests for module 'sin'.
15351         * modules/sin-tests: New file.
15352         * tests/test-sin.c: New file.
15353
15354         Tests for module 'rint'.
15355         * modules/rint-tests: New file.
15356         * tests/test-rint.c: New file.
15357
15358         Tests for module 'remainder'.
15359         * modules/remainder-tests: New file.
15360         * tests/test-remainder.c: New file.
15361
15362         Tests for module 'pow'.
15363         * modules/pow-tests: New file.
15364         * tests/test-pow.c: New file.
15365
15366         Tests for module 'nextafter'.
15367         * modules/nextafter-tests: New file.
15368         * tests/test-nextafter.c: New file.
15369
15370         Tests for module 'modf'.
15371         * modules/modf-tests: New file.
15372         * tests/test-modf.c: New file.
15373
15374         Tests for module 'logb'.
15375         * modules/logb-tests: New file.
15376         * tests/test-logb.c: New file.
15377
15378         Tests for module 'log1p'.
15379         * modules/log1p-tests: New file.
15380         * tests/test-log1p.c: New file.
15381
15382         Tests for module 'log10'.
15383         * modules/log10-tests: New file.
15384         * tests/test-log10.c: New file.
15385
15386         Tests for module 'log'.
15387         * modules/log-tests: New file.
15388         * tests/test-log.c: New file.
15389
15390         Tests for module 'lgamma'.
15391         * modules/lgamma-tests: New file.
15392         * tests/test-lgamma.c: New file.
15393
15394         Tests for module 'ldexp'.
15395         * modules/ldexp-tests: New file.
15396         * tests/test-ldexp.c: New file.
15397
15398         Tests for module 'jn'.
15399         * modules/jn-tests: New file.
15400         * tests/test-jn.c: New file.
15401
15402         Tests for module 'j1'.
15403         * modules/j1-tests: New file.
15404         * tests/test-j1.c: New file.
15405
15406         Tests for module 'j0'.
15407         * modules/j0-tests: New file.
15408         * tests/test-j0.c: New file.
15409
15410         Tests for module 'hypot'.
15411         * modules/hypot-tests: New file.
15412         * tests/test-hypot.c: New file.
15413
15414         Tests for module 'fmod'.
15415         * modules/fmod-tests: New file.
15416         * tests/test-fmod.c: New file.
15417
15418         Tests for module 'fabs'.
15419         * modules/fabs-tests: New file.
15420         * tests/test-fabs.c: New file.
15421
15422         Tests for module 'exp'.
15423         * modules/exp-tests: New file.
15424         * tests/test-exp.c: New file.
15425
15426         Tests for module 'erfc'.
15427         * modules/erfc-tests: New file.
15428         * tests/test-erfc.c: New file.
15429
15430         Tests for module 'erf'.
15431         * modules/erf-tests: New file.
15432         * tests/test-erf.c: New file.
15433
15434         Tests for module 'cosh'.
15435         * modules/cosh-tests: New file.
15436         * tests/test-cosh.c: New file.
15437
15438         Tests for module 'cos'.
15439         * modules/cos-tests: New file.
15440         * tests/test-cos.c: New file.
15441
15442         Tests for module 'copysign'.
15443         * modules/copysign-tests: New file.
15444         * tests/test-copysign.c: New file.
15445
15446         Tests for module 'cbrt'.
15447         * modules/cbrt-tests: New file.
15448         * tests/test-cbrt.c: New file.
15449
15450         Tests for module 'atan2'.
15451         * modules/atan2-tests: New file.
15452         * tests/test-atan2.c: New file.
15453
15454         Tests for module 'atan'.
15455         * modules/atan-tests: New file.
15456         * tests/test-atan.c: New file.
15457
15458         Tests for module 'asin'.
15459         * modules/asin-tests: New file.
15460         * tests/test-asin.c: New file.
15461
15462         Tests for module 'acos'.
15463         * modules/acos-tests: New file.
15464         * tests/test-acos.c: New file.
15465
15466 2010-01-24  Bruno Haible  <bruno@clisp.org>
15467
15468         Fix tests for common <math.h> functions.
15469         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
15470         code snippet that references the function pointer, rather than merely
15471         calling the function. Substitute the FUNC_LIBM variable.
15472         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
15473         * modules/acos (configure.ac): Likewise.
15474         * modules/asin (configure.ac): Likewise.
15475         * modules/atan (configure.ac): Likewise.
15476         * modules/atan2 (configure.ac): Likewise.
15477         * modules/cbrt (configure.ac): Likewise.
15478         * modules/copysign (configure.ac): Likewise.
15479         * modules/cos (configure.ac): Likewise.
15480         * modules/cosh (configure.ac): Likewise.
15481         * modules/erf (configure.ac): Likewise.
15482         * modules/erfc (configure.ac): Likewise.
15483         * modules/exp (configure.ac): Likewise.
15484         * modules/fabs (configure.ac): Likewise.
15485         * modules/fmod (configure.ac): Likewise.
15486         * modules/hypot (configure.ac): Likewise.
15487         * modules/j0 (configure.ac): Likewise.
15488         * modules/j1 (configure.ac): Likewise.
15489         * modules/jn (configure.ac): Likewise.
15490         * modules/ldexp (configure.ac): Likewise.
15491         * modules/lgamma (configure.ac): Likewise.
15492         * modules/log (configure.ac): Likewise.
15493         * modules/log10 (configure.ac): Likewise.
15494         * modules/log1p (configure.ac): Likewise.
15495         * modules/logb (configure.ac): Likewise.
15496         * modules/modf (configure.ac): Likewise.
15497         * modules/nextafter (configure.ac): Likewise.
15498         * modules/pow (configure.ac): Likewise.
15499         * modules/remainder (configure.ac): Likewise.
15500         * modules/rint (configure.ac): Likewise.
15501         * modules/sin (configure.ac): Likewise.
15502         * modules/sinh (configure.ac): Likewise.
15503         * modules/tan (configure.ac): Likewise.
15504         * modules/tanh (configure.ac): Likewise.
15505         * modules/y0 (configure.ac): Likewise.
15506         * modules/y1 (configure.ac): Likewise.
15507         * modules/yn (configure.ac): Likewise.
15508
15509 2010-01-24  Bruno Haible  <bruno@clisp.org>
15510
15511         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
15512         * tests/test-acosl.c (x): New variable.
15513         (main): Store argument in x and fetch it from x.
15514         * tests/test-asinl.c (x): New variable.
15515         (main): Store argument in x and fetch it from x.
15516         * tests/test-atanl.c (x): New variable.
15517         (main): Store argument in x and fetch it from x.
15518         * tests/test-cosl.c (x): New variable.
15519         (main): Store argument in x and fetch it from x.
15520         * tests/test-expl.c (x): New variable.
15521         (main): Store argument in x and fetch it from x.
15522         * tests/test-logl.c (x): New variable.
15523         (main): Store argument in x and fetch it from x.
15524         * tests/test-sinl.c (x): New variable.
15525         (main): Store argument in x and fetch it from x.
15526         * tests/test-sqrtl.c (x): New variable.
15527         (main): Store argument in x and fetch it from x.
15528         * tests/test-tanl.c (x): New variable.
15529         (main): Store argument in x and fetch it from x.
15530
15531 2010-01-24  Bruno Haible  <bruno@clisp.org>
15532
15533         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
15534         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
15535         assignments to the initial TESTS_ENVIRONMENT.
15536         * doc/gnulib.texi (Unit test modules): Document it.
15537         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
15538         TESTS_ENVIRONMENT.
15539         * modules/btowc-tests (Makefile.am): Likewise.
15540         * modules/c-stack-tests (Makefile.am): Likewise.
15541         * modules/c-strcase-tests (Makefile.am): Likewise.
15542         * modules/copy-file-tests (Makefile.am): Likewise.
15543         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
15544         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
15545         * modules/mbrtowc-tests (Makefile.am): Likewise.
15546         * modules/mbscasecmp-tests (Makefile.am): Likewise.
15547         * modules/mbscasestr-tests (Makefile.am): Likewise.
15548         * modules/mbschr-tests (Makefile.am): Likewise.
15549         * modules/mbscspn-tests (Makefile.am): Likewise.
15550         * modules/mbsinit-tests (Makefile.am): Likewise.
15551         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
15552         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
15553         * modules/mbspbrk-tests (Makefile.am): Likewise.
15554         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
15555         * modules/mbsrchr-tests (Makefile.am): Likewise.
15556         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
15557         * modules/mbsspn-tests (Makefile.am): Likewise.
15558         * modules/mbsstr-tests (Makefile.am): Likewise.
15559         * modules/nl_langinfo-tests (Makefile.am): Likewise.
15560         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
15561         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
15562         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
15563         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
15564         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
15565         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
15566         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
15567         * modules/wcrtomb-tests (Makefile.am): Likewise.
15568         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
15569         * modules/wcsrtombs-tests (Makefile.am): Likewise.
15570         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
15571         assignments from TESTS_ENVIRONMENT.
15572         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
15573         augmentation.
15574         * modules/argp-version-etc-tests (Makefile.am): Likewise.
15575         * modules/atexit-tests (Makefile.am): Likewise.
15576         * modules/binary-io-tests (Makefile.am): Likewise.
15577         * modules/closein-tests (Makefile.am): Likewise.
15578         * modules/dprintf-posix-tests (Makefile.am): Likewise.
15579         * modules/exclude-tests (Makefile.am): Likewise.
15580         * modules/fflush-tests (Makefile.am): Likewise.
15581         * modules/fpending-tests (Makefile.am): Likewise.
15582         * modules/fprintf-posix-tests (Makefile.am): Likewise.
15583         * modules/freadahead-tests (Makefile.am): Likewise.
15584         * modules/freadptr-tests (Makefile.am): Likewise.
15585         * modules/freadseek-tests (Makefile.am): Likewise.
15586         * modules/fseek-tests (Makefile.am): Likewise.
15587         * modules/fseeko-tests (Makefile.am): Likewise.
15588         * modules/ftell-tests (Makefile.am): Likewise.
15589         * modules/ftello-tests (Makefile.am): Likewise.
15590         * modules/idpriv-drop-tests (Makefile.am): Likewise.
15591         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
15592         * modules/lseek-tests (Makefile.am): Likewise.
15593         * modules/parse-duration-tests (Makefile.am): Likewise.
15594         * modules/perror-tests (Makefile.am): Likewise.
15595         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
15596         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
15597         * modules/pipe-tests (Makefile.am): Likewise.
15598         * modules/pread-tests (Makefile.am): Likewise.
15599         * modules/printf-posix-tests (Makefile.am): Likewise.
15600         * modules/select-tests (Makefile.am): Likewise.
15601         * modules/sigpipe-tests (Makefile.am): Likewise.
15602         * modules/tsearch-tests (Makefile.am): Likewise.
15603         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
15604         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
15605         * modules/uniname/uniname-tests (Makefile.am): Likewise.
15606         * modules/uniwidth/width-tests (Makefile.am): Likewise.
15607         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
15608         * modules/version-etc-tests (Makefile.am): Likewise.
15609         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
15610         * modules/vprintf-posix-tests (Makefile.am): Likewise.
15611         * modules/xalloc-die-tests (Makefile.am): Likewise.
15612         * modules/xprintf-posix-tests (Makefile.am): Likewise.
15613         * modules/xstrtoimax-tests (Makefile.am): Likewise.
15614         * modules/xstrtol-tests (Makefile.am): Likewise.
15615         * modules/xstrtoumax-tests (Makefile.am): Likewise.
15616         * modules/yesno-tests (Makefile.am): Likewise.
15617         Suggested by Jim Meyering.
15618
15619 2010-01-24  Bruno Haible  <bruno@clisp.org>
15620
15621         More documentation.
15622         * doc/gnulib.texi (Writing modules): New chapter.
15623         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
15624         the new chapter.
15625
15626 2010-01-24  Jim Meyering  <meyering@redhat.com>
15627
15628         maint.mk: do not prepend "./" after filtering
15629         * top/maint.mk (_prepend_srcdir_prefix): New variable
15630         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
15631         "./" when $(srcdir) is ".".
15632
15633         define STREQ(a,b) consistently, removing useless parentheses
15634         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
15635         since the only risk is that "a" or "b" contains an unparenthesized
15636         comma, but if either did that, STREQ would have 3 or more arguments.
15637         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
15638         * lib/fts.c (STREQ): Remove unnecessary parentheses.
15639         * lib/hash-triple.c (STREQ): Likewise.
15640         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
15641         * lib/getugroups.c (STREQ): Likewise.
15642
15643 2010-01-23  Jim Meyering  <meyering@redhat.com>
15644
15645         maint.mk: fix syntax-check in a non-srcdir build directory
15646         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
15647         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
15648
15649 2010-01-22  Jim Meyering  <meyering@redhat.com>
15650
15651         userspec: add unit tests
15652         * tests/test-userspec.c: New file.
15653         * modules/userspec-tests: Likewise.
15654
15655 2010-01-21  Jim Meyering  <meyering@redhat.com>
15656
15657         maint.mk: handle source file names containing "." robustly
15658         * top/maint.mk (_dot_escaped_srcdir): Define.
15659         (VC_LIST): Use it in LHS of sed substitution.
15660
15661 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
15662
15663         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
15664         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
15665         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
15666         from a non-srcdir build.
15667
15668 2010-01-20  Eric Blake  <ebb9@byu.net>
15669
15670         warn-on-use: use instead of link-warning
15671         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
15672         * modules/unistd (Depends-on, Makefile.am): Likewise.
15673         * modules/arpa_inet (Depends-on): Replace link-warning with
15674         warn-on-use.
15675         (Makefile.am): Update rules accordingly.
15676         * modules/ctype (Depends-on, Makefile.am): Likewise.
15677         * modules/dirent (Depends-on, Makefile.am): Likewise.
15678         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
15679         * modules/inttypes (Depends-on, Makefile.am): Likewise.
15680         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15681         * modules/locale (Depends-on, Makefile.am): Likewise.
15682         * modules/math (Depends-on, Makefile.am): Likewise.
15683         * modules/search (Depends-on, Makefile.am): Likewise.
15684         * modules/signal (Depends-on, Makefile.am): Likewise.
15685         * modules/spawn (Depends-on, Makefile.am): Likewise.
15686         * modules/stdlib (Depends-on, Makefile.am): Likewise.
15687         * modules/string (Depends-on, Makefile.am): Likewise.
15688         * modules/strings (Depends-on, Makefile.am): Likewise.
15689         * modules/sys_file (Depends-on, Makefile.am): Likewise.
15690         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
15691         * modules/sys_select (Depends-on, Makefile.am): Likewise.
15692         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
15693         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
15694         * modules/sys_times (Depends-on, Makefile.am): Likewise.
15695         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15696         * modules/wchar (Depends-on, Makefile.am): Likewise.
15697         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
15698         should be poisoned.
15699         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
15700         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
15701         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
15702         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15703         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15704         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
15705         * m4/math_h.m4 (gl_MATH_H): Likewise.
15706         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
15707         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
15708         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
15709         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
15710         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
15711         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
15712         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15713         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
15714         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
15715         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15716         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
15717         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
15718         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15719         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15720         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
15721         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
15722         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
15723         GL_LINK_WARNING.
15724         * lib/ctype.in.h: Likewise.
15725         * lib/dirent.in.h: Likewise.
15726         * lib/fcntl.in.h: Likewise.
15727         * lib/inttypes.in.h: Likewise.
15728         * lib/langinfo.in.h: Likewise.
15729         * lib/locale.in.h: Likewise.
15730         * lib/math.in.h: Likewise.
15731         * lib/search.in.h: Likewise.
15732         * lib/signal.in.h: Likewise.
15733         * lib/spawn.in.h: Likewise.
15734         * lib/stdio.in.h: Likewise.
15735         * lib/stdlib.in.h: Likewise.
15736         * lib/string.in.h: Likewise.
15737         * lib/strings.in.h: Likewise.
15738         * lib/sys_file.in.h: Likewise.
15739         * lib/sys_ioctl.in.h: Likewise.
15740         * lib/sys_select.in.h: Likewise.
15741         * lib/sys_socket.in.h: Likewise.
15742         * lib/sys_stat.in.h: Likewise.
15743         * lib/sys_times.in.h: Likewise.
15744         * lib/sys_utsname.in.h: Likewise.
15745         * lib/unistd.in.h: Likewise.
15746         * lib/wchar.in.h: Likewise.
15747
15748 2010-01-20  Bruno Haible  <bruno@clisp.org>
15749
15750         Avoid duplicate -lm.
15751         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
15752         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
15753         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
15754         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
15755         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
15756         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
15757         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
15758         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
15759         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
15760         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
15761         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
15762         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
15763         Reported by Paolo Bonzini.
15764
15765 2010-01-19  Bruno Haible  <bruno@clisp.org>
15766
15767         langinfo, nl_langinfo: Relicense under LGPLv2+.
15768         * modules/langinfo (License): Change to LGPLv2+.
15769         * modules/nl_langinfo (License): Likewise.
15770         Patch by David Lutterkort <lutter@redhat.com>.
15771
15772 2010-01-19  Bruno Haible  <bruno@clisp.org>
15773
15774         Avoid compilation error with cc on OSF/1 5.1.
15775         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
15776         statement, not before.
15777         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15778
15779 2010-01-18  Bruno Haible  <bruno@clisp.org>
15780
15781         Avoid a link error due to the __printf__ symbol.
15782         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
15783         and 2.6.x.
15784         (__format__, __printf__): Remove definitions.
15785         * lib/argp-fmtstream.h: Likewise.
15786         * lib/argp.h: Likewise.
15787         * lib/error.h: Likewise.
15788         * lib/vasnprintf.h: Likewise.
15789         * lib/xprintf.h: Likewise.
15790         * lib/xvasprintf.h: Likewise.
15791         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15792
15793 2010-01-18  Bruno Haible  <bruno@clisp.org>
15794
15795         Tests for module 'tanl'.
15796         * modules/tanl-tests: New file.
15797         * tests/test-tanl.c: New file.
15798
15799         Tests for module 'sqrtl'.
15800         * modules/sqrtl-tests: New file.
15801         * tests/test-sqrtl.c: New file.
15802
15803         Tests for module 'sinl'.
15804         * modules/sinl-tests: New file.
15805         * tests/test-sinl.c: New file.
15806
15807         Tests for module 'logl'.
15808         * modules/logl-tests: New file.
15809         * tests/test-logl.c: New file.
15810
15811         Tests for module 'expl'.
15812         * modules/expl-tests: New file.
15813         * tests/test-expl.c: New file.
15814
15815         Tests for module 'cosl'.
15816         * modules/cosl-tests: New file.
15817         * tests/test-cosl.c: New file.
15818
15819         Tests for module 'atanl'.
15820         * modules/atanl-tests: New file.
15821         * tests/test-atanl.c: New file.
15822
15823         Tests for module 'asinl'.
15824         * modules/asinl-tests: New file.
15825         * tests/test-asinl.c: New file.
15826
15827         Tests for module 'acosl'.
15828         * modules/acosl-tests: New file.
15829         * tests/test-acosl.c: New file.
15830
15831         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15832         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
15833         tanl): Use the standard gnulib idiom.
15834         * lib/cosl.c: Don't include trigl.c and sincosl.c.
15835         * lib/sinl.c: Likewise.
15836         * lib/tanl.c: Don't include trigl.c.
15837         (kernel_tanl): Make static.
15838         * lib/sincosl.c: Include trigl.h first.
15839         * lib/trigl.c: Likewise.
15840         * m4/acosl.m4: New file.
15841         * m4/asinl.m4: New file.
15842         * m4/atanl.m4: New file.
15843         * m4/cosl.m4: New file.
15844         * m4/expl.m4: New file.
15845         * m4/logl.m4: New file.
15846         * m4/sinl.m4: New file.
15847         * m4/sqrtl.m4: New file.
15848         * m4/tanl.m4: New file.
15849         * m4/mathl.m4: Remove file.
15850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
15851         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
15852         Don't initialize GNULIB_MATHL.
15853         * modules/acosl: New file.
15854         * modules/asinl: New file.
15855         * modules/atanl: New file.
15856         * modules/cosl: New file.
15857         * modules/expl: New file.
15858         * modules/logl: New file.
15859         * modules/sinl: New file.
15860         * modules/sqrtl: New file.
15861         * modules/tanl: New file.
15862         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
15863         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
15864         substitute GNULIB_MATHL.
15865         * modules/mathl: Rewritten.
15866         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
15867         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
15868         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
15869         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
15870         * doc/posix-functions/expl.texi: Mention the 'expl' module.
15871         * doc/posix-functions/logl.texi: Mention the 'logl' module.
15872         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
15873         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
15874         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
15875
15876 2010-01-18  Bruno Haible  <bruno@clisp.org>
15877
15878         sqrt: Make gl_FUNC_SQRT requirable.
15879         * m4/sqrt.m4: New file.
15880         * modules/sqrt (Files): Add it.
15881         (configure.ac): Invoke gl_FUNC_SQRT.
15882
15883 2010-01-18  Bruno Haible  <bruno@clisp.org>
15884
15885         New modules for common <math.h> functions.
15886         * m4/mathfunc.m4: New file.
15887         * modules/acos: New file.
15888         * modules/asin: New file.
15889         * modules/atan: New file.
15890         * modules/atan2: New file.
15891         * modules/cbrt: New file.
15892         * modules/copysign: New file.
15893         * modules/cos: New file.
15894         * modules/cosh: New file.
15895         * modules/erf: New file.
15896         * modules/erfc: New file.
15897         * modules/exp: New file.
15898         * modules/fabs: New file.
15899         * modules/fmod: New file.
15900         * modules/hypot: New file.
15901         * modules/j0: New file.
15902         * modules/j1: New file.
15903         * modules/jn: New file.
15904         * modules/ldexp: New file.
15905         * modules/lgamma: New file.
15906         * modules/log: New file.
15907         * modules/log10: New file.
15908         * modules/log1p: New file.
15909         * modules/logb: New file.
15910         * modules/modf: New file.
15911         * modules/nextafter: New file.
15912         * modules/pow: New file.
15913         * modules/remainder: New file.
15914         * modules/rint: New file.
15915         * modules/sin: New file.
15916         * modules/sinh: New file.
15917         * modules/sqrt: New file.
15918         * modules/tan: New file.
15919         * modules/tanh: New file.
15920         * modules/y0: New file.
15921         * modules/y1: New file.
15922         * modules/yn: New file.
15923         * doc/posix-functions/acos.texi: Mention the 'acos' module.
15924         * doc/posix-functions/asin.texi: Mention the 'asin' module.
15925         * doc/posix-functions/atan.texi: Mention the 'atan' module.
15926         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
15927         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
15928         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
15929         * doc/posix-functions/cos.texi: Mention the 'cos' module.
15930         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
15931         * doc/posix-functions/erf.texi: Mention the 'erf' module.
15932         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
15933         * doc/posix-functions/exp.texi: Mention the 'exp' module.
15934         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
15935         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
15936         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
15937         * doc/posix-functions/j0.texi: Mention the 'j0' module.
15938         * doc/posix-functions/j1.texi: Mention the 'j1' module.
15939         * doc/posix-functions/jn.texi: Mention the 'jn' module.
15940         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
15941         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
15942         * doc/posix-functions/log.texi: Mention the 'log' module.
15943         * doc/posix-functions/log10.texi: Mention the 'log10' module.
15944         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
15945         * doc/posix-functions/logb.texi: Mention the 'logb' module.
15946         * doc/posix-functions/modf.texi: Mention the 'modf' module.
15947         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
15948         * doc/posix-functions/pow.texi: Mention the 'pow' module.
15949         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
15950         * doc/posix-functions/rint.texi: Mention the 'rint' module.
15951         * doc/posix-functions/sin.texi: Mention the 'sin' module.
15952         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
15953         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
15954         * doc/posix-functions/tan.texi: Mention the 'tan' module.
15955         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
15956         * doc/posix-functions/y0.texi: Mention the 'y0' module.
15957         * doc/posix-functions/y1.texi: Mention the 'y1' module.
15958         * doc/posix-functions/yn.texi: Mention the 'yn' module.
15959
15960 2010-01-18  Jim Meyering  <meyering@redhat.com>
15961
15962         ignore-value: relax license to LGPLv2+
15963         * modules/ignore-value (License): Relax to LGPLv2+.
15964
15965         getdate: don't leak when TZ contains two or more '"'s
15966         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
15967         double quote in TZ after the first one.
15968
15969         readtokens: do not leak internal token_lengths buffer
15970         * lib/readtokens.c (readtokens): Free the local, lengths,
15971         when the supplied "token_lengths" parameter is NULL.
15972
15973 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15974
15975         Fix a couple of missing LIBTHREAD link failures on AIX.
15976         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
15977         $(LIBTHREAD).
15978         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
15979
15980         Link test-poll against INET_PTON_LIB.
15981         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
15982         for inet_pton on Solaris 10.
15983
15984 2010-01-17  Bruno Haible  <bruno@clisp.org>
15985
15986         unistdio/*-sprintf: Fix typo in module description.
15987         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
15988         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
15989         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
15990         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
15991         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
15992         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
15993         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
15994         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15995
15996 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15997
15998         gnulib-tool: fix filelist for AIX, HP-UX ksh.
15999         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
16000         variables in shell case patterns, for AIX and HP-UX ksh.
16001
16002         Split large sed scripts, for HP-UX sed.
16003         * modules/stdio: Split sed scripts around 50 sed commands,
16004         to avoid HP-UX limit of 99 commands, in the near future.
16005         * modules/string: Likewise.
16006         * modules/unistd: Likewise.
16007
16008         gnulib-tool: avoid writing in the current directory.
16009         * gnulib-tool (func_emit_lib_Makefile_am)
16010         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
16011         not in the current directory, so concurrent gnulib-tool
16012         instances do not interfere.
16013
16014 2010-01-16  Jim Meyering  <meyering@redhat.com>
16015
16016         doc: update users.txt
16017         * users.txt: Add grep.
16018         (diffutils, gzip): Update URLs.
16019
16020 2010-01-12  Bruno Haible  <bruno@clisp.org>
16021
16022         posix_spawn: Avoid test failure on Cygwin.
16023         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
16024         characters.
16025         Reported by Simon Josefsson.
16026
16027 2010-01-12  Bruno Haible  <bruno@clisp.org>
16028
16029         * tests/test-cond.c (main): When skipping the test, show the reason.
16030
16031 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16032
16033         * lib/striconv.c (str_cd_iconv): Avoid if before free.
16034
16035 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16036
16037         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
16038         VC_LIST_ALWAYS_EXCLUDE_REGEX.
16039
16040 2010-01-12  Eric Blake  <ebb9@byu.net>
16041
16042         build: guarantee AS_VAR_IF
16043         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
16044         (gl_AS_VAR_IF): Move...
16045         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
16046         Reported by Simon Josefsson.
16047
16048 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16049
16050         * lib/stdio.in.h: Fix typo.
16051
16052 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16053
16054         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
16055         libgpg-error.
16056
16057 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16058
16059         * tests/test-xalloc-die.sh: Use $EXEEXT.
16060
16061 2010-01-12  Simon Josefsson  <simon@josefsson.org>
16062             Bruno Haible  <bruno@clisp.org>
16063
16064         getlogin, getlogin_r: Avoid test failure.
16065         * tests/test-getlogin.c: Include <stdio.h>.
16066         (main): Skip the test when the function fails because stdin is not a
16067         tty.
16068         * tests/test-getlogin_r.c: Include <stdio.h>.
16069         (main): Skip the test when the function fails because stdin is not a
16070         tty.
16071
16072 2010-01-11  Eric Blake  <ebb9@byu.net>
16073
16074         tests: avoid more large file warnings
16075         * tests/test-fflush.c: Avoid warning about ftell use.
16076         * tests/test-fseek.c: Avoid warning about fseek use.
16077
16078 2010-01-10  Bruno Haible  <bruno@clisp.org>
16079
16080         nproc: Work better on Linux when /proc and /sys are not mounted.
16081         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
16082         as lower bound when, on glibc/Linux systems,
16083         sysconf (_SC_NPROCESSORS_CONF) returns 1.
16084         Suggested by Pádraig Brady <P@draigbrady.com>.
16085         Reported by Dmitry V. Levin <ldv@altlinux.org>.
16086
16087         nproc: Refactor.
16088         * lib/nproc.c (num_processors_via_affinity_mask): New function,
16089         extracted from num_processors.
16090         (num_processors): Call it.
16091
16092 2010-01-11  Jim Meyering  <meyering@redhat.com>
16093
16094         utimecmp: avoid new warning from upcoming gcc-4.5.0
16095         * lib/utimecmp.c (BILLION): Define using #define rather than an
16096         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
16097
16098 2010-01-11  Eric Blake  <ebb9@byu.net>
16099
16100         math: add portability warnings for classification macros
16101         * modules/math (Depends-on): Add warn-on-use.
16102         (Makefile.am): Provide new substitutions.
16103         * m4/math_h.m4 (gl_MATH_H): Require inline.
16104         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
16105         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
16106         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
16107         implement warnings.
16108
16109         unistd: warn on use of environ without module
16110         * modules/unistd (Depends-on): Add warn-on-use.
16111         (Makefile.am): Provide new substitutions.
16112         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
16113         * lib/unistd.in.h (environ): Wrap with a warning helper function.
16114
16115         stdio: warn on suspicious uses
16116         * modules/stdio (Depends-on): Add warn-on-use.
16117         (Makefile.am): Provide new substitutions.
16118         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
16119         fseeko.
16120         * lib/stdio.in.h (gets): Always warn on use.
16121         (fseek, ftell): Adjust when warnings are issued, and honor
16122         _GL_NO_LARGE_FILES as a way to silence the warning.
16123         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
16124         any warning about large file offsets.
16125         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
16126         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
16127         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
16128         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
16129         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
16130         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
16131         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
16132         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
16133
16134         warn-on-use: new module
16135         * modules/warn-on-use: New file.
16136         * build-aux/warn-on-use.h: Likewise.
16137         * m4/warn-on-use.m4: Likewise.
16138         * MODULES.html.sh (Support for building): Mention it.
16139
16140 2010-01-10  Bruno Haible  <bruno@clisp.org>
16141
16142         Tests for module 'unistr/u32-strdup'.
16143         * modules/unistr/u32-strdup-tests: New file.
16144         * tests/unistr/test-u32-strdup.c: New file.
16145
16146         Tests for module 'unistr/u16-strdup'.
16147         * modules/unistr/u16-strdup-tests: New file.
16148         * tests/unistr/test-u16-strdup.c: New file.
16149
16150         Tests for module 'unistr/u8-strdup'.
16151         * modules/unistr/u8-strdup-tests: New file.
16152         * tests/unistr/test-u8-strdup.c: New file.
16153         * tests/unistr/test-strdup.h: New file.
16154
16155         Tests for module 'unistr/u32-strncmp'.
16156         * modules/unistr/u32-strncmp-tests: New file.
16157         * tests/unistr/test-u32-strncmp.c: New file.
16158
16159         Tests for module 'unistr/u16-strncmp'.
16160         * modules/unistr/u16-strncmp-tests: New file.
16161         * tests/unistr/test-u16-strncmp.c: New file.
16162
16163         Tests for module 'unistr/u8-strncmp'.
16164         * modules/unistr/u8-strncmp-tests: New file.
16165         * tests/unistr/test-u8-strncmp.c: New file.
16166         * tests/unistr/test-strncmp.h: New file.
16167
16168         Tests for module 'unistr/u32-strcoll'.
16169         * modules/unistr/u32-strcoll-tests: New file.
16170         * tests/unistr/test-u32-strcoll.c: New file.
16171
16172         Tests for module 'unistr/u16-strcoll'.
16173         * modules/unistr/u16-strcoll-tests: New file.
16174         * tests/unistr/test-u16-strcoll.c: New file.
16175
16176         Tests for module 'unistr/u8-strcoll'.
16177         * modules/unistr/u8-strcoll-tests: New file.
16178         * tests/unistr/test-u8-strcoll.c: New file.
16179
16180         Tests for module 'unistr/u32-strcmp'.
16181         * modules/unistr/u32-strcmp-tests: New file.
16182         * tests/unistr/test-u32-strcmp.c: New file.
16183         * tests/unistr/test-u32-strcmp.h: New file.
16184
16185         Tests for module 'unistr/u16-strcmp'.
16186         * modules/unistr/u16-strcmp-tests: New file.
16187         * tests/unistr/test-u16-strcmp.c: New file.
16188         * tests/unistr/test-u16-strcmp.h: New file.
16189
16190         Tests for module 'unistr/u8-strcmp'.
16191         * modules/unistr/u8-strcmp-tests: New file.
16192         * tests/unistr/test-u8-strcmp.c: New file.
16193         * tests/unistr/test-u8-strcmp.h: New file.
16194         * tests/unistr/test-strcmp.h: New file.
16195
16196         Tests for module 'unistr/u32-strncat'.
16197         * modules/unistr/u32-strncat-tests: New file.
16198         * tests/unistr/test-u32-strncat.c: New file.
16199
16200         Tests for module 'unistr/u16-strncat'.
16201         * modules/unistr/u16-strncat-tests: New file.
16202         * tests/unistr/test-u16-strncat.c: New file.
16203
16204         Tests for module 'unistr/u8-strncat'.
16205         * modules/unistr/u8-strncat-tests: New file.
16206         * tests/unistr/test-u8-strncat.c: New file.
16207         * tests/unistr/test-strncat.h: New file.
16208
16209         Tests for module 'unistr/u32-strcat'.
16210         * modules/unistr/u32-strcat-tests: New file.
16211         * tests/unistr/test-u32-strcat.c: New file.
16212
16213         Tests for module 'unistr/u16-strcat'.
16214         * modules/unistr/u16-strcat-tests: New file.
16215         * tests/unistr/test-u16-strcat.c: New file.
16216
16217         Tests for module 'unistr/u8-strcat'.
16218         * modules/unistr/u8-strcat-tests: New file.
16219         * tests/unistr/test-u8-strcat.c: New file.
16220         * tests/unistr/test-strcat.h: New file.
16221
16222         Tests for module 'unistr/u32-stpncpy'.
16223         * modules/unistr/u32-stpncpy-tests: New file.
16224         * tests/unistr/test-u32-stpncpy.c: New file.
16225
16226         Tests for module 'unistr/u16-stpncpy'.
16227         * modules/unistr/u16-stpncpy-tests: New file.
16228         * tests/unistr/test-u16-stpncpy.c: New file.
16229
16230         Tests for module 'unistr/u8-stpncpy'.
16231         * modules/unistr/u8-stpncpy-tests: New file.
16232         * tests/unistr/test-u8-stpncpy.c: New file.
16233         * tests/unistr/test-stpncpy.h: New file.
16234
16235         Tests for module 'unistr/u32-strncpy'.
16236         * modules/unistr/u32-strncpy-tests: New file.
16237         * tests/unistr/test-u32-strncpy.c: New file.
16238
16239         Tests for module 'unistr/u16-strncpy'.
16240         * modules/unistr/u16-strncpy-tests: New file.
16241         * tests/unistr/test-u16-strncpy.c: New file.
16242
16243         Tests for module 'unistr/u8-strncpy'.
16244         * modules/unistr/u8-strncpy-tests: New file.
16245         * tests/unistr/test-u8-strncpy.c: New file.
16246         * tests/unistr/test-strncpy.h: New file.
16247
16248         Tests for module 'unistr/u32-stpcpy'.
16249         * modules/unistr/u32-stpcpy-tests: New file.
16250         * tests/unistr/test-u32-stpcpy.c: New file.
16251
16252         Tests for module 'unistr/u16-stpcpy'.
16253         * modules/unistr/u16-stpcpy-tests: New file.
16254         * tests/unistr/test-u16-stpcpy.c: New file.
16255
16256         Tests for module 'unistr/u8-stpcpy'.
16257         * modules/unistr/u8-stpcpy-tests: New file.
16258         * tests/unistr/test-u8-stpcpy.c: New file.
16259         * tests/unistr/test-stpcpy.h: New file.
16260
16261         Tests for module 'unistr/u32-strcpy'.
16262         * modules/unistr/u32-strcpy-tests: New file.
16263         * tests/unistr/test-u32-strcpy.c: New file.
16264
16265         Tests for module 'unistr/u16-strcpy'.
16266         * modules/unistr/u16-strcpy-tests: New file.
16267         * tests/unistr/test-u16-strcpy.c: New file.
16268
16269         Tests for module 'unistr/u8-strcpy'.
16270         * modules/unistr/u8-strcpy-tests: New file.
16271         * tests/unistr/test-u8-strcpy.c: New file.
16272         * tests/unistr/test-strcpy.h: New file.
16273
16274         Tests for module 'unistr/u32-strnlen'.
16275         * modules/unistr/u32-strnlen-tests: New file.
16276         * tests/unistr/test-u32-strnlen.c: New file.
16277
16278         Tests for module 'unistr/u16-strnlen'.
16279         * modules/unistr/u16-strnlen-tests: New file.
16280         * tests/unistr/test-u16-strnlen.c: New file.
16281
16282         Tests for module 'unistr/u8-strnlen'.
16283         * modules/unistr/u8-strnlen-tests: New file.
16284         * tests/unistr/test-u8-strnlen.c: New file.
16285         * tests/unistr/test-strnlen.h: New file.
16286
16287         Tests for module 'unistr/u32-strlen'.
16288         * modules/unistr/u32-strlen-tests: New file.
16289         * tests/unistr/test-u32-strlen.c: New file.
16290
16291         Tests for module 'unistr/u16-strlen'.
16292         * modules/unistr/u16-strlen-tests: New file.
16293         * tests/unistr/test-u16-strlen.c: New file.
16294
16295         Tests for module 'unistr/u8-strlen'.
16296         * modules/unistr/u8-strlen-tests: New file.
16297         * tests/unistr/test-u8-strlen.c: New file.
16298
16299         Tests for module 'unistr/u32-prev'.
16300         * modules/unistr/u32-prev-tests: New file.
16301         * tests/unistr/test-u32-prev.c: New file.
16302
16303         Tests for module 'unistr/u16-prev'.
16304         * modules/unistr/u16-prev-tests: New file.
16305         * tests/unistr/test-u16-prev.c: New file.
16306
16307         Tests for module 'unistr/u8-prev'.
16308         * modules/unistr/u8-prev-tests: New file.
16309         * tests/unistr/test-u8-prev.c: New file.
16310
16311         Tests for module 'unistr/u32-next'.
16312         * modules/unistr/u32-next-tests: New file.
16313         * tests/unistr/test-u32-next.c: New file.
16314
16315         Tests for module 'unistr/u16-next'.
16316         * modules/unistr/u16-next-tests: New file.
16317         * tests/unistr/test-u16-next.c: New file.
16318
16319         Tests for module 'unistr/u8-next'.
16320         * modules/unistr/u8-next-tests: New file.
16321         * tests/unistr/test-u8-next.c: New file.
16322
16323         Tests for module 'unistr/u32-strmbtouc'.
16324         * modules/unistr/u32-strmbtouc-tests: New file.
16325         * tests/unistr/test-u32-strmbtouc.c: New file.
16326
16327         Tests for module 'unistr/u16-strmbtouc'.
16328         * modules/unistr/u16-strmbtouc-tests: New file.
16329         * tests/unistr/test-u16-strmbtouc.c: New file.
16330
16331         Tests for module 'unistr/u8-strmbtouc'.
16332         * modules/unistr/u8-strmbtouc-tests: New file.
16333         * tests/unistr/test-u8-strmbtouc.c: New file.
16334
16335         Tests for module 'unistr/u32-strmblen'.
16336         * modules/unistr/u32-strmblen-tests: New file.
16337         * tests/unistr/test-u32-strmblen.c: New file.
16338
16339         Tests for module 'unistr/u16-strmblen'.
16340         * modules/unistr/u16-strmblen-tests: New file.
16341         * tests/unistr/test-u16-strmblen.c: New file.
16342
16343         Tests for module 'unistr/u8-strmblen'.
16344         * modules/unistr/u8-strmblen-tests: New file.
16345         * tests/unistr/test-u8-strmblen.c: New file.
16346
16347         Tests for module 'unistr/u32-cpy-alloc'.
16348         * modules/unistr/u32-cpy-alloc-tests: New file.
16349         * tests/unistr/test-u32-cpy-alloc.c: New file.
16350
16351         Tests for module 'unistr/u16-cpy-alloc'.
16352         * modules/unistr/u16-cpy-alloc-tests: New file.
16353         * tests/unistr/test-u16-cpy-alloc.c: New file.
16354
16355         Tests for module 'unistr/u8-cpy-alloc'.
16356         * modules/unistr/u8-cpy-alloc-tests: New file.
16357         * tests/unistr/test-u8-cpy-alloc.c: New file.
16358         * tests/unistr/test-cpy-alloc.h: New file.
16359
16360         Tests for module 'unistr/u32-mbsnlen'.
16361         * modules/unistr/u32-mbsnlen-tests: New file.
16362         * tests/unistr/test-u32-mbsnlen.c: New file.
16363
16364         Tests for module 'unistr/u16-mbsnlen'.
16365         * modules/unistr/u16-mbsnlen-tests: New file.
16366         * tests/unistr/test-u16-mbsnlen.c: New file.
16367
16368         Tests for module 'unistr/u8-mbsnlen'.
16369         * modules/unistr/u8-mbsnlen-tests: New file.
16370         * tests/unistr/test-u8-mbsnlen.c: New file.
16371
16372         Tests for module 'unistr/u32-chr'.
16373         * modules/unistr/u32-chr-tests: New file.
16374         * tests/unistr/test-u32-chr.c: New file.
16375
16376         Tests for module 'unistr/u16-chr'.
16377         * modules/unistr/u16-chr-tests: New file.
16378         * tests/unistr/test-u16-chr.c: New file.
16379
16380         Tests for module 'unistr/u8-chr'.
16381         * modules/unistr/u8-chr-tests: New file.
16382         * tests/unistr/test-u8-chr.c: New file.
16383         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
16384
16385         Tests for module 'unistr/u32-cmp2'.
16386         * modules/unistr/u32-cmp2-tests: New file.
16387         * tests/unistr/test-u32-cmp2.c: New file.
16388
16389         Tests for module 'unistr/u16-cmp2'.
16390         * modules/unistr/u16-cmp2-tests: New file.
16391         * tests/unistr/test-u16-cmp2.c: New file.
16392
16393         Tests for module 'unistr/u8-cmp2'.
16394         * modules/unistr/u8-cmp2-tests: New file.
16395         * tests/unistr/test-u8-cmp2.c: New file.
16396         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
16397
16398         Tests for module 'unistr/u32-cmp'.
16399         * modules/unistr/u32-cmp-tests: New file.
16400         * tests/unistr/test-u32-cmp.c: New file.
16401
16402         Tests for module 'unistr/u16-cmp'.
16403         * modules/unistr/u16-cmp-tests: New file.
16404         * tests/unistr/test-u16-cmp.c: New file.
16405
16406         Tests for module 'unistr/u8-cmp'.
16407         * modules/unistr/u8-cmp-tests: New file.
16408         * tests/unistr/test-u8-cmp.c: New file.
16409         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
16410
16411         Tests for module 'unistr/u32-set'.
16412         * modules/unistr/u32-set-tests: New file.
16413         * tests/unistr/test-u32-set.c: New file.
16414
16415         Tests for module 'unistr/u16-set'.
16416         * modules/unistr/u16-set-tests: New file.
16417         * tests/unistr/test-u16-set.c: New file.
16418
16419         Tests for module 'unistr/u8-set'.
16420         * modules/unistr/u8-set-tests: New file.
16421         * tests/unistr/test-u8-set.c: New file.
16422         * tests/unistr/test-set.h: New file.
16423
16424         Tests for module 'unistr/u32-move'.
16425         * modules/unistr/u32-move-tests: New file.
16426         * tests/unistr/test-u32-move.c: New file.
16427
16428         Tests for module 'unistr/u16-move'.
16429         * modules/unistr/u16-move-tests: New file.
16430         * tests/unistr/test-u16-move.c: New file.
16431
16432         Tests for module 'unistr/u8-move'.
16433         * modules/unistr/u8-move-tests: New file.
16434         * tests/unistr/test-u8-move.c: New file.
16435         * tests/unistr/test-move.h: New file.
16436
16437         Tests for module 'unistr/u32-cpy'.
16438         * modules/unistr/u32-cpy-tests: New file.
16439         * tests/unistr/test-u32-cpy.c: New file.
16440
16441         Tests for module 'unistr/u16-cpy'.
16442         * modules/unistr/u16-cpy-tests: New file.
16443         * tests/unistr/test-u16-cpy.c: New file.
16444
16445         Tests for module 'unistr/u8-cpy'.
16446         * modules/unistr/u8-cpy-tests: New file.
16447         * tests/unistr/test-u8-cpy.c: New file.
16448         * tests/unistr/test-cpy.h: New file.
16449
16450 2010-01-09  Bruno Haible  <bruno@clisp.org>
16451
16452         Tests for module 'unistr/u32-uctomb'.
16453         * modules/unistr/u32-uctomb-tests: New file.
16454         * tests/unistr/test-u32-uctomb.c: New file.
16455
16456         Tests for module 'unistr/u16-uctomb'.
16457         * modules/unistr/u16-uctomb-tests: New file.
16458         * tests/unistr/test-u16-uctomb.c: New file.
16459
16460         Tests for module 'unistr/u8-uctomb'.
16461         * modules/unistr/u8-uctomb-tests: New file.
16462         * tests/unistr/test-u8-uctomb.c: New file.
16463
16464         Tests for module 'unistr/u32-mbtoucr'.
16465         * modules/unistr/u32-mbtoucr-tests: New file.
16466         * tests/unistr/test-u32-mbtoucr.c: New file.
16467
16468         Tests for module 'unistr/u16-mbtoucr'.
16469         * modules/unistr/u16-mbtoucr-tests: New file.
16470         * tests/unistr/test-u16-mbtoucr.c: New file.
16471
16472         Tests for module 'unistr/u8-mbtoucr'.
16473         * modules/unistr/u8-mbtoucr-tests: New file.
16474         * tests/unistr/test-u8-mbtoucr.c: New file.
16475
16476         Tests for module 'unistr/u32-mbtouc'.
16477         * modules/unistr/u32-mbtouc-tests: New file.
16478         * tests/unistr/test-u32-mbtouc.c: New file.
16479
16480         Tests for module 'unistr/u16-mbtouc'.
16481         * modules/unistr/u16-mbtouc-tests: New file.
16482         * tests/unistr/test-u16-mbtouc.c: New file.
16483
16484         Tests for module 'unistr/u8-mbtouc'.
16485         * modules/unistr/u8-mbtouc-tests: New file.
16486         * tests/unistr/test-u8-mbtouc.c: New file.
16487
16488         Tests for module 'unistr/u32-mbtouc-unsafe'.
16489         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
16490         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
16491         * tests/unistr/test-u32-mbtouc.h: New file.
16492
16493         Tests for module 'unistr/u16-mbtouc-unsafe'.
16494         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
16495         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
16496         * tests/unistr/test-u16-mbtouc.h: New file.
16497
16498         Tests for module 'unistr/u8-mbtouc-unsafe'.
16499         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
16500         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
16501         * tests/unistr/test-u8-mbtouc.h: New file.
16502
16503         Tests for module 'unistr/u32-mblen'.
16504         * modules/unistr/u32-mblen-tests: New file.
16505         * tests/unistr/test-u32-mblen.c: New file.
16506
16507         Tests for module 'unistr/u16-mblen'.
16508         * modules/unistr/u16-mblen-tests: New file.
16509         * tests/unistr/test-u16-mblen.c: New file.
16510
16511         Tests for module 'unistr/u8-mblen'.
16512         * modules/unistr/u8-mblen-tests: New file.
16513         * tests/unistr/test-u8-mblen.c: New file.
16514
16515         Tests for module 'unistr/u32-to-u16'.
16516         * modules/unistr/u32-to-u16-tests: New file.
16517         * tests/unistr/test-u32-to-u16.c: New file.
16518
16519         Tests for module 'unistr/u32-to-u8'.
16520         * modules/unistr/u32-to-u8-tests: New file.
16521         * tests/unistr/test-u32-to-u8.c: New file.
16522
16523         Tests for module 'unistr/u16-to-u32'.
16524         * modules/unistr/u16-to-u32-tests: New file.
16525         * tests/unistr/test-u16-to-u32.c: New file.
16526
16527         Tests for module 'unistr/u16-to-u8'.
16528         * modules/unistr/u16-to-u8-tests: New file.
16529         * tests/unistr/test-u16-to-u8.c: New file.
16530
16531         Tests for module 'unistr/u8-to-u32'.
16532         * modules/unistr/u8-to-u32-tests: New file.
16533         * tests/unistr/test-u8-to-u32.c: New file.
16534
16535         Tests for module 'unistr/u8-to-u16'.
16536         * modules/unistr/u8-to-u16-tests: New file.
16537         * tests/unistr/test-u8-to-u16.c: New file.
16538
16539         Tests for module 'unistr/u32-check'.
16540         * modules/unistr/u32-check-tests: New file.
16541         * tests/unistr/test-u32-check.c: New file.
16542
16543         Tests for module 'unistr/u16-check'.
16544         * modules/unistr/u16-check-tests: New file.
16545         * tests/unistr/test-u16-check.c: New file.
16546
16547         Tests for module 'unistr/u8-check'.
16548         * modules/unistr/u8-check-tests: New file.
16549         * tests/unistr/test-u8-check.c: New file.
16550
16551         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
16552         (category_equals): New function.
16553         (main): Add more tests.
16554         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
16555
16556         * tests/unictype/test-bidi_byname.c (main): Add more tests.
16557
16558 2010-01-10  Bruno Haible  <bruno@clisp.org>
16559
16560         unistr/u*-strcoll: Try harder to distinguish different strings.
16561         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
16562         compare s1 and s2 to see if they are different.
16563
16564 2010-01-10  Bruno Haible  <bruno@clisp.org>
16565
16566         unistr/u*-stpncpy: Fix the return value.
16567         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
16568         description of the return value consistent with stpncpy in glibc.
16569         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
16570         written non-NUL unit.
16571
16572 2010-01-10  Bruno Haible  <bruno@clisp.org>
16573
16574         unistr/u*-next: Add missing dependencies.
16575         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
16576         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
16577         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
16578
16579 2010-01-10  Bruno Haible  <bruno@clisp.org>
16580
16581         unistr/u8-mbsnlen: Fix return value for incomplete character.
16582         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
16583         u8_mblen.
16584         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
16585         Remove unistr/u8-mblen.
16586         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
16587         u16_mblen.
16588         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
16589         Remove unistr/u16-mblen.
16590
16591 2010-01-10  Bruno Haible  <bruno@clisp.org>
16592
16593         wchar: Fix compilation error when <wchar.h> is used from coreutils.
16594         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
16595         Reported by Brian Gough <bjg@gnu.org> and
16596         Chris Clayton <chris2553@googlemail.com> via
16597         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
16598
16599 2010-01-09  Bruno Haible  <bruno@clisp.org>
16600
16601         unistr/u16-to-u32: Reject invalid input.
16602         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
16603         u16_mbtouc.
16604         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
16605         Remove unistr/u16-mbtouc.
16606
16607         unistr/u16-to-u8: Reject invalid input.
16608         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
16609         u16_mbtouc.
16610         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
16611         Remove unistr/u16-mbtouc.
16612
16613         unistr/u8-to-u32: Reject invalid input.
16614         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
16615         u8_mbtouc.
16616         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
16617         Remove unistr/u8-mbtouc.
16618
16619         unistr/u8-to-u16: Reject invalid input.
16620         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
16621         u8_mbtouc.
16622         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
16623         Remove unistr/u8-mbtouc.
16624
16625 2010-01-09  Bruno Haible  <bruno@clisp.org>
16626
16627         Tests for module 'getlogin'.
16628         * modules/getlogin-tests: New file.
16629         * tests/test-getlogin.c: New file.
16630
16631         New module 'getlogin'.
16632         * lib/unistd.in.h (getlogin): New declaration.
16633         * lib/getlogin.c: New file.
16634         * m4/getlogin.m4: New file.
16635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
16636         HAVE_GETLOGIN.
16637         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
16638         HAVE_GETLOGIN.
16639         * modules/getlogin: New file.
16640         * doc/posix-functions/getlogin.texi: Mention the new module.
16641         Reported by John W. Eaton <jwe@gnu.org>.
16642
16643 2010-01-09  Bruno Haible  <bruno@clisp.org>
16644
16645         getlogin_r: Support for native Windows.
16646         * lib/getlogin_r.c: Include <windows.h>
16647         (getlogin_r): Implement for native Windows.
16648         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
16649         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
16650         via John W. Eaton <jwe@gnu.org>.
16651
16652 2010-01-09  Bruno Haible  <bruno@clisp.org>
16653
16654         getlogin_r: Small fixes.
16655         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
16656         succeeds.
16657         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
16658         before testing whether getlogin_r is declared. No need to set
16659         HAVE_DECL_GETLOGIN_R to 1.
16660         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
16661
16662 2010-01-09  Bruno Haible  <bruno@clisp.org>
16663
16664         * lib/unistd.in.h (getlogin_r): Add comment.
16665
16666 2010-01-09  Bruno Haible  <bruno@clisp.org>
16667
16668         Tests for module 'getlogin_r'.
16669         * modules/getlogin_r-tests: New file.
16670         * tests/test-getlogin_r.c: New file.
16671
16672 2010-01-09  Jim Meyering  <meyering@redhat.com>
16673
16674         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
16675         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
16676         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
16677
16678 2010-01-08  Simon Josefsson  <simon@josefsson.org>
16679
16680         * lib/dup2.c (rpl_dup2): Improve comment.
16681
16682 2010-01-08  Eric Blake  <ebb9@byu.net>
16683
16684         maint.mk: allow packages to add makefile @@ exceptions
16685         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
16686         (sc_makefile_check): Rename...
16687         (sc_makefile_at_at_check): ...to this, and use hook.
16688
16689         dup2: work around mingw bug
16690         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
16691         Reported by Simon Josefsson.
16692
16693 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
16694
16695         glob: Fix C++ compilation.
16696         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
16697         C++.
16698
16699 2010-01-07  Bruno Haible  <bruno@clisp.org>
16700
16701         Fix indentation of wctype.in.h, broken since 2007-01-06.
16702         * lib/wctype.in.h: Fix indentation of preprocessor directives.
16703
16704 2010-01-07  Bruno Haible  <bruno@clisp.org>
16705
16706         mbslen: Avoid collision with system function.
16707         * lib/string.in.h [MirBSD]: Include <wchar.h>.
16708         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
16709         * m4/mbslen.m4: New file.
16710         * modules/mbslen (Files): Add it.
16711         (configure.ac): Invoke gl_MBSLEN.
16712         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
16713         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
16714         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
16715         via Ian Beckwith <ianb@erislabs.net>.
16716
16717 2010-01-07  Bruno Haible  <bruno@clisp.org>
16718
16719         dirent: Document the last fix.
16720         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
16721
16722 2010-01-07  Bruno Haible  <bruno@clisp.org>
16723
16724         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
16725         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
16726         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
16727         va_list are defined.
16728         * doc/posix-headers/stdio.texi: Document the bug of missing types.
16729         Reported by Eric Blake.
16730
16731 2010-01-07  Bruno Haible  <bruno@clisp.org>
16732
16733         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
16734         * modules/xlist (Depends-on): Add 'list',
16735         * modules/xoset (Depends-on): Add 'oset'.
16736         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16737
16738 2010-01-07  Bruno Haible  <bruno@clisp.org>
16739
16740         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
16741         * doc/posix-functions/strncasecmp.texi: Likewise.
16742
16743 2010-01-07  Bruno Haible  <bruno@clisp.org>
16744
16745         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
16746
16747 2010-01-07  John W. Eaton  <jwe@octave.org>
16748
16749         wctype: allow C++ use
16750         * lib/wctype.in.h: Add extern "C" block for C++.
16751
16752 2010-01-06  Eric Blake  <ebb9@byu.net>
16753
16754         maint.mk: detect incorrect GFDL usage
16755         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
16756
16757 2010-01-06  Jim Meyering  <meyering@redhat.com>
16758         and Eric Blake  <ebb9@byu.net>
16759
16760         maint.mk: ignore multi-line copyright in NEWS
16761         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
16762
16763 2010-01-06  Eric Blake  <ebb9@byu.net>
16764
16765         select: add missing dependency
16766         * modules/select-tests (Depends-on): Move sockets dependency...
16767         * modules/select (Depends-on): ...here.
16768         Reported by Ian Beckwith.
16769
16770         doc: regenerate INSTALL
16771         * doc/INSTALL: Reflect recent autoconf update.
16772         * doc/INSTALL.ISO: Likewise.
16773         * doc/INSTALL.UTF-8: Likewise.
16774
16775         pread: fix compilation on glibc
16776         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
16777         Reported by Ralf Wildenhues.
16778
16779         dirent: fix test failure
16780         * lib/dirent.in.h (includes): Guarantee ino_t.
16781         Reported by Ralf Wildenhues.
16782
16783 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
16784
16785         linkat, renameat: avoid bad free
16786         * lib/at-func2.c (at_func2): Fix typo.
16787         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
16788
16789 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16790
16791         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
16792         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
16793         to avoid failure of symlink test later.
16794
16795 2010-01-06  Eric Blake  <ebb9@byu.net>
16796
16797         stdio, unistd: guarantee ssize_t
16798         * lib/unistd.in.h (includes): Ensure that types required by POSIX
16799         2008 are exposed when needed.
16800         * lib/stdio.in.h (includes): Likewise.
16801         Reported by Ralf Wildenhues.
16802
16803 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
16804
16805         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
16806         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
16807         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
16808
16809 2010-01-06  Jim Meyering  <meyering@redhat.com>
16810
16811         readtokens: this module *does* require xalloc.h
16812         It uses only functions that were omitted by the old syntax-check rule.
16813         * lib/readtokens.c: Include "xalloc.h" once again.
16814         * modules/readtokens (Depends-on): Add xalloc.
16815         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
16816
16817 2010-01-05  Eric Blake  <ebb9@byu.net>
16818
16819         maint: support 'make announcement' from a VPATH build
16820         * top/maint.mk (announcement): Look for correct NEWS file.
16821
16822 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
16823
16824         utimens (fdutimens): ignore a negative FD, per contract
16825         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
16826         when we have a valid file descriptor.  Otherwise, using a brand
16827         new glibc (with just-patched futimens that now fails with EBADF)
16828         would cause this function to fail with ENOSYS.
16829         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
16830         See also http://bugzilla.redhat.com/552320.
16831
16832 2010-01-05  Eric Blake  <ebb9@byu.net>
16833
16834         strcase: document what it provides
16835         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
16836         gnulib module.
16837         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
16838         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
16839
16840 2010-01-05  Jim Meyering  <meyering@redhat.com>
16841
16842         maint: remove useless inclusions of "xalloc.h"
16843         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
16844         * lib/readtokens.c: Likewise.
16845         * lib/same.c: Likewise.
16846         * modules/getloadavg (Depends-on): Remove xalloc.
16847         * modules/readtokens: Likewise.
16848         * modules/same: Likewise.
16849
16850         maint.mk: include 4 more function names in alloca.h-checking regexp
16851         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
16852         regexp.  Before, we would give a false-positive (saying alloca.h
16853         is included unnecessarily) when the only uses involved omitted symbols.
16854
16855         xalloc.h: use consistent formatting
16856         * lib/xalloc.h: Move declarations to start in the first column.
16857
16858 2010-01-05  Eric Blake  <ebb9@byu.net>
16859
16860         mkdir: avoid xalloc
16861         * lib/mkdir.c (includes): Drop unused header.
16862         Reported by John W. Eaton.
16863
16864 2010-01-04  Jim Meyering  <meyering@redhat.com>
16865
16866         nl_langinfo: avoid configure-time syntax error
16867         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
16868         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
16869         the empty string.  Don't let that provoke a shell syntax error.
16870
16871         regcomp, regexec, fnmatch: avoid array bounds read error
16872         * lib/regcomp.c (build_equiv_class): From glibc:
16873         Use only the low 24 bits of a findidx return value as an index
16874         into the weights array.  Patch by Ulrich Drepper:
16875         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
16876         * lib/regexec.c (check_node_accept_bytes): Likewise.
16877         * lib/fnmatch_loop.c (FCT): Likewise.
16878
16879         regcomp: skip collseq lookup when there are no rules
16880         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
16881         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
16882
16883         regcomp: recognize ill-formed { } expressions
16884         * lib/regcomp.c (parse_dup_op): From glibc:
16885         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
16886
16887         regcomp: fix typo in comment
16888         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
16889         s/satisfy/satisfies/.
16890
16891         regcomp: sync from glibc: remove dead store
16892         * lib/regcomp.c (duplicate_node_closure): Remove useless
16893         search_duplicated_node call and dead store.
16894
16895         regcomp: sync from glibc; always use nl_langinfo
16896         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
16897         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
16898         * modules/regex (Depends-on): Add nl_langinfo.
16899
16900 2010-01-04  Eric Blake  <ebb9@byu.net>
16901
16902         fdopendir: fix configure test
16903         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
16904
16905 2010-01-01  Bruno Haible  <bruno@clisp.org>
16906
16907         wchar: Remove unused configure check.
16908         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
16909
16910 2010-01-01  Eric Blake  <ebb9@byu.net>
16911
16912         headers: make check of system header explicit
16913         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
16914         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
16915         ourselves.
16916         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16917         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16918         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
16919         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
16920         internals.
16921         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
16922         missing.
16923         Suggested by Bruno Haible.
16924
16925 2010-01-01  Jim Meyering  <meyering@redhat.com>
16926
16927         ChangeLog: tweak to eliminate unnecessary copyright line
16928         * ChangeLog: Remove a copyright line that was mistakenly updated
16929         by today's update-copyright run.  Reported by Eric Blake.
16930
16931         test-update-copyright: don't let envvar setting cause test failure
16932         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
16933
16934 2010-01-01  Bruno Haible  <bruno@clisp.org>
16935
16936         localename: Avoid gcc warning.
16937         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
16938         function if it is not used.
16939
16940 2010-01-01  Jim Meyering  <meyering@redhat.com>
16941
16942         update nearly all FSF copyright year lists to include 2010
16943         Use the same procedure as for 2009, outlined in
16944         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
16945
16946         version-etc: set COPYRIGHT_YEAR to 2010
16947         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
16948
16949 2009-12-31  Eric Blake  <ebb9@byu.net>
16950
16951         doc: correct availability of cygwin 1.5.x getopt
16952         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
16953         variables.
16954         * doc/posix-functions/opterr.texi (opterr): Likewise.
16955         * doc/posix-functions/optind.texi (optind): Likewise.
16956         * doc/posix-functions/optopt.texi (optopt): Likewise.
16957         * doc/posix-functions/tzname.texi (tzname): Likewise.
16958
16959         openat: update maintainer
16960         * modules/openat (Maintainer): Add myself.
16961
16962         utimens: avoid shadowing warning
16963         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
16964         buffers into one, to avoid shadowing, as well as avoiding a
16965         redundant stat.
16966         Reported by Jim Meyering.
16967
16968         test-dup2: avoid compiler warning
16969         * tests/test-dup2.c (is_inheritable): Only define if used.
16970
16971 2010-01-01  Bruno Haible  <bruno@clisp.org>
16972
16973         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
16974         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
16975         defined, use wctomb instead of wcrtomb.
16976
16977 2010-01-01  Bruno Haible  <bruno@clisp.org>
16978
16979         iconv: Reject native Solaris iconv.
16980         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
16981         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
16982
16983 2009-12-31  Bruno Haible  <bruno@clisp.org>
16984
16985         * tests/test-signal.c (main): Remove test of 'SIG'.
16986
16987 2009-12-31  Bruno Haible  <bruno@clisp.org>
16988
16989         spawn: Fix incomplete fix.
16990         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
16991         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
16992         warnings for GNULIB_POSIXCHECK again.
16993         Reported by Eric Blake.
16994
16995 2009-12-31  Bruno Haible  <bruno@clisp.org>
16996
16997         Avoid namespace pollution on glibc systems.
16998         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
16999         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
17000         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
17001         glibc systems.
17002
17003 2009-12-31  Bruno Haible  <bruno@clisp.org>
17004
17005         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
17006         (gl_REPLACE_WCHAR_H): Turn into a no-op.
17007         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
17008         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17009         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17010         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17011         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17012
17013 2009-12-31  Bruno Haible  <bruno@clisp.org>
17014
17015         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
17016         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
17017         afterwards.
17018
17019 2009-12-31  Bruno Haible  <bruno@clisp.org>
17020
17021         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
17022         SYS_UTSNAME_H.
17023
17024 2009-12-31  Bruno Haible  <bruno@clisp.org>
17025
17026         spawn: Fix misapplied patch.
17027         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
17028         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
17029         warnings for GNULIB_POSIXCHECK.
17030
17031 2009-12-31  Bruno Haible  <bruno@clisp.org>
17032
17033         times: Update after sys_times changed.
17034         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
17035         * modules/times (Files): Add it.
17036         (configure.ac): Invoke gl_FUNC_TIMES.
17037
17038 2009-12-31  Bruno Haible  <bruno@clisp.org>
17039
17040         Use AC_C_INLINE where necessary.
17041         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
17042         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
17043         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
17044         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
17045         * m4/mbfile.m4 (gl_MBFILE): Likewise.
17046         * m4/mbiter.m4 (gl_MBITER): Likewise.
17047         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
17048         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17049         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
17050         * modules/u64 (configure.ac): Likewise.
17051
17052 2009-12-31  Bruno Haible  <bruno@clisp.org>
17053
17054         Use AC_C_INLINE instead of module 'inline' where possible.
17055         * modules/inline (Description): Clarify purpose.
17056         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
17057         * modules/count-one-bits (Depends-on): Remove inline.
17058         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
17059         * modules/openat (Depends-on): Remove inline.
17060         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
17061         instead of depending on module 'inline'.
17062         * modules/filevercmp (Depends-on, configure.ac): Likewise.
17063         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
17064         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
17065         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
17066         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
17067         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
17068         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
17069         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
17070         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
17071         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
17072         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
17073         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
17074         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
17075         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
17076         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
17077         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
17078         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
17079         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
17080         Likewise.
17081         * modules/unictype/property-ascii-hex-digit (Depends-on,
17082         configure.ac): Likewise.
17083         * modules/unictype/property-bidi-arabic-digit (Depends-on,
17084         configure.ac): Likewise.
17085         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
17086         configure.ac): Likewise.
17087         * modules/unictype/property-bidi-block-separator (Depends-on,
17088         configure.ac): Likewise.
17089         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
17090         configure.ac): Likewise.
17091         * modules/unictype/property-bidi-common-separator (Depends-on,
17092         configure.ac): Likewise.
17093         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
17094         Likewise.
17095         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
17096         configure.ac): Likewise.
17097         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
17098         configure.ac): Likewise.
17099         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
17100         configure.ac): Likewise.
17101         * modules/unictype/property-bidi-european-digit (Depends-on,
17102         configure.ac): Likewise.
17103         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
17104         configure.ac): Likewise.
17105         * modules/unictype/property-bidi-left-to-right (Depends-on,
17106         configure.ac): Likewise.
17107         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
17108         configure.ac): Likewise.
17109         * modules/unictype/property-bidi-other-neutral (Depends-on,
17110         configure.ac): Likewise.
17111         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
17112         Likewise.
17113         * modules/unictype/property-bidi-segment-separator (Depends-on,
17114         configure.ac): Likewise.
17115         * modules/unictype/property-bidi-whitespace (Depends-on,
17116         configure.ac): Likewise.
17117         * modules/unictype/property-combining (Depends-on, configure.ac):
17118         Likewise.
17119         * modules/unictype/property-composite (Depends-on, configure.ac):
17120         Likewise.
17121         * modules/unictype/property-currency-symbol (Depends-on,
17122         configure.ac): Likewise.
17123         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
17124         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
17125         Likewise.
17126         * modules/unictype/property-default-ignorable-code-point (Depends-on,
17127         configure.ac): Likewise.
17128         * modules/unictype/property-deprecated (Depends-on, configure.ac):
17129         Likewise.
17130         * modules/unictype/property-diacritic (Depends-on, configure.ac):
17131         Likewise.
17132         * modules/unictype/property-extender (Depends-on, configure.ac):
17133         Likewise.
17134         * modules/unictype/property-format-control (Depends-on, configure.ac):
17135         Likewise.
17136         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
17137         Likewise.
17138         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
17139         Likewise.
17140         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
17141         Likewise.
17142         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
17143         Likewise.
17144         * modules/unictype/property-hyphen (Depends-on, configure.ac):
17145         Likewise.
17146         * modules/unictype/property-id-continue (Depends-on, configure.ac):
17147         Likewise.
17148         * modules/unictype/property-id-start (Depends-on, configure.ac):
17149         Likewise.
17150         * modules/unictype/property-ideographic (Depends-on, configure.ac):
17151         Likewise.
17152         * modules/unictype/property-ids-binary-operator (Depends-on,
17153         configure.ac): Likewise.
17154         * modules/unictype/property-ids-trinary-operator (Depends-on,
17155         configure.ac): Likewise.
17156         * modules/unictype/property-ignorable-control (Depends-on,
17157         configure.ac): Likewise.
17158         * modules/unictype/property-iso-control (Depends-on, configure.ac):
17159         Likewise.
17160         * modules/unictype/property-join-control (Depends-on, configure.ac):
17161         Likewise.
17162         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
17163         Likewise.
17164         * modules/unictype/property-line-separator (Depends-on, configure.ac):
17165         Likewise.
17166         * modules/unictype/property-logical-order-exception (Depends-on,
17167         configure.ac): Likewise.
17168         * modules/unictype/property-lowercase (Depends-on, configure.ac):
17169         Likewise.
17170         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
17171         * modules/unictype/property-non-break (Depends-on, configure.ac):
17172         Likewise.
17173         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
17174         Likewise.
17175         * modules/unictype/property-numeric (Depends-on, configure.ac):
17176         Likewise.
17177         * modules/unictype/property-other-alphabetic (Depends-on,
17178         configure.ac): Likewise.
17179         * modules/unictype/property-other-default-ignorable-code-point
17180         (Depends-on, configure.ac): Likewise.
17181         * modules/unictype/property-other-grapheme-extend (Depends-on,
17182         configure.ac): Likewise.
17183         * modules/unictype/property-other-id-continue (Depends-on,
17184         configure.ac): Likewise.
17185         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
17186         Likewise.
17187         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
17188         Likewise.
17189         * modules/unictype/property-other-math (Depends-on, configure.ac):
17190         Likewise.
17191         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
17192         Likewise.
17193         * modules/unictype/property-paired-punctuation (Depends-on,
17194         configure.ac): Likewise.
17195         * modules/unictype/property-paragraph-separator (Depends-on,
17196         configure.ac): Likewise.
17197         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
17198         Likewise.
17199         * modules/unictype/property-pattern-white-space (Depends-on,
17200         configure.ac): Likewise.
17201         * modules/unictype/property-private-use (Depends-on, configure.ac):
17202         Likewise.
17203         * modules/unictype/property-punctuation (Depends-on, configure.ac):
17204         Likewise.
17205         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
17206         Likewise.
17207         * modules/unictype/property-radical (Depends-on, configure.ac):
17208         Likewise.
17209         * modules/unictype/property-sentence-terminal (Depends-on,
17210         configure.ac): Likewise.
17211         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
17212         Likewise.
17213         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
17214         * modules/unictype/property-terminal-punctuation (Depends-on,
17215         configure.ac): Likewise.
17216         * modules/unictype/property-titlecase (Depends-on, configure.ac):
17217         Likewise.
17218         * modules/unictype/property-unassigned-code-value (Depends-on,
17219         configure.ac): Likewise.
17220         * modules/unictype/property-unified-ideograph (Depends-on,
17221         configure.ac): Likewise.
17222         * modules/unictype/property-uppercase (Depends-on, configure.ac):
17223         Likewise.
17224         * modules/unictype/property-variation-selector (Depends-on,
17225         configure.ac): Likewise.
17226         * modules/unictype/property-white-space (Depends-on, configure.ac):
17227         Likewise.
17228         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
17229         Likewise.
17230         * modules/unictype/property-xid-start (Depends-on, configure.ac):
17231         Likewise.
17232         * modules/unictype/property-zero-width (Depends-on, configure.ac):
17233         Likewise.
17234         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
17235         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
17236         Likewise.
17237
17238 2009-12-31  Bruno Haible  <bruno@clisp.org>
17239
17240         Remove unnecessary AC_C_INLINE invocation.
17241         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
17242         since 2009-08-21.
17243
17244 2009-12-31  Jim Meyering  <meyering@redhat.com>
17245
17246         maint.mk: don't require explicit gpg_key_ID in cfg.mk
17247         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
17248         With this change, we can all remove the gpg_key_ID = ... definition
17249         from our respective cfg.mk files.
17250
17251         maint.mk: create announcement template in ~/, not in /tmp
17252         * top/maint.mk (emit_upload_commands): Adjust.
17253         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
17254         Remove temporary file, .ci-msg.
17255
17256 2009-12-31  Eric Blake  <ebb9@byu.net>
17257
17258         link-warning: always build headers with link warnings
17259         * modules/arpa_inet (Makefile.am): Always build replacement
17260         header.
17261         * modules/ctype (Makefile.am): Likewise.
17262         * modules/dirent (Makefile.am): Likewise.
17263         * modules/inttypes (Makefile.am): Likewise.
17264         * modules/langinfo (Makefile.am): Likewise.
17265         * modules/locale (Makefile.am): Likewise.
17266         * modules/spawn (Makefile.am): Likewise.
17267         * modules/sys_file (Makefile.am): Likewise.
17268         * modules/sys_ioctl (Makefile.am): Likewise.
17269         * modules/sys_select (Makefile.am): Likewise.
17270         * modules/sys_socket (Makefile.am): Likewise.
17271         * modules/sys_times (Makefile.am): Likewise.
17272         * modules/sys_utsname (Makefile.am): Likewise.
17273         * modules/sys_wait (Makefile.am): Likewise.
17274         * modules/wchar (Makefile.am): Likewise.
17275         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
17276         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
17277         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
17278         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
17279         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
17280         Likewise.
17281         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17282         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17283         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
17284         Likewise.
17285         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
17286         Likewise.
17287         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
17288         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
17289         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
17290         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17291         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17292         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17293         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17294         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
17295         (gl_WCHAR_H_DEFAULTS): Likewise.
17296
17297 2009-12-31  Eric Blake  <ebb9@byu.net>
17298
17299         signal, spawn: use link warnings
17300         * lib/signal.in.h (sigset_t): Make unconditional.
17301         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
17302         (sigpending, sigprocmask, sigaction): Add link warnings.
17303         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
17304         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
17305         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
17306         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
17307         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
17308         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
17309         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
17310         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
17311         (posix_spawn_file_actions_destroy)
17312         (posix_spawn_file_actions_addopen)
17313         (posix_spawn_file_actions_addclose)
17314         (posix_spawn_file_actions_adddup2): Likewise.
17315         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
17316         * tests/test-signal.c (main): Enhance test.
17317
17318         spawn: improve wrapper support
17319         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
17320         (gl_SPAWN_H_DEFAULTS): New defaults.
17321         * modules/spawn (Makefile.am): Substitute them.
17322         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
17323         Only declare if missing or broken.
17324
17325         sys_times, sys_utsname: use include_next
17326         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
17327         header.
17328         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
17329         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
17330         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
17331         * modules/sys_times (Depends-on): Add include_next.
17332         (Makefile.am): Substitute additional values.
17333         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17334         * lib/sys_times.in.h (includes): Include native header, if
17335         available.
17336         * lib/sys_utsname.in.h (includes): Likewise.
17337         * tests/test-sys_times.c (main): Enhance test.
17338
17339         fdutimensat: revert prior patch
17340         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
17341         utimens.h.
17342         Reported by Bruno Haible.
17343
17344 2009-12-30  Eric Blake  <ebb9@byu.net>
17345
17346         sys_wait: drop link-warning dependency
17347         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
17348         link-warning efforts.
17349         * lib/sys_wait.in.h: Likewise.
17350
17351         fdutimensat: remove bogus dependency
17352         * modules/fdutimensat (Depends-on): Drop inline.
17353
17354         unistd: fix typo
17355         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
17356
17357 2009-12-30  Bruno Haible  <bruno@clisp.org>
17358
17359         Fix compilation error with Solaris cc.
17360         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
17361         * lib/unicase/u16-is-invariant.c: Likewise.
17362         * lib/unicase/u32-is-invariant.c: Likewise.
17363         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
17364
17365 2009-12-30  Bruno Haible  <bruno@clisp.org>
17366
17367         Fix test crash.
17368         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
17369         locales.
17370         Reported by Simon Josefsson <simon@josefsson.org>.
17371
17372 2009-12-30  Bruno Haible  <bruno@clisp.org>
17373
17374         Fix compilation error on most platforms.
17375         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
17376         Reported by Simon Josefsson <simon@josefsson.org>
17377         and Nelson H. F. Beebe <beebe@math.utah.edu>.
17378
17379 2009-12-30  Eric Blake  <ebb9@byu.net>
17380
17381         futimens, utimensat: work around ntfs-3g bug
17382         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
17383         a ctime bug is present, and expand workaround to cover ntfs-3g.
17384         * lib/utimens.c (fdutimens, lutimens): Likewise.
17385         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
17386         (validate_timespec): Adjust return value.
17387         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
17388         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17389         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
17390
17391 2009-12-29  Eric Blake  <ebb9@byu.net>
17392
17393         link-warning: make usage consistent
17394         * modules/ctype (Depends-on): Add link-warning.
17395         (Makefile.am): Update rules accordingly.
17396         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17397         * modules/locale (Depends-on, Makefile.am): Likewise.
17398         * modules/sys_file (Makefile.am): Likewise.
17399         * modules/getopt-posix (Makefile.am): Delete unused link warning
17400         efforts.
17401         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
17402         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
17403         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
17404         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
17405
17406         stdio: remove unused variables
17407         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
17408         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
17409         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
17410
17411         tests: test more substitute headers
17412         * modules/ctype-tests: New file.
17413         * modules/dirent-tests: Likewise.
17414         * modules/spawn-tests: Likewise.
17415         * modules/sys_file-tests: Likewise.
17416         * modules/sys_ioctl-tests: Likewise.
17417         * modules/sys_wait-tests: Likewise.
17418         * tests/test-ctype.c: Likewise.
17419         * tests/test-dirent.c: Likewise.
17420         * tests/test-spawn.c: Likewise.
17421         * tests/test-sys_file.c: Likewise.
17422         * tests/test-sys_ioctl.c: Likewise.
17423         * tests/test-sys_wait.c: Likewise.
17424         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
17425         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
17426         whether or not flock is in use.
17427
17428         tests: remove License section from module
17429         * modules/arpa_inet-tests: Remove unneeded section.
17430         * modules/byteswap-tests: Likewise.
17431         * modules/ceilf-tests: Likewise.
17432         * modules/ceill-tests: Likewise.
17433         * modules/crypto/des-tests: Likewise.
17434         * modules/crypto/gc-arcfour-tests: Likewise.
17435         * modules/crypto/gc-arctwo-tests: Likewise.
17436         * modules/crypto/gc-des-tests: Likewise.
17437         * modules/crypto/gc-hmac-md5-tests: Likewise.
17438         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17439         * modules/crypto/gc-md2-tests: Likewise.
17440         * modules/crypto/gc-md4-tests: Likewise.
17441         * modules/crypto/gc-md5-tests: Likewise.
17442         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17443         * modules/crypto/gc-rijndael-tests: Likewise.
17444         * modules/crypto/gc-sha1-tests: Likewise.
17445         * modules/crypto/gc-tests: Likewise.
17446         * modules/crypto/md2-tests: Likewise.
17447         * modules/crypto/md4-tests: Likewise.
17448         * modules/fcntl-h-tests: Likewise.
17449         * modules/floorf-tests: Likewise.
17450         * modules/floorl-tests: Likewise.
17451         * modules/frexp-nolibm-tests: Likewise.
17452         * modules/frexp-tests: Likewise.
17453         * modules/frexpl-nolibm-tests: Likewise.
17454         * modules/frexpl-tests: Likewise.
17455         * modules/getaddrinfo-tests: Likewise.
17456         * modules/inttypes-tests: Likewise.
17457         * modules/isfinite-tests: Likewise.
17458         * modules/isinf-tests: Likewise.
17459         * modules/ldexpl-tests: Likewise.
17460         * modules/locale-tests: Likewise.
17461         * modules/math-tests: Likewise.
17462         * modules/netdb-tests: Likewise.
17463         * modules/netinet_in-tests: Likewise.
17464         * modules/printf-frexp-tests: Likewise.
17465         * modules/printf-frexpl-tests: Likewise.
17466         * modules/priv-set-tests: Likewise.
17467         * modules/random_r-tests: Likewise.
17468         * modules/round-tests: Likewise.
17469         * modules/roundf-tests: Likewise.
17470         * modules/roundl-tests: Likewise.
17471         * modules/search-tests: Likewise.
17472         * modules/select-tests: Likewise.
17473         * modules/signal-tests: Likewise.
17474         * modules/stdbool-tests: Likewise.
17475         * modules/stddef-tests: Likewise.
17476         * modules/stdint-tests: Likewise.
17477         * modules/stdio-tests: Likewise.
17478         * modules/stdlib-tests: Likewise.
17479         * modules/string-tests: Likewise.
17480         * modules/strings-tests: Likewise.
17481         * modules/sys_select-tests: Likewise.
17482         * modules/sys_socket-tests: Likewise.
17483         * modules/sys_stat-tests: Likewise.
17484         * modules/sys_time-tests: Likewise.
17485         * modules/sys_utsname-tests: Likewise.
17486         * modules/sysexits-tests: Likewise.
17487         * modules/time-tests: Likewise.
17488         * modules/trunc-tests: Likewise.
17489         * modules/truncf-tests: Likewise.
17490         * modules/truncl-tests: Likewise.
17491         * modules/tsearch-tests: Likewise.
17492         * modules/unistd-tests: Likewise.
17493         * modules/wchar-tests: Likewise.
17494         * modules/wctype-tests: Likewise.
17495
17496         tests: fix license on several tests
17497         * tests/test-des.c: Update to GPLv3+.
17498         * tests/test-flock.c: Likewise.
17499         * tests/test-fsync.c: Likewise.
17500         * tests/test-futimens.h: Likewise.
17501         * tests/test-gc-arcfour.c: Likewise.
17502         * tests/test-gc-arctwo.c: Likewise.
17503         * tests/test-gc-des.c: Likewise.
17504         * tests/test-gc-hmac-md5.c: Likewise.
17505         * tests/test-gc-hmac-sha1.c: Likewise.
17506         * tests/test-gc-md2.c: Likewise.
17507         * tests/test-gc-md4.c: Likewise.
17508         * tests/test-gc-md5.c: Likewise.
17509         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17510         * tests/test-gc-rijndael.c: Likewise.
17511         * tests/test-gc-sha1.c: Likewise.
17512         * tests/test-gc.c: Likewise.
17513         * tests/test-getcwd.c: Likewise.
17514         * tests/test-link.c: Likewise.
17515         * tests/test-link.h: Likewise.
17516         * tests/test-lutimens.h: Likewise.
17517         * tests/test-md2.c: Likewise.
17518         * tests/test-md4.c: Likewise.
17519         * tests/test-mkdir.h: Likewise.
17520         * tests/test-rename.c: Likewise.
17521         * tests/test-rename.h: Likewise.
17522         * tests/test-safe-alloc.c: Likewise.
17523         * tests/test-utimens-common.h: Likewise.
17524         * tests/test-utimens.h: Likewise.
17525
17526         maint: sync license texts
17527         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
17528         * doc/gpl-3.0.texi: Revert copyright year update.
17529         * doc/lgpl-3.0.texi: Likewise.
17530
17531 2009-12-29  Jim Meyering  <meyering@redhat.com>
17532
17533         update nearly all FSF copyright year lists to include 2009
17534         The files named by the following are exempted:
17535             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
17536               test -f "$dst" && { echo "$dst"; continue; }
17537               test -d "$dst" || continue
17538               echo "$dst"/$(basename "$src")
17539             done > exempt
17540             git ls-files tests/unictype >> exempt
17541         In the remaining files, convert to all-interval notation if
17542         - there is already at least one year interval like 2000-2003
17543         - the file is maintained by me
17544         - the file is in lib/uni*/, where that style already prevails
17545         Otherwise, use update-copyright's default.
17546
17547 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17548         and Eric Blake  <ebb9@byu.net>
17549
17550         tests: don't require debug system() to pass
17551         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
17552         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17553         * tests/test-unlink.h (test_unlink_func): Likewise.
17554         * tests/test-fstatat.c (main): ...into callers.
17555         * tests/test-lstat.c (main): Likewise.
17556         * tests/test-rmdir.c (main): Likewise.
17557         * tests/test-unlink.c (main): Likewise.
17558         * tests/test-unlinkat.c (main): Likewise.
17559         * tests/test-areadlink-with-size.c (main): Don't require a
17560         debug-only system call to pass, aiding cross-testing to mingw.
17561         * tests/test-areadlink.c (main): Likewise.
17562         * tests/test-areadlinkat-with-size.c (main): Likewise.
17563         * tests/test-areadlinkat.c (main): Likewise.
17564         * tests/test-canonicalize-lgpl.c (main): Likewise.
17565         * tests/test-canonicalize.c (main): Likewise.
17566         * tests/test-chown.c (main): Likewise.
17567         * tests/test-fchownat.c (main): Likewise.
17568         * tests/test-lchown.c (main): Likewise.
17569         * tests/test-fdutimensat.c (main): Likewise.
17570         * tests/test-futimens.c (main): Likewise.
17571         * tests/test-link.c (main): Likewise.
17572         * tests/test-linkat.c (main): Likewise.
17573         * tests/test-mkdir.c (main): Likewise.
17574         * tests/test-mkdirat.c (main): Likewise.
17575         * tests/test-mkfifo.c (main): Likewise.
17576         * tests/test-mkfifoat.c (main): Likewise.
17577         * tests/test-mknod.c (main): Likewise.
17578         * tests/test-readlink.c (main): Likewise.
17579         * tests/test-remove.c (main): Likewise.
17580         * tests/test-rename.c (main): Likewise.
17581         * tests/test-renameat.c (main): Likewise.
17582         * tests/test-symlink.c (main): Likewise.
17583         * tests/test-symlinkat.c (main): Likewise.
17584         * tests/test-utimens.c (main): Likewise.
17585         * tests/test-utimensat.c (main): Likewise.
17586
17587 2009-12-29  Simon Josefsson  <simon@josefsson.org>
17588
17589         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
17590         on $(UNUSED_PARAMETER_H) to avoid build failure.
17591
17592 2009-12-28  Jim Meyering  <meyering@redhat.com>
17593
17594         update-copyright: you may specify a max. line length other than 72
17595         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
17596
17597         maint: use consistent FSF copyright line syntax
17598         * lib/posixtm.c: Add missing comma in FSF copyright line.
17599         * lib/posixtm.h: Likewise.
17600         * lib/getugroups.c: Add missing ", Inc.".
17601
17602         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
17603         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
17604         FSF copyright line.  Remove trailing blanks.
17605
17606 2009-12-28  Eric Blake  <ebb9@byu.net>
17607
17608         test-dup2: reduce dependencies
17609         * modules/cloexec (Configure.ac): Set witness.
17610         * modules/dup2-tests (Depends-on): Drop cloexec.
17611         * tests/test-dup2.c (main): Skip portion of test if cloexec module
17612         not present.
17613         Suggested by Bruno Haible.
17614
17615 2009-12-26  Bruno Haible  <bruno@clisp.org>
17616
17617         Remove an unneeded dependency.
17618         * modules/fseterr (Depends-on): Remove dup2.
17619
17620 2009-12-26  Eric Blake  <ebb9@byu.net>
17621
17622         tests: use macros.h in more places
17623         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
17624         (ASSERT_STREAM): Provide default of stderr.
17625         * tests/test-dirent-safer.c: Include macros.h, using alternate
17626         stream for assertions.
17627         * tests/test-dup-safer.c: Likewise.
17628         * tests/test-freopen-safer.c: Likewise.
17629         * tests/test-getopt.c: Likewise.
17630         * tests/test-openat-safer.c: Likewise.
17631         * tests/test-pipe.c: Likewise.
17632         * tests/test-popen-safer.c: Likewise.
17633         * modules/dirent-safer-tests (Files): Include macros.h.
17634         * modules/unistd-safer-tests (Files): Likewise.
17635         * modules/freopen-safer-tests (Files): Likewise.
17636         * modules/getopt-posix-tests (Files): Likewise.
17637         * modules/openat-safer-tests (Files): Likewise.
17638         * modules/pipe-tests (Files): Likewise.
17639
17640 2009-12-26  Bruno Haible  <bruno@clisp.org>
17641
17642         javacomp: Portability fix.
17643         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
17644         that it also works on Solaris.
17645
17646 2009-12-26  Bruno Haible  <bruno@clisp.org>
17647
17648         localename: Fix storage allocation of gl_locale_name_thread's result.
17649         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
17650         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
17651         all platforms that have 'uselocale'.
17652         (gl_locale_name_thread_unsafe): New function, extracted from
17653         gl_locale_name_thread.
17654         (gl_locale_name_thread): Call struniq on all platforms that have
17655         'uselocale'.
17656         * tests/test-localename.c (test_locale_name_thread): Check that the
17657         resulting strings are permanently allocated.
17658         * modules/localename-tests (Depends-on): Add strdup.
17659
17660 2009-12-26  Bruno Haible  <bruno@clisp.org>
17661
17662         * tests/test-localename.c (categories): Fill in the strings.
17663
17664 2009-12-26  Jim Meyering  <meyering@redhat.com>
17665
17666         isdir: complete the removal of m4/isdir.m4
17667         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
17668
17669         isdir: clean up, since at least grep still uses it
17670         * lib/isdir.c: Include "isdir.h".
17671         (S_ISDIR): Remove now-unneeded definition.
17672         * modules/isdir (Files): Add lib/isdir.h.
17673         * lib/isdir.h: New file, with declaration.
17674         * m4/isdir.m4: Remove file -- unneeded.
17675
17676 2009-12-25  Bruno Haible  <bruno@clisp.org>
17677
17678         selinux-h: Make generated .h files standalone.
17679         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
17680         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
17681         * lib/se-selinux.in.h: Likewise.
17682         * modules/selinux-h (Depends-on): Add unused-parameter.
17683         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
17684         selinux/selinux.h and selinux/context.h.
17685         Suggested by Eric Blake.
17686
17687 2009-12-25  Bruno Haible  <bruno@clisp.org>
17688
17689         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
17690         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
17691         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
17692         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
17693         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
17694
17695 2009-12-24  Bruno Haible  <bruno@clisp.org>
17696
17697         openat: Fix warning.
17698         * lib/openat-proc.c: Include <unistd.h>.
17699
17700 2009-12-24  Bruno Haible  <bruno@clisp.org>
17701
17702         New module 'unused-parameter'.
17703         * build-aux/unused-parameter.h: New file, extracted from earlier
17704         gnulib-common.m4.
17705         * modules/unused-parameter: New file.
17706         * lib/unistr.h: Include unused-parameter.h.
17707         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
17708         _GL_UNUSED.
17709         * modules/unistr/base (Depends-on): Add unused-parameter.
17710
17711 2009-12-24  Bruno Haible  <bruno@clisp.org>
17712
17713         Add missing dependencies to 'extensions' module.
17714         * m4/extensions.m4: Add comment.
17715         * modules/accept4 (Depends-on): Add extensions.
17716         * modules/dup3 (Depends-on): Likewise.
17717         * modules/fcntl (Depends-on): Likewise.
17718         * modules/futimens (Depends-on): Likewise.
17719         * modules/mknod (Depends-on): Likewise.
17720         * modules/pipe2 (Depends-on): Likewise.
17721         * modules/stat-time (Depends-on): Likewise.
17722         * modules/strcasestr-simple (Depends-on): Likewise.
17723         * modules/strsignal (Depends-on): Likewise.
17724         * modules/utimensat (Depends-on): Likewise.
17725         * modules/localcharset (Depends-on): Likewise. Needed because of
17726         gl_FCNTL_O_FLAGS.
17727         * modules/wcrtomb (Depends-on): Likewise. Needed because of
17728         AC_TYPE_MBSTATE_T.
17729         * modules/wcsnrtombs (Depends-on): Likewise.
17730         * modules/wcsrtombs (Depends-on): Likewise.
17731
17732 2009-12-24  Bruno Haible  <bruno@clisp.org>
17733
17734         binary-io: Avoid gcc warning due to SET_BINARY.
17735         * lib/binary-io.h (SET_BINARY): Cast the result to void.
17736         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
17737
17738 2009-12-24  Bruno Haible  <bruno@clisp.org>
17739
17740         Avoid future namespace pollution on glibc systems.
17741         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
17742         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
17743         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
17744         glibc systems.
17745
17746 2009-12-24  Bruno Haible  <bruno@clisp.org>
17747
17748         Refactor common macros used in tests.
17749         * tests/macros.h: New file.
17750         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
17751         and/or <stdlib.h>, if appropriate.
17752         (ASSERT, SIZEOF): Remove macros.
17753         * tests/test-areadlink-with-size.c: Likewise.
17754         * tests/test-areadlinkat.c: Likewise.
17755         * tests/test-areadlinkat-with-size.c: Likewise.
17756         * tests/test-argmatch.c: Likewise.
17757         * tests/test-argv-iter.c: Likewise.
17758         * tests/test-array-mergesort.c: Likewise.
17759         * tests/test-array_list.c: Likewise.
17760         * tests/test-array_oset.c: Likewise.
17761         * tests/test-avltree_list.c: Likewise.
17762         * tests/test-avltree_oset.c: Likewise.
17763         * tests/test-avltreehash_list.c: Likewise.
17764         * tests/test-base64.c: Likewise.
17765         * tests/test-binary-io.c: Likewise.
17766         * tests/test-bitrotate.c: Likewise.
17767         * tests/test-btowc.c: Likewise.
17768         * tests/test-byteswap.c: Likewise.
17769         * tests/test-c-ctype.c: Likewise.
17770         * tests/test-c-stack.c: Likewise.
17771         * tests/test-c-strcasecmp.c: Likewise.
17772         * tests/test-c-strcasestr.c: Likewise.
17773         * tests/test-c-strncasecmp.c: Likewise.
17774         * tests/test-c-strstr.c: Likewise.
17775         * tests/test-canonicalize-lgpl.c: Likewise.
17776         * tests/test-canonicalize.c: Likewise.
17777         * tests/test-carray_list.c: Likewise.
17778         * tests/test-ceilf1.c: Likewise.
17779         * tests/test-ceilf2.c: Likewise.
17780         * tests/test-ceill.c: Likewise.
17781         * tests/test-chown.c: Likewise.
17782         * tests/test-cloexec.c: Likewise.
17783         * tests/test-copy-acl.c: Likewise.
17784         * tests/test-copy-file.c: Likewise.
17785         * tests/test-count-one-bits.c: Likewise.
17786         * tests/test-dprintf-posix.c: Likewise.
17787         * tests/test-dup2.c: Likewise.
17788         * tests/test-dup3.c: Likewise.
17789         * tests/test-duplocale.c: Likewise.
17790         * tests/test-fbufmode.c: Likewise.
17791         * tests/test-fchdir.c: Likewise.
17792         * tests/test-fchownat.c: Likewise.
17793         * tests/test-fcntl-safer.c: Likewise.
17794         * tests/test-fcntl.c: Likewise.
17795         * tests/test-fdopendir.c: Likewise.
17796         * tests/test-fdutimensat.c: Likewise.
17797         * tests/test-fflush2.c: Likewise.
17798         * tests/test-file-has-acl.c: Likewise.
17799         * tests/test-filevercmp.c: Likewise.
17800         * tests/test-flock.c: Likewise.
17801         * tests/test-floorf1.c: Likewise.
17802         * tests/test-floorf2.c: Likewise.
17803         * tests/test-floorl.c: Likewise.
17804         * tests/test-fnmatch.c: Likewise.
17805         * tests/test-fopen.h: Likewise.
17806         * tests/test-fpending.c: Likewise.
17807         * tests/test-fprintf-posix.c: Likewise.
17808         * tests/test-fpurge.c: Likewise.
17809         * tests/test-freadable.c: Likewise.
17810         * tests/test-freadahead.c: Likewise.
17811         * tests/test-freading.c: Likewise.
17812         * tests/test-freadptr.c: Likewise.
17813         * tests/test-freadptr2.c: Likewise.
17814         * tests/test-freadseek.c: Likewise.
17815         * tests/test-freopen.c: Likewise.
17816         * tests/test-frexp.c: Likewise.
17817         * tests/test-frexpl.c: Likewise.
17818         * tests/test-fseek.c: Likewise.
17819         * tests/test-fseeko.c: Likewise.
17820         * tests/test-fstatat.c: Likewise.
17821         * tests/test-fstrcmp.c: Likewise.
17822         * tests/test-fsync.c: Likewise.
17823         * tests/test-ftell.c: Likewise.
17824         * tests/test-ftello.c: Likewise.
17825         * tests/test-func.c: Likewise.
17826         * tests/test-futimens.c: Likewise.
17827         * tests/test-fwritable.c: Likewise.
17828         * tests/test-fwriting.c: Likewise.
17829         * tests/test-getcwd.c: Likewise.
17830         * tests/test-getdate.c: Likewise.
17831         * tests/test-getdelim.c: Likewise.
17832         * tests/test-getdtablesize.c: Likewise.
17833         * tests/test-getgroups.c: Likewise.
17834         * tests/test-getline.c: Likewise.
17835         * tests/test-getndelim2.c: Likewise.
17836         * tests/test-glob.c: Likewise.
17837         * tests/test-hash.c: Likewise.
17838         * tests/test-i-ring.c: Likewise.
17839         * tests/test-iconv-utf.c: Likewise.
17840         * tests/test-iconv.c: Likewise.
17841         * tests/test-idpriv-drop.c: Likewise.
17842         * tests/test-idpriv-droptemp.c: Likewise.
17843         * tests/test-inet_ntop.c: Likewise.
17844         * tests/test-inet_pton.c: Likewise.
17845         * tests/test-isblank.c: Likewise.
17846         * tests/test-isfinite.c: Likewise.
17847         * tests/test-isinf.c: Likewise.
17848         * tests/test-isnan.c: Likewise.
17849         * tests/test-isnand.h: Likewise.
17850         * tests/test-isnanf.h: Likewise.
17851         * tests/test-isnanl.h: Likewise.
17852         * tests/test-lchown.c: Likewise.
17853         * tests/test-ldexpl.c: Likewise.
17854         * tests/test-link.c: Likewise.
17855         * tests/test-linkat.c: Likewise.
17856         * tests/test-linked_list.c: Likewise.
17857         * tests/test-linkedhash_list.c: Likewise.
17858         * tests/test-localename.c: Likewise.
17859         * tests/test-lseek.c: Likewise.
17860         * tests/test-lstat.c: Likewise.
17861         * tests/test-mbmemcasecmp.c: Likewise.
17862         * tests/test-mbmemcasecoll.c: Likewise.
17863         * tests/test-mbrtowc.c: Likewise.
17864         * tests/test-mbscasecmp.c: Likewise.
17865         * tests/test-mbscasestr1.c: Likewise.
17866         * tests/test-mbscasestr2.c: Likewise.
17867         * tests/test-mbscasestr3.c: Likewise.
17868         * tests/test-mbscasestr4.c: Likewise.
17869         * tests/test-mbschr.c: Likewise.
17870         * tests/test-mbscspn.c: Likewise.
17871         * tests/test-mbsinit.c: Likewise.
17872         * tests/test-mbsncasecmp.c: Likewise.
17873         * tests/test-mbsnrtowcs.c: Likewise.
17874         * tests/test-mbspbrk.c: Likewise.
17875         * tests/test-mbspcasecmp.c: Likewise.
17876         * tests/test-mbsrchr.c: Likewise.
17877         * tests/test-mbsrtowcs.c: Likewise.
17878         * tests/test-mbsspn.c: Likewise.
17879         * tests/test-mbsstr1.c: Likewise.
17880         * tests/test-mbsstr2.c: Likewise.
17881         * tests/test-mbsstr3.c: Likewise.
17882         * tests/test-memchr.c: Likewise.
17883         * tests/test-memchr2.c: Likewise.
17884         * tests/test-memcmp.c: Likewise.
17885         * tests/test-memmem.c: Likewise.
17886         * tests/test-memrchr.c: Likewise.
17887         * tests/test-mkdir.c: Likewise.
17888         * tests/test-mkdirat.c: Likewise.
17889         * tests/test-mkfifo.c: Likewise.
17890         * tests/test-mkfifoat.c: Likewise.
17891         * tests/test-mknod.c: Likewise.
17892         * tests/test-nanosleep.c: Likewise.
17893         * tests/test-nl_langinfo.c: Likewise.
17894         * tests/test-obstack-printf.c: Likewise.
17895         * tests/test-open.c: Likewise.
17896         * tests/test-openat.c: Likewise.
17897         * tests/test-pipe-filter-gi1.c: Likewise.
17898         * tests/test-pipe-filter-gi2-main.c: Likewise.
17899         * tests/test-pipe-filter-ii1.c: Likewise.
17900         * tests/test-pipe-filter-ii2-main.c: Likewise.
17901         * tests/test-pipe2.c: Likewise.
17902         * tests/test-popen.h: Likewise.
17903         * tests/test-posixtm.c: Likewise.
17904         * tests/test-pread.c: Likewise.
17905         * tests/test-printf-frexp.c: Likewise.
17906         * tests/test-printf-frexpl.c: Likewise.
17907         * tests/test-printf-posix.c: Likewise.
17908         * tests/test-priv-set.c: Likewise.
17909         * tests/test-quotearg.c: Likewise.
17910         * tests/test-random_r.c: Likewise.
17911         * tests/test-rawmemchr.c: Likewise.
17912         * tests/test-rbtree_list.c: Likewise.
17913         * tests/test-rbtree_oset.c: Likewise.
17914         * tests/test-rbtreehash_list.c: Likewise.
17915         * tests/test-readlink.c: Likewise.
17916         * tests/test-remove.c: Likewise.
17917         * tests/test-rename.c: Likewise.
17918         * tests/test-renameat.c: Likewise.
17919         * tests/test-rmdir.c: Likewise.
17920         * tests/test-round1.c: Likewise.
17921         * tests/test-roundf1.c: Likewise.
17922         * tests/test-roundl.c: Likewise.
17923         * tests/test-safe-alloc.c: Likewise.
17924         * tests/test-sameacls.c: Likewise.
17925         * tests/test-set-mode-acl.c: Likewise.
17926         * tests/test-setenv.c: Likewise.
17927         * tests/test-sigaction.c: Likewise.
17928         * tests/test-signbit.c: Likewise.
17929         * tests/test-sleep.c: Likewise.
17930         * tests/test-snprintf-posix.c: Likewise.
17931         * tests/test-snprintf.c: Likewise.
17932         * tests/test-sprintf-posix.c: Likewise.
17933         * tests/test-stat-time.c: Likewise.
17934         * tests/test-stat.c: Likewise.
17935         * tests/test-strcasestr.c: Likewise.
17936         * tests/test-strchrnul.c: Likewise.
17937         * tests/test-strerror.c: Likewise.
17938         * tests/test-striconv.c: Likewise.
17939         * tests/test-striconveh.c: Likewise.
17940         * tests/test-striconveha.c: Likewise.
17941         * tests/test-strsignal.c: Likewise.
17942         * tests/test-strstr.c: Likewise.
17943         * tests/test-strtod.c: Likewise.
17944         * tests/test-strverscmp.c: Likewise.
17945         * tests/test-symlink.c: Likewise.
17946         * tests/test-symlinkat.c: Likewise.
17947         * tests/test-trunc1.c: Likewise.
17948         * tests/test-trunc2.c: Likewise.
17949         * tests/test-truncf1.c: Likewise.
17950         * tests/test-truncf2.c: Likewise.
17951         * tests/test-truncl.c: Likewise.
17952         * tests/test-uname.c: Likewise.
17953         * tests/test-unlink.c: Likewise.
17954         * tests/test-unlinkat.c: Likewise.
17955         * tests/test-unsetenv.c: Likewise.
17956         * tests/test-usleep.c: Likewise.
17957         * tests/test-utimens.c: Likewise.
17958         * tests/test-utimensat.c: Likewise.
17959         * tests/test-vasnprintf-posix.c: Likewise.
17960         * tests/test-vasnprintf-posix2.c: Likewise.
17961         * tests/test-vasnprintf.c: Likewise.
17962         * tests/test-vasprintf-posix.c: Likewise.
17963         * tests/test-vasprintf.c: Likewise.
17964         * tests/test-vdprintf-posix.c: Likewise.
17965         * tests/test-vfprintf-posix.c: Likewise.
17966         * tests/test-vprintf-posix.c: Likewise.
17967         * tests/test-vsnprintf-posix.c: Likewise.
17968         * tests/test-vsnprintf.c: Likewise.
17969         * tests/test-vsprintf-posix.c: Likewise.
17970         * tests/test-wcrtomb.c: Likewise.
17971         * tests/test-wcsnrtombs.c: Likewise.
17972         * tests/test-wcsrtombs.c: Likewise.
17973         * tests/test-wctype.c: Likewise.
17974         * tests/test-wcwidth.c: Likewise.
17975         * tests/test-xfprintf-posix.c: Likewise.
17976         * tests/test-xmemdup0.c: Likewise.
17977         * tests/test-xprintf-posix.c: Likewise.
17978         * tests/test-xvasprintf.c: Likewise.
17979         * tests/unicase/test-locale-language.c: Likewise.
17980         * tests/unicase/test-mapping-part1.h: Likewise.
17981         * tests/unicase/test-predicate-part1.h: Likewise.
17982         * tests/unicase/test-u8-casecmp.c: Likewise.
17983         * tests/unicase/test-u8-casecoll.c: Likewise.
17984         * tests/unicase/test-u8-casefold.c: Likewise.
17985         * tests/unicase/test-u8-is-cased.c: Likewise.
17986         * tests/unicase/test-u8-is-casefolded.c: Likewise.
17987         * tests/unicase/test-u8-is-lowercase.c: Likewise.
17988         * tests/unicase/test-u8-is-titlecase.c: Likewise.
17989         * tests/unicase/test-u8-is-uppercase.c: Likewise.
17990         * tests/unicase/test-u8-tolower.c: Likewise.
17991         * tests/unicase/test-u8-totitle.c: Likewise.
17992         * tests/unicase/test-u8-toupper.c: Likewise.
17993         * tests/unicase/test-u16-casecmp.c: Likewise.
17994         * tests/unicase/test-u16-casecoll.c: Likewise.
17995         * tests/unicase/test-u16-casefold.c: Likewise.
17996         * tests/unicase/test-u16-is-cased.c: Likewise.
17997         * tests/unicase/test-u16-is-casefolded.c: Likewise.
17998         * tests/unicase/test-u16-is-lowercase.c: Likewise.
17999         * tests/unicase/test-u16-is-titlecase.c: Likewise.
18000         * tests/unicase/test-u16-is-uppercase.c: Likewise.
18001         * tests/unicase/test-u16-tolower.c: Likewise.
18002         * tests/unicase/test-u16-totitle.c: Likewise.
18003         * tests/unicase/test-u16-toupper.c: Likewise.
18004         * tests/unicase/test-u32-casecmp.c: Likewise.
18005         * tests/unicase/test-u32-casecoll.c: Likewise.
18006         * tests/unicase/test-u32-casefold.c: Likewise.
18007         * tests/unicase/test-u32-is-cased.c: Likewise.
18008         * tests/unicase/test-u32-is-casefolded.c: Likewise.
18009         * tests/unicase/test-u32-is-lowercase.c: Likewise.
18010         * tests/unicase/test-u32-is-titlecase.c: Likewise.
18011         * tests/unicase/test-u32-is-uppercase.c: Likewise.
18012         * tests/unicase/test-u32-tolower.c: Likewise.
18013         * tests/unicase/test-u32-totitle.c: Likewise.
18014         * tests/unicase/test-u32-toupper.c: Likewise.
18015         * tests/unicase/test-ulc-casecmp.c: Likewise.
18016         * tests/unicase/test-ulc-casecoll.c: Likewise.
18017         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
18018         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
18019         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
18020         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
18021         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
18022         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
18023         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
18024         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
18025         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
18026         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
18027         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
18028         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
18029         * tests/unictype/test-bidi_byname.c: Likewise.
18030         * tests/unictype/test-bidi_name.c: Likewise.
18031         * tests/unictype/test-bidi_of.c: Likewise.
18032         * tests/unictype/test-bidi_test.c: Likewise.
18033         * tests/unictype/test-block_list.c: Likewise.
18034         * tests/unictype/test-block_of.c: Likewise.
18035         * tests/unictype/test-block_test.c: Likewise.
18036         * tests/unictype/test-categ_and.c: Likewise.
18037         * tests/unictype/test-categ_and_not.c: Likewise.
18038         * tests/unictype/test-categ_byname.c: Likewise.
18039         * tests/unictype/test-categ_name.c: Likewise.
18040         * tests/unictype/test-categ_none.c: Likewise.
18041         * tests/unictype/test-categ_of.c: Likewise.
18042         * tests/unictype/test-categ_or.c: Likewise.
18043         * tests/unictype/test-categ_test_withtable.c: Likewise.
18044         * tests/unictype/test-combining.c: Likewise.
18045         * tests/unictype/test-decdigit.c: Likewise.
18046         * tests/unictype/test-digit.c: Likewise.
18047         * tests/unictype/test-mirror.c: Likewise.
18048         * tests/unictype/test-numeric.c: Likewise.
18049         * tests/unictype/test-pr_byname.c: Likewise.
18050         * tests/unictype/test-pr_test.c: Likewise.
18051         * tests/unictype/test-predicate-part1.h: Likewise.
18052         * tests/unictype/test-scripts.c: Likewise.
18053         * tests/unictype/test-sy_c_ident.c: Likewise.
18054         * tests/unictype/test-sy_java_ident.c: Likewise.
18055         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
18056         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
18057         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
18058         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
18059         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
18060         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
18061         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
18062         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
18063         * tests/uninorm/test-canonical-decomposition.c: Likewise.
18064         * tests/uninorm/test-compat-decomposition.c: Likewise.
18065         * tests/uninorm/test-composition.c: Likewise.
18066         * tests/uninorm/test-decomposing-form.c: Likewise.
18067         * tests/uninorm/test-decomposition.c: Likewise.
18068         * tests/uninorm/test-u8-nfc.c: Likewise.
18069         * tests/uninorm/test-u8-nfd.c: Likewise.
18070         * tests/uninorm/test-u8-nfkc.c: Likewise.
18071         * tests/uninorm/test-u8-nfkd.c: Likewise.
18072         * tests/uninorm/test-u8-normcmp.c: Likewise.
18073         * tests/uninorm/test-u8-normcoll.c: Likewise.
18074         * tests/uninorm/test-u16-nfc.c: Likewise.
18075         * tests/uninorm/test-u16-nfd.c: Likewise.
18076         * tests/uninorm/test-u16-nfkc.c: Likewise.
18077         * tests/uninorm/test-u16-nfkd.c: Likewise.
18078         * tests/uninorm/test-u16-normcmp.c: Likewise.
18079         * tests/uninorm/test-u16-normcoll.c: Likewise.
18080         * tests/uninorm/test-u32-nfc.c: Likewise.
18081         * tests/uninorm/test-u32-nfd.c: Likewise.
18082         * tests/uninorm/test-u32-nfkc.c: Likewise.
18083         * tests/uninorm/test-u32-nfkd.c: Likewise.
18084         * tests/uninorm/test-u32-normalize-big.c: Likewise.
18085         * tests/uninorm/test-u32-normcmp.c: Likewise.
18086         * tests/uninorm/test-u32-normcoll.c: Likewise.
18087         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
18088         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
18089         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
18090         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
18091         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
18092         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
18093         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
18094         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
18095         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
18096         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
18097         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
18098         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
18099         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
18100         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
18101         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
18102         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
18103         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
18104         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
18105         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
18106         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
18107         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
18108         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
18109         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
18110         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
18111         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
18112         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
18113         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
18114         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
18115         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
18116         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
18117         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
18118         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
18119         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
18120         * tests/uniwidth/test-u8-strwidth.c: Likewise.
18121         * tests/uniwidth/test-u8-width.c: Likewise.
18122         * tests/uniwidth/test-u16-strwidth.c: Likewise.
18123         * tests/uniwidth/test-u16-width.c: Likewise.
18124         * tests/uniwidth/test-u32-strwidth.c: Likewise.
18125         * tests/uniwidth/test-u32-width.c: Likewise.
18126         * tests/uniwidth/test-uc_width.c: Likewise.
18127         * tests/uniwidth/test-uc_width2.c: Likewise.
18128         * modules/acl-tests (Files): Add tests/macros.h.
18129         * modules/areadlink-tests (Files): Likewise.
18130         * modules/areadlink-with-size-tests (Files): Likewise.
18131         * modules/areadlinkat-tests (Files): Likewise.
18132         * modules/areadlinkat-with-size-tests (Files): Likewise.
18133         * modules/argmatch-tests (Files): Likewise.
18134         * modules/argv-iter-tests (Files): Likewise.
18135         * modules/array-list-tests (Files): Likewise.
18136         * modules/array-mergesort-tests (Files): Likewise.
18137         * modules/array-oset-tests (Files): Likewise.
18138         * modules/avltree-list-tests (Files): Likewise.
18139         * modules/avltree-oset-tests (Files): Likewise.
18140         * modules/avltreehash-list-tests (Files): Likewise.
18141         * modules/base64-tests (Files): Likewise.
18142         * modules/binary-io-tests (Files): Likewise.
18143         * modules/bitrotate-tests (Files): Likewise.
18144         * modules/btowc-tests (Files): Likewise.
18145         * modules/byteswap-tests (Files): Likewise.
18146         * modules/c-ctype-tests (Files): Likewise.
18147         * modules/c-stack-tests (Files): Likewise.
18148         * modules/c-strcase-tests (Files): Likewise.
18149         * modules/c-strcasestr-tests (Files): Likewise.
18150         * modules/c-strstr-tests (Files): Likewise.
18151         * modules/canonicalize-lgpl-tests (Files): Likewise.
18152         * modules/canonicalize-tests (Files): Likewise.
18153         * modules/carray-list-tests (Files): Likewise.
18154         * modules/ceilf-tests (Files): Likewise.
18155         * modules/ceill-tests (Files): Likewise.
18156         * modules/chown-tests (Files): Likewise.
18157         * modules/cloexec-tests (Files): Likewise.
18158         * modules/copy-file-tests (Files): Likewise.
18159         * modules/count-one-bits-tests (Files): Likewise.
18160         * modules/dprintf-posix-tests (Files): Likewise.
18161         * modules/dup2-tests (Files): Likewise.
18162         * modules/dup3-tests (Files): Likewise.
18163         * modules/duplocale-tests (Files): Likewise.
18164         * modules/fbufmode-tests (Files): Likewise.
18165         * modules/fchdir-tests (Files): Likewise.
18166         * modules/fcntl-safer-tests (Files): Likewise.
18167         * modules/fcntl-tests (Files): Likewise.
18168         * modules/fdopendir-tests (Files): Likewise.
18169         * modules/fdutimensat-tests (Files): Likewise.
18170         * modules/fflush-tests (Files): Likewise.
18171         * modules/filevercmp-tests (Files): Likewise.
18172         * modules/flock-tests (Files): Likewise.
18173         * modules/floorf-tests (Files): Likewise.
18174         * modules/floorl-tests (Files): Likewise.
18175         * modules/fnmatch-tests (Files): Likewise.
18176         * modules/fopen-safer-tests (Files): Likewise.
18177         * modules/fopen-tests (Files): Likewise.
18178         * modules/fpending-tests (Files): Likewise.
18179         * modules/fprintf-posix-tests (Files): Likewise.
18180         * modules/fpurge-tests (Files): Likewise.
18181         * modules/freadable-tests (Files): Likewise.
18182         * modules/freadahead-tests (Files): Likewise.
18183         * modules/freading-tests (Files): Likewise.
18184         * modules/freadptr-tests (Files): Likewise.
18185         * modules/freadseek-tests (Files): Likewise.
18186         * modules/freopen-tests (Files): Likewise.
18187         * modules/frexp-nolibm-tests (Files): Likewise.
18188         * modules/frexp-tests (Files): Likewise.
18189         * modules/frexpl-nolibm-tests (Files): Likewise.
18190         * modules/frexpl-tests (Files): Likewise.
18191         * modules/fseek-tests (Files): Likewise.
18192         * modules/fseeko-tests (Files): Likewise.
18193         * modules/fstrcmp-tests (Files): Likewise.
18194         * modules/fsync-tests (Files): Likewise.
18195         * modules/ftell-tests (Files): Likewise.
18196         * modules/ftello-tests (Files): Likewise.
18197         * modules/func-tests (Files): Likewise.
18198         * modules/futimens-tests (Files): Likewise.
18199         * modules/fwritable-tests (Files): Likewise.
18200         * modules/fwriting-tests (Files): Likewise.
18201         * modules/getcwd-tests (Files): Likewise.
18202         * modules/getdate-tests (Files): Likewise.
18203         * modules/getdelim-tests (Files): Likewise.
18204         * modules/getdtablesize-tests (Files): Likewise.
18205         * modules/getgroups-tests (Files): Likewise.
18206         * modules/getline-tests (Files): Likewise.
18207         * modules/getndelim2-tests (Files): Likewise.
18208         * modules/glob-tests (Files): Likewise.
18209         * modules/hash-tests (Files): Likewise.
18210         * modules/i-ring-tests (Files): Likewise.
18211         * modules/iconv-tests (Files): Likewise.
18212         * modules/iconv_open-utf-tests (Files): Likewise.
18213         * modules/idpriv-drop-tests (Files): Likewise.
18214         * modules/idpriv-droptemp-tests (Files): Likewise.
18215         * modules/inet_ntop-tests (Files): Likewise.
18216         * modules/inet_pton-tests (Files): Likewise.
18217         * modules/isblank-tests (Files): Likewise.
18218         * modules/isfinite-tests (Files): Likewise.
18219         * modules/isinf-tests (Files): Likewise.
18220         * modules/isnan-tests (Files): Likewise.
18221         * modules/isnand-nolibm-tests (Files): Likewise.
18222         * modules/isnand-tests (Files): Likewise.
18223         * modules/isnanf-nolibm-tests (Files): Likewise.
18224         * modules/isnanf-tests (Files): Likewise.
18225         * modules/isnanl-nolibm-tests (Files): Likewise.
18226         * modules/isnanl-tests (Files): Likewise.
18227         * modules/lchown-tests (Files): Likewise.
18228         * modules/ldexpl-tests (Files): Likewise.
18229         * modules/link-tests (Files): Likewise.
18230         * modules/linkat-tests (Files): Likewise.
18231         * modules/linked-list-tests (Files): Likewise.
18232         * modules/linkedhash-list-tests (Files): Likewise.
18233         * modules/localename-tests (Files): Likewise.
18234         * modules/lseek-tests (Files): Likewise.
18235         * modules/lstat-tests (Files): Likewise.
18236         * modules/mbmemcasecmp-tests (Files): Likewise.
18237         * modules/mbmemcasecoll-tests (Files): Likewise.
18238         * modules/mbrtowc-tests (Files): Likewise.
18239         * modules/mbscasecmp-tests (Files): Likewise.
18240         * modules/mbscasestr-tests (Files): Likewise.
18241         * modules/mbschr-tests (Files): Likewise.
18242         * modules/mbscspn-tests (Files): Likewise.
18243         * modules/mbsinit-tests (Files): Likewise.
18244         * modules/mbsncasecmp-tests (Files): Likewise.
18245         * modules/mbsnrtowcs-tests (Files): Likewise.
18246         * modules/mbspbrk-tests (Files): Likewise.
18247         * modules/mbspcasecmp-tests (Files): Likewise.
18248         * modules/mbsrchr-tests (Files): Likewise.
18249         * modules/mbsrtowcs-tests (Files): Likewise.
18250         * modules/mbsspn-tests (Files): Likewise.
18251         * modules/mbsstr-tests (Files): Likewise.
18252         * modules/memchr-tests (Files): Likewise.
18253         * modules/memchr2-tests (Files): Likewise.
18254         * modules/memcmp-tests (Files): Likewise.
18255         * modules/memmem-tests (Files): Likewise.
18256         * modules/memrchr-tests (Files): Likewise.
18257         * modules/mkdir-tests (Files): Likewise.
18258         * modules/mkfifo-tests (Files): Likewise.
18259         * modules/mkfifoat-tests (Files): Likewise.
18260         * modules/mknod-tests (Files): Likewise.
18261         * modules/nanosleep-tests (Files): Likewise.
18262         * modules/nl_langinfo-tests (Files): Likewise.
18263         * modules/obstack-printf-tests (Files): Likewise.
18264         * modules/open-tests (Files): Likewise.
18265         * modules/openat-tests (Files): Likewise.
18266         * modules/pipe-filter-gi-tests (Files): Likewise.
18267         * modules/pipe-filter-ii-tests (Files): Likewise.
18268         * modules/pipe2-tests (Files): Likewise.
18269         * modules/popen-safer-tests (Files): Likewise.
18270         * modules/popen-tests (Files): Likewise.
18271         * modules/posixtm-tests (Files): Likewise.
18272         * modules/pread-tests (Files): Likewise.
18273         * modules/printf-frexp-tests (Files): Likewise.
18274         * modules/printf-frexpl-tests (Files): Likewise.
18275         * modules/printf-posix-tests (Files): Likewise.
18276         * modules/priv-set-tests (Files): Likewise.
18277         * modules/quotearg-tests (Files): Likewise.
18278         * modules/random_r-tests (Files): Likewise.
18279         * modules/rawmemchr-tests (Files): Likewise.
18280         * modules/rbtree-list-tests (Files): Likewise.
18281         * modules/rbtree-oset-tests (Files): Likewise.
18282         * modules/rbtreehash-list-tests (Files): Likewise.
18283         * modules/readlink-tests (Files): Likewise.
18284         * modules/remove-tests (Files): Likewise.
18285         * modules/rename-tests (Files): Likewise.
18286         * modules/renameat-tests (Files): Likewise.
18287         * modules/rmdir-tests (Files): Likewise.
18288         * modules/round-tests (Files): Likewise.
18289         * modules/roundf-tests (Files): Likewise.
18290         * modules/roundl-tests (Files): Likewise.
18291         * modules/safe-alloc-tests (Files): Likewise.
18292         * modules/setenv-tests (Files): Likewise.
18293         * modules/sigaction-tests (Files): Likewise.
18294         * modules/signbit-tests (Files): Likewise.
18295         * modules/sleep-tests (Files): Likewise.
18296         * modules/snprintf-posix-tests (Files): Likewise.
18297         * modules/snprintf-tests (Files): Likewise.
18298         * modules/sprintf-posix-tests (Files): Likewise.
18299         * modules/stat-tests (Files): Likewise.
18300         * modules/stat-time-tests (Files): Likewise.
18301         * modules/strcasestr-tests (Files): Likewise.
18302         * modules/strchrnul-tests (Files): Likewise.
18303         * modules/strerror-tests (Files): Likewise.
18304         * modules/striconv-tests (Files): Likewise.
18305         * modules/striconveh-tests (Files): Likewise.
18306         * modules/striconveha-tests (Files): Likewise.
18307         * modules/strsignal-tests (Files): Likewise.
18308         * modules/strstr-tests (Files): Likewise.
18309         * modules/strtod-tests (Files): Likewise.
18310         * modules/strverscmp-tests (Files): Likewise.
18311         * modules/symlink-tests (Files): Likewise.
18312         * modules/symlinkat-tests (Files): Likewise.
18313         * modules/trunc-tests (Files): Likewise.
18314         * modules/truncf-tests (Files): Likewise.
18315         * modules/truncl-tests (Files): Likewise.
18316         * modules/uname-tests (Files): Likewise.
18317         * modules/unicase/cased-tests (Files): Likewise.
18318         * modules/unicase/ignorable-tests (Files): Likewise.
18319         * modules/unicase/locale-language-tests (Files): Likewise.
18320         * modules/unicase/tolower-tests (Files): Likewise.
18321         * modules/unicase/totitle-tests (Files): Likewise.
18322         * modules/unicase/toupper-tests (Files): Likewise.
18323         * modules/unicase/u8-casecmp-tests (Files): Likewise.
18324         * modules/unicase/u8-casecoll-tests (Files): Likewise.
18325         * modules/unicase/u8-casefold-tests (Files): Likewise.
18326         * modules/unicase/u8-is-cased-tests (Files): Likewise.
18327         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
18328         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
18329         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
18330         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
18331         * modules/unicase/u8-tolower-tests (Files): Likewise.
18332         * modules/unicase/u8-totitle-tests (Files): Likewise.
18333         * modules/unicase/u8-toupper-tests (Files): Likewise.
18334         * modules/unicase/u16-casecmp-tests (Files): Likewise.
18335         * modules/unicase/u16-casecoll-tests (Files): Likewise.
18336         * modules/unicase/u16-casefold-tests (Files): Likewise.
18337         * modules/unicase/u16-is-cased-tests (Files): Likewise.
18338         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
18339         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
18340         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
18341         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
18342         * modules/unicase/u16-tolower-tests (Files): Likewise.
18343         * modules/unicase/u16-totitle-tests (Files): Likewise.
18344         * modules/unicase/u16-toupper-tests (Files): Likewise.
18345         * modules/unicase/u32-casecmp-tests (Files): Likewise.
18346         * modules/unicase/u32-casecoll-tests (Files): Likewise.
18347         * modules/unicase/u32-casefold-tests (Files): Likewise.
18348         * modules/unicase/u32-is-cased-tests (Files): Likewise.
18349         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
18350         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
18351         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
18352         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
18353         * modules/unicase/u32-tolower-tests (Files): Likewise.
18354         * modules/unicase/u32-totitle-tests (Files): Likewise.
18355         * modules/unicase/u32-toupper-tests (Files): Likewise.
18356         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
18357         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
18358         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
18359         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
18360         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
18361         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
18362         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
18363         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
18364         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
18365         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
18366         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
18367         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
18368         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
18369         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
18370         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
18371         * modules/unictype/bidicategory-name-tests (Files): Likewise.
18372         * modules/unictype/bidicategory-of-tests (Files): Likewise.
18373         * modules/unictype/bidicategory-test-tests (Files): Likewise.
18374         * modules/unictype/block-list-tests (Files): Likewise.
18375         * modules/unictype/block-of-tests (Files): Likewise.
18376         * modules/unictype/block-test-tests (Files): Likewise.
18377         * modules/unictype/category-C-tests (Files): Likewise.
18378         * modules/unictype/category-Cc-tests (Files): Likewise.
18379         * modules/unictype/category-Cf-tests (Files): Likewise.
18380         * modules/unictype/category-Cn-tests (Files): Likewise.
18381         * modules/unictype/category-Co-tests (Files): Likewise.
18382         * modules/unictype/category-Cs-tests (Files): Likewise.
18383         * modules/unictype/category-L-tests (Files): Likewise.
18384         * modules/unictype/category-Ll-tests (Files): Likewise.
18385         * modules/unictype/category-Lm-tests (Files): Likewise.
18386         * modules/unictype/category-Lo-tests (Files): Likewise.
18387         * modules/unictype/category-Lt-tests (Files): Likewise.
18388         * modules/unictype/category-Lu-tests (Files): Likewise.
18389         * modules/unictype/category-M-tests (Files): Likewise.
18390         * modules/unictype/category-Mc-tests (Files): Likewise.
18391         * modules/unictype/category-Me-tests (Files): Likewise.
18392         * modules/unictype/category-Mn-tests (Files): Likewise.
18393         * modules/unictype/category-N-tests (Files): Likewise.
18394         * modules/unictype/category-Nd-tests (Files): Likewise.
18395         * modules/unictype/category-Nl-tests (Files): Likewise.
18396         * modules/unictype/category-No-tests (Files): Likewise.
18397         * modules/unictype/category-P-tests (Files): Likewise.
18398         * modules/unictype/category-Pc-tests (Files): Likewise.
18399         * modules/unictype/category-Pd-tests (Files): Likewise.
18400         * modules/unictype/category-Pe-tests (Files): Likewise.
18401         * modules/unictype/category-Pf-tests (Files): Likewise.
18402         * modules/unictype/category-Pi-tests (Files): Likewise.
18403         * modules/unictype/category-Po-tests (Files): Likewise.
18404         * modules/unictype/category-Ps-tests (Files): Likewise.
18405         * modules/unictype/category-S-tests (Files): Likewise.
18406         * modules/unictype/category-Sc-tests (Files): Likewise.
18407         * modules/unictype/category-Sk-tests (Files): Likewise.
18408         * modules/unictype/category-Sm-tests (Files): Likewise.
18409         * modules/unictype/category-So-tests (Files): Likewise.
18410         * modules/unictype/category-Z-tests (Files): Likewise.
18411         * modules/unictype/category-Zl-tests (Files): Likewise.
18412         * modules/unictype/category-Zp-tests (Files): Likewise.
18413         * modules/unictype/category-Zs-tests (Files): Likewise.
18414         * modules/unictype/category-and-not-tests (Files): Likewise.
18415         * modules/unictype/category-and-tests (Files): Likewise.
18416         * modules/unictype/category-byname-tests (Files): Likewise.
18417         * modules/unictype/category-name-tests (Files): Likewise.
18418         * modules/unictype/category-none-tests (Files): Likewise.
18419         * modules/unictype/category-of-tests (Files): Likewise.
18420         * modules/unictype/category-or-tests (Files): Likewise.
18421         * modules/unictype/category-test-withtable-tests (Files): Likewise.
18422         * modules/unictype/combining-class-tests (Files): Likewise.
18423         * modules/unictype/ctype-alnum-tests (Files): Likewise.
18424         * modules/unictype/ctype-alpha-tests (Files): Likewise.
18425         * modules/unictype/ctype-blank-tests (Files): Likewise.
18426         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
18427         * modules/unictype/ctype-digit-tests (Files): Likewise.
18428         * modules/unictype/ctype-graph-tests (Files): Likewise.
18429         * modules/unictype/ctype-lower-tests (Files): Likewise.
18430         * modules/unictype/ctype-print-tests (Files): Likewise.
18431         * modules/unictype/ctype-punct-tests (Files): Likewise.
18432         * modules/unictype/ctype-space-tests (Files): Likewise.
18433         * modules/unictype/ctype-upper-tests (Files): Likewise.
18434         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
18435         * modules/unictype/decimal-digit-tests (Files): Likewise.
18436         * modules/unictype/digit-tests (Files): Likewise.
18437         * modules/unictype/mirror-tests (Files): Likewise.
18438         * modules/unictype/numeric-tests (Files): Likewise.
18439         * modules/unictype/property-alphabetic-tests (Files): Likewise.
18440         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
18441         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
18442         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
18443         Likewise.
18444         * modules/unictype/property-bidi-block-separator-tests (Files):
18445         Likewise.
18446         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
18447         Likewise.
18448         * modules/unictype/property-bidi-common-separator-tests (Files):
18449         Likewise.
18450         * modules/unictype/property-bidi-control-tests (Files): Likewise.
18451         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
18452         Likewise.
18453         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
18454         Likewise.
18455         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
18456         Likewise.
18457         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
18458         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
18459         Likewise.
18460         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
18461         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
18462         Likewise.
18463         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
18464         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
18465         * modules/unictype/property-bidi-segment-separator-tests (Files):
18466         Likewise.
18467         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
18468         * modules/unictype/property-byname-tests (Files): Likewise.
18469         * modules/unictype/property-combining-tests (Files): Likewise.
18470         * modules/unictype/property-composite-tests (Files): Likewise.
18471         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
18472         * modules/unictype/property-dash-tests (Files): Likewise.
18473         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
18474         * modules/unictype/property-default-ignorable-code-point-tests (Files):
18475         Likewise.
18476         * modules/unictype/property-deprecated-tests (Files): Likewise.
18477         * modules/unictype/property-diacritic-tests (Files): Likewise.
18478         * modules/unictype/property-extender-tests (Files): Likewise.
18479         * modules/unictype/property-format-control-tests (Files): Likewise.
18480         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
18481         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
18482         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
18483         * modules/unictype/property-hex-digit-tests (Files): Likewise.
18484         * modules/unictype/property-hyphen-tests (Files): Likewise.
18485         * modules/unictype/property-id-continue-tests (Files): Likewise.
18486         * modules/unictype/property-id-start-tests (Files): Likewise.
18487         * modules/unictype/property-ideographic-tests (Files): Likewise.
18488         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
18489         * modules/unictype/property-ids-trinary-operator-tests (Files):
18490         Likewise.
18491         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
18492         * modules/unictype/property-iso-control-tests (Files): Likewise.
18493         * modules/unictype/property-join-control-tests (Files): Likewise.
18494         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
18495         * modules/unictype/property-line-separator-tests (Files): Likewise.
18496         * modules/unictype/property-logical-order-exception-tests (Files):
18497         Likewise.
18498         * modules/unictype/property-lowercase-tests (Files): Likewise.
18499         * modules/unictype/property-math-tests (Files): Likewise.
18500         * modules/unictype/property-non-break-tests (Files): Likewise.
18501         * modules/unictype/property-not-a-character-tests (Files): Likewise.
18502         * modules/unictype/property-numeric-tests (Files): Likewise.
18503         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
18504         * modules/unictype/property-other-default-ignorable-code-point-tests
18505         (Files): Likewise.
18506         * modules/unictype/property-other-grapheme-extend-tests (Files):
18507         Likewise.
18508         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
18509         * modules/unictype/property-other-id-start-tests (Files): Likewise.
18510         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
18511         * modules/unictype/property-other-math-tests (Files): Likewise.
18512         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
18513         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
18514         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
18515         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
18516         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
18517         * modules/unictype/property-private-use-tests (Files): Likewise.
18518         * modules/unictype/property-punctuation-tests (Files): Likewise.
18519         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
18520         * modules/unictype/property-radical-tests (Files): Likewise.
18521         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
18522         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
18523         * modules/unictype/property-space-tests (Files): Likewise.
18524         * modules/unictype/property-terminal-punctuation-tests (Files):
18525         Likewise.
18526         * modules/unictype/property-test-tests (Files): Likewise.
18527         * modules/unictype/property-titlecase-tests (Files): Likewise.
18528         * modules/unictype/property-unassigned-code-value-tests (Files):
18529         Likewise.
18530         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
18531         * modules/unictype/property-uppercase-tests (Files): Likewise.
18532         * modules/unictype/property-variation-selector-tests (Files): Likewise.
18533         * modules/unictype/property-white-space-tests (Files): Likewise.
18534         * modules/unictype/property-xid-continue-tests (Files): Likewise.
18535         * modules/unictype/property-xid-start-tests (Files): Likewise.
18536         * modules/unictype/property-zero-width-tests (Files): Likewise.
18537         * modules/unictype/scripts-tests (Files): Likewise.
18538         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
18539         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
18540         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
18541         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
18542         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
18543         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
18544         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
18545         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
18546         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
18547         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
18548         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
18549         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
18550         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
18551         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
18552         * modules/uninorm/composition-tests (Files): Likewise.
18553         * modules/uninorm/decomposing-form-tests (Files): Likewise.
18554         * modules/uninorm/decomposition-tests (Files): Likewise.
18555         * modules/uninorm/filter-tests (Files): Likewise.
18556         * modules/uninorm/nfc-tests (Files): Likewise.
18557         * modules/uninorm/nfd-tests (Files): Likewise.
18558         * modules/uninorm/nfkc-tests (Files): Likewise.
18559         * modules/uninorm/nfkd-tests (Files): Likewise.
18560         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
18561         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
18562         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
18563         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
18564         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
18565         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
18566         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
18567         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
18568         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
18569         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
18570         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
18571         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
18572         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
18573         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
18574         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
18575         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
18576         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
18577         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
18578         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
18579         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
18580         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
18581         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
18582         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
18583         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
18584         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
18585         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
18586         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
18587         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
18588         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
18589         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
18590         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
18591         * modules/uniwidth/u8-width-tests (Files): Likewise.
18592         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
18593         * modules/uniwidth/u16-width-tests (Files): Likewise.
18594         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
18595         * modules/uniwidth/u32-width-tests (Files): Likewise.
18596         * modules/uniwidth/width-tests (Files): Likewise.
18597         * modules/unlink-tests (Files): Likewise.
18598         * modules/unsetenv-tests (Files): Likewise.
18599         * modules/usleep-tests (Files): Likewise.
18600         * modules/utimens-tests (Files): Likewise.
18601         * modules/utimensat-tests (Files): Likewise.
18602         * modules/vasnprintf-posix-tests (Files): Likewise.
18603         * modules/vasnprintf-tests (Files): Likewise.
18604         * modules/vasprintf-posix-tests (Files): Likewise.
18605         * modules/vasprintf-tests (Files): Likewise.
18606         * modules/vdprintf-posix-tests (Files): Likewise.
18607         * modules/vfprintf-posix-tests (Files): Likewise.
18608         * modules/vprintf-posix-tests (Files): Likewise.
18609         * modules/vsnprintf-posix-tests (Files): Likewise.
18610         * modules/vsnprintf-tests (Files): Likewise.
18611         * modules/vsprintf-posix-tests (Files): Likewise.
18612         * modules/wcrtomb-tests (Files): Likewise.
18613         * modules/wcsnrtombs-tests (Files): Likewise.
18614         * modules/wcsrtombs-tests (Files): Likewise.
18615         * modules/wctype-tests (Files): Likewise.
18616         * modules/wcwidth-tests (Files): Likewise.
18617         * modules/xmemdup0-tests (Files): Likewise.
18618         * modules/xprintf-posix-tests (Files): Likewise.
18619         * modules/xvasprintf-tests (Files): Likewise.
18620
18621 2009-12-24  Eric Blake  <ebb9@byu.net>
18622
18623         test-nanosleep: fix typo
18624         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
18625         patch.
18626         Reported by Bruno Haible.
18627
18628 2009-12-24  Bruno Haible  <bruno@clisp.org>
18629
18630         Reduce namespace pollution on glibc systems.
18631         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
18632         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
18633         systems.
18634         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
18635         <getopt.h> on glibc systems.
18636         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
18637         systems.
18638         * lib/fcntl.c: Include <unistd.h> here instead.
18639
18640 2009-12-24  Bruno Haible  <bruno@clisp.org>
18641
18642         * lib/stdlib.in.h (includes): Fix typo in today's commit.
18643
18644 2009-12-24  Eric Blake  <ebb9@byu.net>
18645
18646         tests: add signature checks
18647         * tests/signature.h (SIGNATURE_CHECK): New file.
18648         * modules/atexit-tests (Files): Use it.
18649         * modules/btowc-tests (Files): Likewise.
18650         * modules/canonicalize-lgpl-tests (Files): Likewise.
18651         * modules/ceilf-tests (Files): Likewise.
18652         * modules/ceill-tests (Files): Likewise.
18653         * modules/chown-tests (Files): Likewise.
18654         * modules/dprintf-posix-tests (Files): Likewise.
18655         * modules/dup2-tests (Files): Likewise.
18656         * modules/dup3-tests (Files): Likewise.
18657         * modules/duplocale-tests (Files): Likewise.
18658         * modules/fchdir-tests (Files): Likewise.
18659         * modules/fcntl-tests (Files): Likewise.
18660         * modules/fdopendir-tests (Files): Likewise.
18661         * modules/fflush-tests (Files): Likewise.
18662         * modules/flock-tests (Files): Likewise.
18663         * modules/floorf-tests (Files): Likewise.
18664         * modules/floorl-tests (Files): Likewise.
18665         * modules/fnmatch-tests (Files): Likewise.
18666         * modules/fopen-tests (Files): Likewise.
18667         * modules/fprintf-posix-tests (Files): Likewise.
18668         * modules/freopen-tests (Files): Likewise.
18669         * modules/frexp-nolibm-tests (Files): Likewise.
18670         * modules/frexp-tests (Files): Likewise.
18671         * modules/frexpl-nolibm-tests (Files): Likewise.
18672         * modules/frexpl-tests (Files): Likewise.
18673         * modules/fseek-tests (Files): Likewise.
18674         * modules/fseeko-tests (Files): Likewise.
18675         * modules/fsync-tests (Files): Likewise.
18676         * modules/ftell-tests (Files): Likewise.
18677         * modules/ftello-tests (Files): Likewise.
18678         * modules/futimens-tests (Files): Likewise.
18679         * modules/getaddrinfo-tests (Files): Likewise.
18680         * modules/getcwd-tests (Files): Likewise.
18681         * modules/getdelim-tests (Files): Likewise.
18682         * modules/getdtablesize-tests (Files): Likewise.
18683         * modules/getgroups-tests (Files): Likewise.
18684         * modules/gethostname-tests (Files): Likewise.
18685         * modules/getline-tests (Files): Likewise.
18686         * modules/getopt-posix-tests (Files): Likewise.
18687         * modules/gettimeofday-tests (Files): Likewise.
18688         * modules/glob-tests (Files): Likewise.
18689         * modules/iconv-tests (Files): Likewise.
18690         * modules/inet_ntop-tests (Files): Likewise.
18691         * modules/inet_pton-tests (Files): Likewise.
18692         * modules/isblank-tests (Files): Likewise.
18693         * modules/lchown-tests (Files): Likewise.
18694         * modules/ldexpl-tests (Files): Likewise.
18695         * modules/link-tests (Files): Likewise.
18696         * modules/linkat-tests (Files): Likewise.
18697         * modules/lseek-tests (Files): Likewise.
18698         * modules/lstat-tests (Files): Likewise.
18699         * modules/mbrtowc-tests (Files): Likewise.
18700         * modules/mbsinit-tests (Files): Likewise.
18701         * modules/mbsnrtowcs-tests (Files): Likewise.
18702         * modules/mbsrtowcs-tests (Files): Likewise.
18703         * modules/memchr-tests (Files): Likewise.
18704         * modules/memcmp-tests (Files): Likewise.
18705         * modules/memmem-tests (Files): Likewise.
18706         * modules/memrchr-tests (Files): Likewise.
18707         * modules/mkdir-tests (Files): Likewise.
18708         * modules/mkfifo-tests (Files): Likewise.
18709         * modules/mkfifoat-tests (Files): Likewise.
18710         * modules/mknod-tests (Files): Likewise.
18711         * modules/nanosleep-tests (Files): Likewise.
18712         * modules/nl_langinfo-tests (Files): Likewise.
18713         * modules/obstack-printf-tests (Files): Likewise.
18714         * modules/open-tests (Files): Likewise.
18715         * modules/openat-tests (Files): Likewise.
18716         * modules/perror-tests (Files): Likewise.
18717         * modules/pipe2-tests (Files): Likewise.
18718         * modules/poll-tests (Files): Likewise.
18719         * modules/popen-tests (Files): Likewise.
18720         * modules/posix_spawn-tests (Files): Likewise.
18721         * modules/posix_spawnp-tests (Files): Likewise.
18722         * modules/pread-tests (Files): Likewise.
18723         * modules/printf-posix-tests (Files): Likewise.
18724         * modules/pty-tests (Files): Likewise.
18725         * modules/random_r-tests (Files): Likewise.
18726         * modules/rawmemchr-tests (Files): Likewise.
18727         * modules/readlink-tests (Files): Likewise.
18728         * modules/remove-tests (Files): Likewise.
18729         * modules/rename-tests (Files): Likewise.
18730         * modules/renameat-tests (Files): Likewise.
18731         * modules/rmdir-tests (Files): Likewise.
18732         * modules/round-tests (Files): Likewise.
18733         * modules/roundf-tests (Files): Likewise.
18734         * modules/roundl-tests (Files): Likewise.
18735         * modules/select-tests (Files): Likewise.
18736         * modules/setenv-tests (Files): Likewise.
18737         * modules/sigaction-tests (Files): Likewise.
18738         * modules/sleep-tests (Files): Likewise.
18739         * modules/snprintf-posix-tests (Files): Likewise.
18740         * modules/snprintf-tests (Files): Likewise.
18741         * modules/sprintf-posix-tests (Files): Likewise.
18742         * modules/stat-tests (Files): Likewise.
18743         * modules/strcasestr-tests (Files): Likewise.
18744         * modules/strchrnul-tests (Files): Likewise.
18745         * modules/strerror-tests (Files): Likewise.
18746         * modules/strsignal-tests (Files): Likewise.
18747         * modules/strstr-tests (Files): Likewise.
18748         * modules/strtod-tests (Files): Likewise.
18749         * modules/strverscmp-tests (Files): Likewise.
18750         * modules/symlink-tests (Files): Likewise.
18751         * modules/symlinkat-tests (Files): Likewise.
18752         * modules/times-tests (Files): Likewise.
18753         * modules/trunc-tests (Files): Likewise.
18754         * modules/truncf-tests (Files): Likewise.
18755         * modules/truncl-tests (Files): Likewise.
18756         * modules/tsearch-tests (Files): Likewise.
18757         * modules/uname-tests (Files): Likewise.
18758         * modules/unlink-tests (Files): Likewise.
18759         * modules/unsetenv-tests (Files): Likewise.
18760         * modules/usleep-tests (Files): Likewise.
18761         * modules/utimensat-tests (Files): Likewise.
18762         * modules/vasprintf-tests (Files): Likewise.
18763         * modules/vdprintf-posix-tests (Files): Likewise.
18764         * modules/vfprintf-posix-tests (Files): Likewise.
18765         * modules/vprintf-posix-tests (Files): Likewise.
18766         * modules/vsnprintf-posix-tests (Files): Likewise.
18767         * modules/vsnprintf-tests (Files): Likewise.
18768         * modules/vsprintf-posix-tests (Files): Likewise.
18769         * modules/wcrtomb-tests (Files): Likewise.
18770         * modules/wcsnrtombs-tests (Files): Likewise.
18771         * modules/wcsrtombs-tests (Files): Likewise.
18772         * modules/wcwidth-tests (Files): Likewise.
18773         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
18774         * tests/test-isinf.c (isinf): Likewise.
18775         * tests/test-isnan.c (isnan): Likewise.
18776         * tests/test-signbit.c (signbit): Likewise.
18777         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
18778         declaration, either as macro or with correct signature.
18779         (select): Ensure function under test is declared with correct
18780         signature in correct header.
18781         * tests/test-atexit.c (atexit): Likewise.
18782         * tests/test-btowc.c (btowc): Likewise.
18783         * tests/test-canonicalize-lgpl.c (realpath)
18784         (canonicalize_file_name): Likewise.
18785         * tests/test-ceilf1.c (ceilf): Likewise.
18786         * tests/test-ceill.c (ceill): Likewise.
18787         * tests/test-chown.c (chown): Likewise.
18788         * tests/test-dprintf-posix.c (dprintf): Likewise.
18789         * tests/test-dup2.c (dup2): Likewise.
18790         * tests/test-dup3.c (dup3): Likewise.
18791         * tests/test-duplocale.c (duplocale): Likewise.
18792         * tests/test-fchdir.c (fchdir): Likewise.
18793         * tests/test-fchownat.c (fchownat): Likewise.
18794         * tests/test-fcntl.c (fcntl): Likewise.
18795         * tests/test-fdopendir.c (fdopendir): Likewise.
18796         * tests/test-fflush.c (fflush): Likewise.
18797         * tests/test-flock.c (flock): Likewise.
18798         * tests/test-floorf1.c (floorf): Likewise.
18799         * tests/test-floorl.c (floorl): Likewise.
18800         * tests/test-fnmatch.c (fnmatch): Likewise.
18801         * tests/test-fopen.c (fopen): Likewise.
18802         * tests/test-fprintf-posix.c (fprintf): Likewise.
18803         * tests/test-freopen.c (freopen): Likewise.
18804         * tests/test-frexp.c (frexp): Likewise.
18805         * tests/test-frexpl.c (frexpl): Likewise.
18806         * tests/test-fseek.c (fseek): Likewise.
18807         * tests/test-fseeko.c (fseeko): Likewise.
18808         * tests/test-fstatat.c (fstatat): Likewise.
18809         * tests/test-fsync.c (fsync): Likewise.
18810         * tests/test-ftell.c (ftell): Likewise.
18811         * tests/test-ftello.c (ftello): Likewise.
18812         * tests/test-futimens.c (futimens): Likewise.
18813         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
18814         (gai_strerror): Likewise.
18815         * tests/test-getcwd.c (getcwd): Likewise.
18816         * tests/test-getdelim.c (getdelim): Likewise.
18817         * tests/test-getdtablesize.c (getdtablesize): Likewise.
18818         * tests/test-getgroups.c (getgroups): Likewise.
18819         * tests/test-gethostname.c (gethostname): Likewise.
18820         * tests/test-getline.c (getline): Likewise.
18821         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
18822         Likewise.
18823         * tests/test-gettimeofday.c (gettimeofday): Likewise.
18824         * tests/test-glob.c (glob, globfree): Likewise.
18825         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
18826         * tests/test-inet_ntop.c (inet_ntop): Likewise.
18827         * tests/test-inet_pton.c (inet_pton): Likewise.
18828         * tests/test-isblank.c (isblank): Likewise.
18829         * tests/test-lchown.c (lchown): Likewise.
18830         * tests/test-ldexpl.c (ldexpl): Likewise.
18831         * tests/test-link.c (link): Likewise.
18832         * tests/test-linkat.c (linkat): Likewise.
18833         * tests/test-lseek.c (lseek): Likewise.
18834         * tests/test-lstat.c (lstat): Likewise.
18835         * tests/test-mbrtowc.c (mbrtowc): Likewise.
18836         * tests/test-mbsinit.c (mbsinit): Likewise.
18837         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
18838         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
18839         * tests/test-memchr.c (memchr): Likewise.
18840         * tests/test-memcmp.c (memcmp): Likewise.
18841         * tests/test-memmem.c (memmem): Likewise.
18842         * tests/test-memrchr.c (memrchr): Likewise.
18843         * tests/test-mkdir.c (mkdir): Likewise.
18844         * tests/test-mkdirat.c (mkdirat): Likewise.
18845         * tests/test-mkfifo.c (mkfifo): Likewise.
18846         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
18847         * tests/test-mknod.c (mknod): Likewise.
18848         * tests/test-nanosleep.c (nanosleep): Likewise.
18849         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
18850         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
18851         Likewise.
18852         * tests/test-open.c (open): Likewise.
18853         * tests/test-openat.c (openat): Likewise.
18854         * tests/test-perror.c (perror): Likewise.
18855         * tests/test-pipe2.c (pipe2): Likewise.
18856         * tests/test-poll.c (poll): Likewise.
18857         * tests/test-popen.c (popen, pclose): Likewise.
18858         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
18859         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
18860         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
18861         (posix_spawn_file_actions_destroy)
18862         (posix_spawn_file_actions_addclose)
18863         (posix_spawn_file_actions_addopen)
18864         (posix_spawn_file_actions_adddup2): Likewise.
18865         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
18866         * tests/test-pread.c (pread): Likewise.
18867         * tests/test-printf-posix.c (printf): Likewise.
18868         * tests/test-pty.c (openpty, forkpty): Likewise.
18869         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
18870         (random_r): Likewise.
18871         * tests/test-rawmemchr.c (rawmemchr): Likewise.
18872         * tests/test-readlink.c (readlink): Likewise.
18873         * tests/test-remove.c (remove): Likewise.
18874         * tests/test-rename.c (rename): Likewise.
18875         * tests/test-renameat.c (renameat): Likewise.
18876         * tests/test-rmdir.c (rmdir): Likewise.
18877         * tests/test-round1.c (round): Likewise.
18878         * tests/test-roundf1.c (roundf): Likewise.
18879         * tests/test-roundl.c (roundl): Likewise.
18880         * tests/test-setenv.c (setenv): Likewise.
18881         * tests/test-sigaction.c (sigaction): Likewise.
18882         * tests/test-sleep.c (sleep): Likewise.
18883         * tests/test-snprintf.c (snprintf): Likewise.
18884         * tests/test-sprintf-posix.c (sprintf): Likewise.
18885         * tests/test-stat.c (stat): Likewise.
18886         * tests/test-stpncpy.c (stpncpy): Likewise.
18887         * tests/test-strcasestr.c (strcasestr): Likewise.
18888         * tests/test-strchrnul.c (strchrnul): Likewise.
18889         * tests/test-strerror.c (strerror): Likewise.
18890         * tests/test-strsignal.c (strsignal): Likewise.
18891         * tests/test-strstr.c (strstr): Likewise.
18892         * tests/test-strtod.c (strtod): Likewise.
18893         * tests/test-strverscmp.c (strverscmp): Likewise.
18894         * tests/test-symlink.c (symlink): Likewise.
18895         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
18896         * tests/test-times.c (times): Likewise.
18897         * tests/test-trunc1.c (trunc): Likewise.
18898         * tests/test-truncf1.c (truncf): Likewise.
18899         * tests/test-truncl.c (truncl): Likewise.
18900         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
18901         Likewise.
18902         * tests/test-uname.c (uname): Likewise.
18903         * tests/test-unlink.c (unlink): Likewise.
18904         * tests/test-unlinkat.c (unlinkat): Likewise.
18905         * tests/test-unsetenv.c (unsetenv): Likewise.
18906         * tests/test-usleep.c (usleep): Likewise.
18907         * tests/test-utimensat.c (utimensat): Likewise.
18908         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
18909         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
18910         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
18911         * tests/test-vprintf-posix.c (vprintf): Likewise.
18912         * tests/test-vsnprintf.c (vsnprintf): Likewise.
18913         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
18914         * tests/test-wcrtomb.c (wcrtomb): Likewise.
18915         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
18916         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
18917         * tests/test-wcwidth.c (wcwidth): Likewise.
18918
18919         build: pull in conditional headers during GNULIB_POSIXCHECK
18920         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
18921         definitions from any conditionally-included headers.
18922         * lib/stdlib.in.h (includes): Likewise.
18923         * lib/unistd.in.h (includes): Likewise.
18924
18925 2009-12-24  Bruno Haible  <bruno@clisp.org>
18926
18927         * tests/test-argv-iter.c: Include header file being tested immediately
18928         after config.h.
18929         * tests/test-base64.c: Likewise.
18930         * tests/test-flock.c: Likewise.
18931         * tests/test-fsync.c: Likewise.
18932         * tests/test-getdate.c: Likewise.
18933         * tests/test-getndelim2.c: Likewise.
18934         * tests/test-isfinite.c: Likewise.
18935         * tests/test-isinf.c: Likewise.
18936         * tests/test-strerror.c: Likewise.
18937         * tests/test-strsignal.c: Likewise.
18938
18939 2009-12-23  Eric Blake  <ebb9@byu.net>
18940
18941         unistd: work around cygwin bug
18942         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
18943         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
18944         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18945
18946 2009-12-23  Bruno Haible  <bruno@clisp.org>
18947
18948         localename: More tests.
18949         * tests/test-localename.c (SIZEOF): New macro.
18950         (categories): New variable.
18951         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
18952         test_locale_name_default): Add test w.r.t. thread locale.
18953         (test_locale_name_thread): New function.
18954         (main): Invoke it.
18955
18956         localename: Make aware of thread locale.
18957         * lib/localename.h (gl_locale_name_thread): New declaration.
18958         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
18959         behaviour with respect to thread locale.
18960         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
18961         <langinfo.h>, glthread/lock.h.
18962         (SIZE_BITS): New macro.
18963         (string_hash): New function.
18964         (struct hash_node): New type.
18965         (HASH_TABLE_SIZE): New macro.
18966         (struniq_hash_table, struniq_lock): New variables.
18967         (struniq): New function.
18968         (gl_locale_name_thread): New function.
18969         (gl_locale_name): Invoke it.
18970         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
18971         * modules/localename (Depends-on): Add lock.
18972         Reported by Mike Gran <spk121@yahoo.com>.
18973
18974 2009-12-23  Eric Blake  <ebb9@byu.net>
18975
18976         va-args: new module
18977         * modules/va-args: New file.
18978         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
18979         * MODULES.html.sh (Core language properties): Mention it.
18980
18981         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
18982         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
18983         named alias for __attribute__((__unused__)).
18984         * lib/chown.c: Update client.
18985         * lib/fchmodat.c: Likewise.
18986         * lib/fts.c: Likewise.
18987         * lib/getdate.y: Likewise.
18988         * lib/getgroups.c: Likewise.
18989         * lib/getopt.c: Likewise.
18990         * lib/getugroups.c: Likewise.
18991         * lib/mkdir.c: Likewise.
18992         * lib/mkfifo.c: Likewise.
18993         * lib/mkfifoat.c: Likewise.
18994         * lib/mknod.c: Likewise.
18995         * lib/mknodat.c: Likewise.
18996         * lib/readlink.c: Likewise.
18997         * lib/se-context.in.h: Likewise.
18998         * lib/se-selinux.in.h: Likewise.
18999         * lib/sockets.c: Likewise.
19000         * lib/symlink.c: Likewise.
19001         * lib/symlinkat.c: Likewise.
19002         * lib/unicodeio.c: Likewise.
19003         * lib/unistr.h: Likewise.
19004         * tests/test-areadlink.c: Likewise.
19005         * tests/test-areadlinkat.c: Likewise.
19006         * tests/test-filenamecat.c: Likewise.
19007         * tests/test-fseeko.c: Likewise.
19008         * tests/test-ftello.c: Likewise.
19009         * tests/test-getdate.c: Likewise.
19010         * tests/test-getgroups.c: Likewise.
19011         * tests/test-gethostname.c: Likewise.
19012         * tests/test-quotearg.c: Likewise.
19013         * tests/test-version-etc.c: Likewise.
19014         * tests/test-xalloc-die.c: Likewise.
19015         * tests/test-xfprintf-posix.c: Likewise.
19016         * tests/test-xprintf-posix.c: Likewise.
19017         * tests/test-xvasprintf.c: Likewise.
19018
19019         tests: avoid compiler warnings
19020         * tests/test-fcntl.c (main): Delete unused parameters.
19021         * tests/test-freopen-safer.c (main): Likewise.
19022         * tests/test-xalloc-die.c (main): Mark unused parameters.
19023         * tests/test-fseeko.c (main): Likewise.
19024         * tests/test-ftello.c (main): Likewise.
19025         * tests/test-nanosleep.c (main): Avoid declaration warning.
19026         * tests/test-sleep.c (main): Likewise.
19027         * tests/test-unsetenv.c (main): Silence warning about string
19028         literal.
19029         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
19030
19031 2009-12-23  Bruno Haible  <bruno@clisp.org>
19032
19033         * tests/test-localename.c (test_locale_name): New function, extracted
19034         from main. Also test mixed situations.
19035         (test_locale_name_posix, test_locale_name_environ,
19036         test_locale_name_default): New functions.
19037         (main): Invoke them all.
19038         * modules/localename-tests (configure.ac): Test for newlocale.
19039
19040 2009-12-23  Bruno Haible  <bruno@clisp.org>
19041
19042         unistd: Ensure getcwd gets declared before being overridden.
19043         * lib/unistd.in.h: Conditionally include <io.h>.
19044
19045 2009-12-22  Bruno Haible  <bruno@clisp.org>
19046
19047         wchar: Diagnose broken combination of glibc and gcc versions and flags.
19048         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
19049         (gl_WCHAR_H): Invoke it.
19050         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
19051         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
19052         Reported by Karl Berry <karl@freefriends.org>.
19053
19054 2009-12-22  Eric Blake  <ebb9@byu.net>
19055
19056         math, unistd: avoid redundant includes
19057         * lib/math.in.h (isnan): No need to re-include <math.h>.
19058         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
19059
19060         getsubopt: work around cygwin bug
19061         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
19062         avoid conflicting with system getsubopt.
19063         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
19064         bug.
19065
19066         getopt: synchronize from glibc
19067         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
19068         parameter order.  Adjust all callers.
19069         (_getopt_internal_r, main): Adjust quoting in error messages.
19070         Drop considerations for outdated POSIX 1003.2 error message.
19071         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
19072         callers.
19073         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
19074
19075         test-getopt: test stderr behavior
19076         * modules/getopt-posix-tests (Depends-on): Add dup2.
19077         * tests/test-getopt.c (ASSERT): Avoid stderr.
19078         (main): Move stderr to a temporary file.
19079         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
19080         Instead, add parameter to inform caller if output occurred.
19081         (test_getopt): Adjust all existing tests to expect silence, and
19082         add new tests of leading ":".
19083         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19084         glibc shortcomings with leading "-:" or "+:" in optstring.
19085         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19086         Likewise.
19087         * doc/posix-functions/getopt.texi (getopt): Likewise.
19088
19089         test-getopt: enhance test
19090         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
19091         supports optind=0.
19092         * tests/test-getopt.c (OPTIND_MIN): Move...
19093         * tests/test-getopt.h (OPTIND_MIN): ...here.
19094         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
19095         Require that optind=0 works, since modern BSD supports it in
19096         addition to optreset, and since coreutils expects it.
19097         (test_getopt_long_only): New test.
19098         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
19099         glibc shortcomings with 'W;', and enforcement of optind=0.
19100         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19101         Likewise.
19102
19103 2009-12-21  Bruno Haible  <bruno@clisp.org>
19104
19105         localename: Improvements for MacOS X and Cygwin.
19106         * lib/localename.h (gl_locale_name_environ): New declaration.
19107         * lib/localename.c (gl_locale_name_environ): New function, extracted from
19108         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
19109         (gl_locale_name_posix): Invoke it.
19110         (gl_locale_name_default): Add comments. Use Windows native API also on
19111         Cygwin.
19112
19113 2009-12-21  Bruno Haible  <bruno@clisp.org>
19114
19115         Update list of Win32 locale ids.
19116         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
19117         (LANG_SAMI): Renamed from LANG_SAAMI.
19118         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
19119         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
19120         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
19121         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
19122         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
19123         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
19124         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
19125         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
19126         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
19127         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
19128         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
19129         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
19130         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
19131         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
19132         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
19133         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
19134         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
19135         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
19136         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
19137         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
19138         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
19139         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
19140         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
19141         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
19142         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
19143         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
19144         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
19145         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
19146         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
19147         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
19148         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
19149         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
19150         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
19151         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
19152         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
19153         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
19154         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
19155         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
19156         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
19157         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
19158         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
19159         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
19160         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
19161         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
19162         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
19163         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
19164         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
19165         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
19166         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
19167         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
19168         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
19169         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
19170         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
19171         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
19172         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
19173         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
19174         Add more languages and countries for Sami, Sorbian. Add more countries
19175         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
19176         for Pashto. Change country for Syriac, Tswana.
19177
19178 2009-12-21  Eric Blake  <ebb9@byu.net>
19179
19180         test-utimens: avoid spurious failure
19181         * tests/test-chown.h (nap): Factor...
19182         * tests/nap.h: ...into new file.
19183         * tests/test-lchown.h (nap): Avoid duplication.
19184         * tests/test-utimens-common.h (nap): Use shared implementation,
19185         necessary on file systems with 1-second resolution.
19186         * modules/chown-tests (Files): Include new file.
19187         * modules/fdutimensat-tests (Files): Likewise.
19188         * modules/futimens-tests (Files): Likewise.
19189         * modules/lchown-tests (Files): Likewise.
19190         * modules/openat-tests (Files): Likewise.
19191         * modules/utimens-tests (Files): Likewise.
19192         * modules/utimensat-tests (Files): Likewise.
19193
19194 2009-12-19  Eric Blake  <ebb9@byu.net>
19195
19196         futimens, utimensat: work around Linux bug
19197         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
19198         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19199         * lib/utimensat.c (rpl_utimensat): Work around it.
19200         * lib/futimens.c (rpl_futimens): Adjust comment.
19201
19202         utimens: work around Linux ctime bug
19203         * lib/utimens.c (detect_ctime_bug): New helper function.
19204         (update_timespec): Differentiate between workaround needed for
19205         this bug vs. what is needed for systems that lack utimensat.
19206         (fdutimens, lutimens): Work around bug.
19207
19208         utimens: check for ctime update
19209         * tests/test-utimens-common.h (check_ctime): Define.
19210         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
19211         * tests/test-futimens.h (test_futimens): Likewise.
19212         * tests/test-lutimens.h (test_lutimens): Likewise.
19213         * doc/posix-functions/futimens.texi (futimens): Document the bug.
19214         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19215
19216 2009-12-19  Bruno Haible  <bruno@clisp.org>
19217
19218         dprintf-posix: Check against memory leak fixed on 2009-12-15.
19219         * tests/test-dprintf-posix2.sh: New file.
19220         * tests/test-dprintf-posix2.c: New file.
19221         * modules/dprintf-posix-tests (Files): Add them.
19222         (configure.ac): Check for getrlimit and setrlimit.
19223         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19224
19225 2009-12-19  Bruno Haible  <bruno@clisp.org>
19226
19227         fprintf-posix: Check against memory leak fixed on 2009-12-15.
19228         * tests/test-fprintf-posix3.sh: New file.
19229         * tests/test-fprintf-posix3.c: New file.
19230         * modules/fprintf-posix-tests (Files): Add them.
19231         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
19232
19233 2009-12-19  Eric Blake  <ebb9@byu.net>
19234
19235         dirfd: fix prototype
19236         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
19237         * lib/dirfd.c (dirfd): Likewise.
19238
19239         canonicalize: reduce memory usage
19240         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
19241         allocation to size.
19242         Reported by Solar Designer <solar@openwall.com>.
19243
19244 2009-12-19  Bruno Haible  <bruno@clisp.org>
19245
19246         New module attribute 'Applicability'.
19247         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
19248         * gnulib-tool: New option --extract-applicability.
19249         (func_usage): Document it.
19250         (sed_extract_prog): Recognize it.
19251         (func_get_applicability): New function.
19252         (func_import): Generalize handling of 'link-warning' module.
19253         * modules/link-warning (Applicability): New section.
19254         * modules/arg-nonnull (Applicability): New section.
19255         Repoted by Simon Josefsson <simon@josefsson.org>.
19256
19257 2009-12-19  Bruno Haible  <bruno@clisp.org>
19258
19259         fflush: tweak
19260         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
19261         * lib/fseeko.c (rpl_fseeko): Likewise.
19262
19263 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
19264
19265         * lib/gl_list.h: Fix typo in comment.
19266
19267 2009-12-16  Eric Blake  <ebb9@byu.net>
19268
19269         fcntl: use to simplify other modules
19270         * modules/cloexec (Depends-on): Add fcntl.
19271         * modules/fchdir (Depends-on): Likewise.
19272         * modules/fd-safer-flag (Depends-on): Likewise.
19273         * modules/unistd-safer (Depends-on): Likewise.
19274         * modules/dup3 (configure.ac): Set module indicator.
19275         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
19276         missing.
19277         * lib/fchdir.c (_gl_register_dup): Fix comment.
19278         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
19279         * lib/dup-safer.c (dup_safer): Likewise.
19280         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
19281         * lib/dup3.c (dup3): Likewise.
19282         * tests/test-fchdir.c (main): Enhance test.
19283         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
19284
19285         fcntl: port portions of fcntl to mingw
19286         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
19287         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
19288         replacement for mingw.
19289         * modules/fcntl (Description): Update.
19290         (Depends-on): Add dup2.
19291         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
19292         * modules/fcntl-h (Makefile.am): Substitute it.
19293         * lib/fcntl.in.h (fcntl): Update declaration.
19294         (F_DUPFD, F_GETFD): New macros, when needed.
19295         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
19296         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
19297         * tests/test-fcntl.c (check_flags, main): Enhance test for items
19298         we now guarantee.
19299
19300         fcntl: work around cygwin bug in F_DUPFD
19301         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
19302         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
19303         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
19304         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
19305         * doc/posix-functions/fcntl.texi (fcntl): Document it.
19306
19307         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
19308         * modules/fcntl (Files): List new files.
19309         (configure.ac): Run a test.
19310         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
19311         * lib/fcntl.c (rpl_fcntl): Likewise.
19312         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
19313         (gl_FCNTL_H): Always replace fcntl.h.
19314         * modules/fcntl-h (Makefile.am): Substitute witnesses.
19315         * lib/fcntl.in.h (fcntl): Declare replacement.
19316         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
19317         needed, plus a witness.
19318         * doc/posix-functions/fcntl.texi (fcntl): Document this.
19319         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19320         * tests/test-fcntl.c: New file.
19321         * modules/fcntl-tests: Likewise.
19322
19323         binary-io: avoid potential compilation warning
19324         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
19325         directives.
19326
19327         fflush: avoid compilation error on NetBSD
19328         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
19329         between off_t and fpos_t, since the latter is sometimes a struct.
19330         * lib/fseeko.c (rpl_fseeko): Likewise.
19331         Reported by Alexander Nasonov <alnsn@yandex.ru>.
19332
19333 2009-12-15  Eric Blake  <ebb9@byu.net>
19334
19335         fcntl-h, stdio, sys_ioctl: fix declarations
19336         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
19337         function must not take arguments.
19338         * lib/sys_ioctl.in.h (ioctl): Likewise.
19339         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
19340         (open): Add a link warning.
19341
19342 2009-12-15  Jim Meyering  <meyering@redhat.com>
19343
19344         areadlink, areadlink-with-size: relax license to LGPLv2+
19345         * modules/areadlink (License): Relax to LGPLv2+.
19346         * modules/areadlink-with-size (License): Likewise.
19347
19348 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
19349             Bruno Haible  <bruno@clisp.org>
19350
19351         *printf: Fix memory leak.
19352         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
19353         * lib/vfprintf.c (vfprintf): Likewise.
19354         * lib/dprintf.c (dprintf): Likewise.
19355         * lib/vdprintf.c (vdprintf): Likewise.
19356
19357 2009-12-14  Eric Blake  <ebb9@byu.net>
19358
19359         accept4: adjust module dependencies
19360         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
19361
19362         utimens: one more try at avoiding compiler warning
19363         * lib/utimens.c (lutimens): Lower scope of result.
19364
19365 2009-12-13  Bruno Haible  <bruno@clisp.org>
19366
19367         Move the malloc checking from module 'list' to new module 'xlist'.
19368         * modules/xlist: New file.
19369         * lib/gl_xlist.h: New file.
19370         * lib/gl_xlist.c: New file.
19371         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
19372         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
19373         gl_list_add_last, gl_list_add_before, gl_list_add_after,
19374         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
19375         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
19376         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
19377         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
19378         gl_sortedlist_nx_add): New declarations.
19379         (struct gl_list_implementation): Rename and change methods accordingly.
19380         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
19381         (gl_list_nx_create): Renamed from gl_list_create.
19382         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19383         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19384         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19385         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19386         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19387         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19388         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19389         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19390         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
19391         gl_list_create_empty.
19392         (gl_list_nx_create): Renamed from gl_list_create.
19393         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
19394         (gl_list_nx_set_at): Renamed from gl_list_set_at.
19395         (gl_list_nx_add_first): Renamed from gl_list_add_first.
19396         (gl_list_nx_add_last): Renamed from gl_list_add_last.
19397         (gl_list_nx_add_before): Renamed from gl_list_add_before.
19398         (gl_list_nx_add_after): Renamed from gl_list_add_after.
19399         (gl_list_nx_add_at): Renamed from gl_list_add_at.
19400         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
19401         * lib/gl_array_list.c: Don't include xalloc.h.
19402         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
19403         NULL upon out-of-memory.
19404         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
19405         out-of-memory.
19406         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
19407         Change return type to 'int'.
19408         (gl_array_nx_set_at): Renamed from gl_array_set_at.
19409         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19410         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
19411         upon out-of-memory.
19412         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
19413         upon out-of-memory.
19414         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
19415         upon out-of-memory.
19416         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
19417         upon out-of-memory.
19418         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
19419         out-of-memory.
19420         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
19421         Update.
19422         (gl_array_list_implementation): Update.
19423         * lib/gl_carray_list.c: Don't include xalloc.h.
19424         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
19425         Return NULL upon out-of-memory.
19426         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
19427         out-of-memory.
19428         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
19429         Change return type to 'int'.
19430         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
19431         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
19432         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
19433         upon out-of-memory.
19434         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
19435         upon out-of-memory.
19436         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
19437         out-of-memory.
19438         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
19439         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
19440         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
19441         Update.
19442         (gl_carray_list_implementation): Update.
19443         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
19444         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
19445         gl_linked_create_empty. Return NULL upon out-of-memory.
19446         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
19447         out-of-memory.
19448         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
19449         Change return type to 'int'. Return -1 upon out-of-memory.
19450         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
19451         out-of-memory.
19452         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
19453         upon out-of-memory.
19454         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
19455         upon out-of-memory.
19456         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
19457         NULL upon out-of-memory.
19458         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
19459         upon out-of-memory.
19460         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
19461         out-of-memory.
19462         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
19463         Update.
19464         * lib/gl_linked_list.c: Don't include xalloc.h.
19465         (gl_linked_list_implementation): Update.
19466         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
19467         (add_to_bucket): Change return type to 'int'.
19468         (gl_linkedhash_list_implementation): Update.
19469         * lib/gl_anytree_list1.h (free_subtree): New function.
19470         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
19471         gl_tree_create_empty. Return NULL upon out-of-memory.
19472         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
19473         Change return type to 'int'. Return -1 upon out-of-memory.
19474         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
19475         out-of-memory.
19476         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
19477         (gl_tree_remove_node): New function, moved here from
19478         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
19479         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
19480         Update.
19481         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
19482         malloc, not xmalloc. Return NULL upon out-of-memory.
19483         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19484         out-of-memory.
19485         (gl_tree_remove_node_from_tree): New function, extracted from
19486         gl_tree_remove_node.
19487         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19488         upon out-of-memory.
19489         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19490         out-of-memory.
19491         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19492         upon out-of-memory.
19493         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19494         upon out-of-memory.
19495         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19496         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
19497         not xmalloc. Return NULL upon out-of-memory.
19498         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
19499         out-of-memory.
19500         (gl_tree_remove_node_from_tree): New function, extracted from
19501         gl_tree_remove_node.
19502         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
19503         upon out-of-memory.
19504         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
19505         out-of-memory.
19506         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
19507         upon out-of-memory.
19508         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
19509         upon out-of-memory.
19510         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
19511         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
19512         gl_anytree_list1.h before gl_anyavltree_list2.h.
19513         (gl_avltree_list_implementation): Update.
19514         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
19515         gl_anytree_list1.h before gl_anyavltree_list2.h.
19516         (gl_rbtree_list_implementation): Update.
19517         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
19518         Change return type to 'int'. Return -1 upon out-of-memory. Use
19519         __builtin_expect.
19520         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
19521         (gl_avltreehash_list_implementation): Update.
19522         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
19523         (gl_rbtreehash_list_implementation): Update.
19524         * modules/array-list (Depends-on): Remove xalloc.
19525         * modules/carray-list (Depends-on): Likewise.
19526         * modules/linked-list (Depends-on): Likewise.
19527         * modules/linkedhash-list (Depends-on): Likewise.
19528         * modules/avltree-list (Depends-on): Likewise.
19529         * modules/rbtree-list (Depends-on): Likewise.
19530         * modules/avltreehash-list (Depends-on): Likewise.
19531         * modules/rbtreehash-list (Depends-on): Likewise.
19532
19533         * modules/xsublist: New file.
19534         * lib/gl_xsublist.h: New file.
19535         * lib/gl_xsublist.c: New file.
19536         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
19537         (gl_sublist_nx_create): New declaration.
19538         * lib/gl_sublist.c: Don't include xalloc.h.
19539         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
19540         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
19541         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
19542         Change return type to 'int'. Return -1 upon out-of-memory.
19543         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
19544         upon out-of-memory.
19545         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
19546         NULL upon out-of-memory.
19547         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
19548         upon out-of-memory.
19549         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
19550         NULL upon out-of-memory.
19551         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
19552         NULL upon out-of-memory.
19553         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
19554         upon out-of-memory.
19555         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
19556         (gl_sublist_list_implementation): Update.
19557         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
19558         upon out-of-memory.
19559         * modules/sublist (Depends-on): Remove xalloc.
19560
19561         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
19562         * tests/test-carray_list.c: Likewise.
19563         * tests/test-linked_list.c: Likewise.
19564         * tests/test-linkedhash_list.c: Likewise.
19565         * tests/test-avltree_list.c: Likewise.
19566         * tests/test-rbtree_list.c: Likewise.
19567         * tests/test-avltreehash_list.c: Likewise.
19568         * tests/test-rbtreehash_list.c: Likewise.
19569         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
19570         * modules/carray-list-tests (Makefile.am): Likewise.
19571         * modules/linked-list-tests (Makefile.am): Likewise.
19572         * modules/linkedhash-list-tests (Makefile.am): Likewise.
19573         * modules/avltree-list-tests (Makefile.am): Likewise.
19574         * modules/rbtree-list-tests (Makefile.am): Likewise.
19575         * modules/avltreehash-list-tests (Makefile.am): Likewise.
19576         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
19577
19578         * NEWS: Mention the changes.
19579
19580         * lib/clean-temp.c: Include gl_xlist.h.
19581         * modules/clean-temp (Depends-on): Add xlist.
19582
19583         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
19584         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
19585
19586         * tests/test-array_oset.c: Include gl_xlist.h.
19587         * modules/array-oset-tests (Depends-on): Add xlist.
19588
19589         Reported by José E. Marchesi <jemarch@gnu.org>.
19590
19591 2009-12-13  Bruno Haible  <bruno@clisp.org>
19592
19593         Move the malloc checking from module 'oset' to new module 'xoset'.
19594         * modules/xoset: New file.
19595         * lib/gl_xoset.h: New file.
19596         * lib/gl_xoset.c: New file.
19597         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
19598         declarations.
19599         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
19600         (struct gl_oset_implementation): Rename and change methods accordingly.
19601         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
19602         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19603         'int'. Mark as __warn_unused_result__.
19604         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
19605         gl_oset_create_empty.
19606         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
19607         'int'.
19608         * lib/gl_array_oset.c: Don't include xalloc.h.
19609         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
19610         malloc, not xmalloc.
19611         (grow): Change return type to 'int'. Don't call xalloc_die.
19612         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
19613         to 'int'.
19614         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
19615         'int'.
19616         (gl_array_oset_implementation): Update.
19617         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
19618         gl_tree_create_empty.
19619         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
19620         'int'.
19621         * lib/gl_avltree_oset.c: Don't include xalloc.h.
19622         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19623         xmalloc.
19624         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19625         not xmalloc.
19626         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19627         xmalloc.
19628         (gl_avltree_oset_implementation): Update.
19629         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
19630         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
19631         xmalloc.
19632         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
19633         not xmalloc.
19634         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
19635         xmalloc.
19636         (gl_rbtree_oset_implementation): Update.
19637         * modules/array-oset (Depends-on): Remove xalloc.
19638         * modules/avltree-oset (Depends-on): Likewise.
19639         * modules/rbtree-oset (Depends-on): Likewise.
19640         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
19641         * tests/test-avltree_oset.c: Likewise.
19642         * tests/test-rbtree_oset.c: Likewise.
19643         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
19644         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
19645         * modules/rbtree-oset-tests (Makefile.am): Likewise.
19646         * NEWS: Mention the change.
19647
19648 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
19649
19650         maint.mk: allow a project to override release-prep commands
19651         * top/maint.mk (alpha, beta, stable): Move release-preparatory
19652         commands into a new rule.
19653         (release-prep): New rule.
19654         (release-prep-hook): New overridable variable.
19655
19656 2009-12-13  Bruno Haible  <bruno@clisp.org>
19657
19658         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
19659
19660 2009-12-13  Jim Meyering  <meyering@redhat.com>
19661
19662         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
19663         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
19664
19665 2009-12-12  Bruno Haible  <bruno@clisp.org>
19666
19667         duplocale: Tweak.
19668         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
19669
19670 2009-12-12  Karl Berry  <karl@gnu.org>
19671
19672         * config/srclist.txt (strtoll.c): tab changes, no more sync.
19673
19674 2009-12-12  Bruno Haible  <bruno@clisp.org>
19675
19676         * m4/po.m4: Undo incorrect untabification.
19677
19678 2009-12-12  Bruno Haible  <bruno@clisp.org>
19679
19680         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
19681         * modules/c-strtod (Depends-on): Add locale.
19682         * modules/c-strtold (Depends-on): Likewise.
19683
19684 2009-12-12  Bruno Haible  <bruno@clisp.org>
19685
19686         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
19687
19688 2009-12-11  Eric Blake  <ebb9@byu.net>
19689
19690         setenv: relax requirement in light of POSIX ruling
19691         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
19692         not NULL.
19693         * tests/test-setenv.c (main): Relax test.
19694         * tests/test-unsetenv.c (main): Likewise.
19695         * doc/posix-functions/setenv.texi (setenv): Document this.
19696         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
19697
19698 2009-12-11  Bruno Haible  <bruno@clisp.org>
19699
19700         New module 'fd-safer-flag'.
19701         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
19702         * lib/dup-safer.c (dup_safer_flag): Remove function.
19703         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
19704         * lib/fd-safer.c (fd_safer_flag): Remove function.
19705         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
19706         * modules/cloexec (configure.ac): Drop indicator macro.
19707         * modules/fd-safer-flag: New file.
19708         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
19709         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
19710         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
19711
19712 2009-12-11  Bruno Haible  <bruno@clisp.org>
19713
19714         Tests for module 'nl_langinfo'.
19715         * modules/nl_langinfo-tests: New file.
19716         * tests/test-nl_langinfo.sh: New file.
19717         * tests/test-nl_langinfo.c: New file.
19718
19719         New module 'nl_langinfo'.
19720         * lib/nl_langinfo.c: New file.
19721         * m4/nl_langinfo.m4: New file.
19722         * modules/nl_langinfo: New file.
19723         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
19724
19725 2009-12-11  Bruno Haible  <bruno@clisp.org>
19726
19727         Tests for module 'langinfo'.
19728         * modules/langinfo-tests: New file.
19729         * tests/test-langinfo.c: New file.
19730
19731         New module 'langinfo'.
19732         * lib/langinfo.in.h: New file.
19733         * m4/langinfo_h.m4: New file.
19734         * modules/langinfo: New file.
19735         * doc/posix-headers/langinfo.texi: Mention the new module.
19736
19737 2009-12-11  Bruno Haible  <bruno@clisp.org>
19738
19739         * lib/config.charset: Untabify.
19740
19741 2009-12-11  Bruno Haible  <bruno@clisp.org>
19742
19743         * modules/unistd-safer (configure.ac): Drop indicator macro.
19744
19745 2009-12-11  Bruno Haible  <bruno@clisp.org>
19746
19747         Move pipe2-safer code to its own file.
19748         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
19749         * lib/pipe-safer.c (pipe2_safer): Remove function.
19750         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
19751         (Makefile.am): Add it to lib_SOURCES.
19752
19753 2009-12-10  Bruno Haible  <bruno@clisp.org>
19754
19755         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
19756
19757 2009-12-10  Bruno Haible  <bruno@clisp.org>
19758
19759         Declare which arguments expect non-NULL values, for GCC and clang.
19760         * build-aux/arg-nonnull.h: New file.
19761         * modules/arg-nonnull: New file.
19762         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
19763         (inet_ntop, inet_pton): Use it.
19764         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
19765         (closedir, dirfd, opendir, scandir, alphasort): Use it.
19766         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
19767         (open, openat): Use it.
19768         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
19769         (fnmatch): Use it.
19770         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
19771         (getopt, getopt_long, getopt_long_only): Use it.
19772         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
19773         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
19774         Use it.
19775         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
19776         (iconv_open): Use it.
19777         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
19778         (strtoimax, strtoumax): Use it.
19779         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
19780         (duplocale): Use it.
19781         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
19782         (frexp, frexpl): Use it.
19783         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
19784         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
19785         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
19786         (tsearch, tfind, tdelete, twalk): Use it.
19787         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
19788         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
19789         sigpending): Use it.
19790         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
19791         (posix_spawn, posix_spawnp, posix_spawnattr_init,
19792         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
19793         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
19794         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
19795         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
19796         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
19797         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
19798         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
19799         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
19800         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
19801         Use it.
19802         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
19803         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
19804         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
19805         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
19806         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
19807         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
19808         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
19809         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
19810         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
19811         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
19812         strtoull, unsetenv): Use it.
19813         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
19814         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
19815         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
19816         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
19817         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
19818         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
19819         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
19820         (strcasecmp, strncasecmp): Use it.
19821         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
19822         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
19823         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
19824         rpl_setsockopt): Use it.
19825         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
19826         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
19827         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
19828         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
19829         (gettimeofday): Use it.
19830         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
19831         (times): Use it.
19832         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
19833         (uname): Use it.
19834         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
19835         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
19836         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
19837         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
19838         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
19839         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
19840         unlinkat, write): Use it.
19841         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
19842         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
19843         * lib/argv-iter.h: Include arg-nonnull.h.
19844         (_ATTRIBUTE_NONNULL_): Remove macro.
19845         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
19846         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
19847         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
19848         optimization.
19849         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
19850         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
19851         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
19852         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
19853         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
19854         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
19855         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
19856         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
19857         * modules/arpa_inet (Depends-on): Add arg-nonnull.
19858         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
19859         * modules/dirent (Depends-on): Add arg-nonnull.
19860         (Makefile.am): Insert arg-nonnull.h into dirent.h.
19861         * modules/fcntl-h (Depends-on): Add arg-nonnull.
19862         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
19863         * modules/fnmatch (Depends-on): Add arg-nonnull.
19864         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
19865         * modules/getopt-posix (Depends-on): Add arg-nonnull.
19866         (Makefile.am): Insert arg-nonnull.h into getopt.h.
19867         * modules/glob (Depends-on): Add arg-nonnull.
19868         (Makefile.am): Insert arg-nonnull.h into glob.h.
19869         * modules/iconv_open (Depends-on): Add arg-nonnull.
19870         (Makefile.am): Insert arg-nonnull.h into iconv.h.
19871         * modules/inttypes (Depends-on): Add arg-nonnull.
19872         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
19873         * modules/locale (Depends-on): Add arg-nonnull.
19874         (Makefile.am): Insert arg-nonnull.h into locale.h.
19875         * modules/math (Depends-on): Add arg-nonnull.
19876         (Makefile.am): Insert arg-nonnull.h into math.h.
19877         * modules/netdb (Depends-on): Add arg-nonnull.
19878         (Makefile.am): Insert arg-nonnull.h into netdb.h.
19879         * modules/search (Depends-on): Add arg-nonnull.
19880         (Makefile.am): Insert arg-nonnull.h into search.h.
19881         * modules/signal (Depends-on): Add arg-nonnull.
19882         (Makefile.am): Insert arg-nonnull.h into signal.h.
19883         * modules/spawn (Depends-on): Add arg-nonnull.
19884         (Makefile.am): Insert arg-nonnull.h into spawn.h.
19885         * modules/stdio (Depends-on): Add arg-nonnull.
19886         (Makefile.am): Insert arg-nonnull.h into stdio.h.
19887         * modules/stdlib (Depends-on): Add arg-nonnull.
19888         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
19889         * modules/string (Depends-on): Add arg-nonnull.
19890         (Makefile.am): Insert arg-nonnull.h into string.h.
19891         * modules/strings (Depends-on): Add arg-nonnull.
19892         (Makefile.am): Insert arg-nonnull.h into strings.h.
19893         * modules/sys_socket (Depends-on): Add arg-nonnull.
19894         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
19895         * modules/sys_stat (Depends-on): Add arg-nonnull.
19896         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
19897         * modules/sys_time (Depends-on): Add arg-nonnull.
19898         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
19899         * modules/sys_times (Depends-on): Add arg-nonnull.
19900         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
19901         * modules/sys_utsname (Depends-on): Add arg-nonnull.
19902         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
19903         * modules/time (Depends-on): Add arg-nonnull.
19904         (Makefile.am): Insert arg-nonnull.h into time.h.
19905         * modules/unistd (Depends-on): Add arg-nonnull.
19906         (Makefile.am): Insert arg-nonnull.h into unistd.h.
19907         * modules/wchar (Depends-on): Add arg-nonnull.
19908         (Makefile.am): Insert arg-nonnull.h into wchar.h.
19909         * modules/argv-iter (Depends-on): Add arg-nonnull.
19910         * tests/test-canonicalize.c (null_ptr): New function.
19911         (main): Use it.
19912         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
19913         (main): Use it.
19914         * tests/test-memmem.c (null_ptr): New function.
19915         (main): Use it.
19916         Reported by Jim Meyering.
19917
19918 2009-12-10  Bruno Haible  <bruno@clisp.org>
19919
19920         Use spaces for indentation, not tabs.
19921         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
19922         * m4/*.m4: Untabify.
19923         * build-aux/*.h: Untabify.
19924         * tests/**/*.[hc]: Untabify.
19925         * README: New section "Indent with spaces, not TABs", based on
19926         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
19927         * NEWS: Mention the change.
19928
19929 2009-12-10  Bruno Haible  <bruno@clisp.org>
19930
19931         pty test: Fix link error.
19932         * modules/pty-tests (Makefile.am): Add the default LDADD value to
19933         test_pty_LDADD.
19934
19935 2009-12-07  Simon Josefsson  <simon@josefsson.org>
19936
19937         * modules/pty: New file.
19938         * modules/pty-tests: New file.
19939         * m4/pty.m4: New file.
19940         * tests/test-pty.c: New file.
19941         * doc/glibc-headers/pty.texi: Modified.
19942         * doc/glibc-functions/forkpty.texi: Modified.
19943         * doc/glibc-functions/openpty.texi: Modified.
19944
19945 2009-12-10  Bruno Haible  <bruno@clisp.org>
19946
19947         Avoid syntax error in C++ mode.
19948         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
19949
19950 2009-12-10  Bruno Haible  <bruno@clisp.org>
19951
19952         Use sed with option -e.
19953         * gnulib-tool (func_version, func_emit_copyright_notice,
19954         func_emit_initmacro_end, func_import, func_create_testdir): Pass
19955         option -e to sed.
19956         * modules/link-warning (Makefile.am): Likewise.
19957
19958 2009-12-10  Jim Meyering  <meyering@redhat.com>
19959
19960         mgetgroups: do not write bytes beyond end of malloc'd buffer
19961         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
19962         username, we call getgroups with a one-element-shorter buffer,
19963         but still told it the length was original, max_n_groups.
19964
19965 2009-12-09  Eric Blake  <ebb9@byu.net>
19966
19967         cloexec: relax license
19968         * modules/cloexec (Maintainer): Add myself.
19969         (License): Use LGPL, not GPL.
19970
19971         link-warning: optimize generation
19972         * modules/link-warning (Makefile.am): Reduce process usage.
19973
19974 2009-12-09  Bruno Haible  <bruno@clisp.org>
19975
19976         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
19977         workaround was added on 2009-11-17.
19978
19979 2009-12-09  Jim Meyering  <meyering@redhat.com>
19980             Bruno Haible  <bruno@clisp.org>
19981
19982         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
19983         * modules/link-warning (Makefile.am): Make the comment-removing sed
19984         command more robust in the face of bootstrap-prepended comment lines.
19985
19986 2009-12-09  Bruno Haible  <bruno@clisp.org>
19987
19988         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
19989         most one group.
19990
19991 2009-12-09  Simon Josefsson <simon@josefsson.org>
19992             Bruno Haible  <bruno@clisp.org>
19993
19994         * build-aux/link-warning.h: Add copyright notice.
19995         * modules/link-warning (Makefile.am): Generate link-warning.h from
19996         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
19997         * NEWS: Mention change in link-warning module.
19998         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
19999         * modules/dirent (Makefile.am): Add dependency to dirent.h.
20000         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
20001         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
20002         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
20003         * modules/math (Makefile.am): Add dependency to math.h.
20004         * modules/search (Makefile.am): Add dependency to search.h.
20005         * modules/signal (Makefile.am): Add dependency to signal.h.
20006         * modules/spawn (Makefile.am): Add dependency to spawn.h.
20007         * modules/stdio (Makefile.am): Add dependency to stdio.h.
20008         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
20009         * modules/string (Makefile.am): Add dependency to string.h.
20010         * modules/strings (Makefile.am): Add dependency to strings.h.
20011         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
20012         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
20013         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
20014         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
20015         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
20016         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
20017         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
20018         * modules/unistd (Makefile.am): Add dependency to unistd.h.
20019         * modules/wchar (Makefile.am): Add dependency to wchar.h.
20020
20021 2009-12-09  Bruno Haible  <bruno@clisp.org>
20022
20023         fchdir: Optimize away rpl_fstat when possible.
20024         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
20025         REPLACE_OPEN_DIRECTORY.
20026         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
20027
20028 2009-12-09  Bruno Haible  <bruno@clisp.org>
20029
20030         * lib/fchdir.c: Update comment.
20031
20032 2009-12-09  Bruno Haible  <bruno@clisp.org>
20033
20034         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
20035
20036 2009-12-08  Eric Blake  <ebb9@byu.net>
20037
20038         fchdir: avoid memory leak on re-registration.
20039         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
20040
20041 2009-12-08  Jim Meyering  <meyering@redhat.com>
20042
20043         init.sh: avoid Solaris 10 /bin/sh portability problem
20044         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
20045         sourced script:
20046           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
20047           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
20048           bar
20049         tests/init.sh relied on that, accepting a --set-path=DIR argument,
20050         and two tests used that idiom.
20051         * tests/init.sh: Update suggested usage comments.
20052         (path_prepend_): New function, to be used in place
20053         of the --src-path=DIR option.
20054         (setup_): Move PATH-prepending code into path_prepend_.
20055         * tests/test-pread.sh: Adapt to new usage.
20056         * tests/test-xalloc-die.sh: Likewise.
20057
20058 2009-12-08  Simon Josefsson  <simon@josefsson.org>
20059
20060         * doc/gnulib.texi (Glibc pty.h): Add.
20061         * doc/glibc-functions/forkpty.texi: Add.
20062         * doc/glibc-functions/openpty.texi: Add.
20063         Suggested by Bruno Haible.
20064
20065 2009-12-08  Eric Blake  <ebb9@byu.net>
20066
20067         fchdir: fix logic bugs
20068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
20069         * tests/test-fchdir.c (main): Enhance test.
20070         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
20071         is in use.
20072
20073         dup2: fix logic bugs
20074         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
20075         REPLACE_DUP2 to decide when rpl_dup2 is needed.
20076         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
20077         exists.
20078         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
20079
20080 2009-12-07  Eric Blake  <ebb9@byu.net>
20081
20082         unlink: fix m4 detection
20083         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
20084
20085         unistd-safer: add unit test
20086         * modules/unistd-safer-tests: New file.
20087         * tests/test-dup-safer.c: Likewise.
20088         * tests/test-cloexec.c (setmode): Avoid compiler warning.
20089         * tests/test-dup2.c (setmode): Likewise.
20090         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
20091
20092         cloexec: preserve text vs. binary across dup_cloexec
20093         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
20094         mode.
20095         * modules/dup2-tests (Depends-on): Add binary-io.
20096         * modules/cloexec-tests (Depends-on): Likewise.
20097         * tests/test-dup2.c (setmode, is_mode): New helpers.
20098         (main): Add tests that translation mode is preserved.
20099         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
20100         Reported by Bruno Haible.
20101
20102         mgetgroups: reduce duplicate listings
20103         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
20104         resulting array.
20105         * tests/test-chown.h (test_chown): Simplify client.
20106         * tests/test-lchown.h (test_lchown): Likewise.
20107
20108 2009-12-06  Bruno Haible  <bruno@clisp.org>
20109
20110         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
20111         value.
20112
20113 2009-12-06  Bruno Haible  <bruno@clisp.org>
20114
20115         * lib/progname.c: Include stdio.h, stdlib.h.
20116         (set_program_name): Reject a NULL argument.
20117
20118 2009-12-05  Eric Blake  <ebb9@byu.net>
20119
20120         pipe2-safer: new module
20121         * modules/pipe2-safer: New file.
20122         * lib/unistd-safer.h (pipe2_safer): New prototype.
20123         * lib/unistd--.h (pipe2): New wrapper.
20124         * lib/pipe-safer.c (pipe2_safer): New function.
20125         * modules/pipe (Depends-on): Add pipe2-safer.
20126         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
20127
20128         stdlib-safer: preserve cloexec flag for mkostemp[s]
20129         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
20130         fd_safer_flag.
20131
20132         unistd-safer: allow preservation of cloexec status via flag
20133         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
20134         prototypes.
20135         * lib/dup-safer.c (dup_safer_flag): New function.
20136         * lib/fd-safer.c (fd_safer_flag): Likewise.
20137         * modules/cloexec (configure.ac): Set witness.
20138
20139         test-dup2: enhance test
20140         * modules/dup2-tests (Depends-on): Add cloexec.
20141         * tests/test-dup2.c (main): Enhance test.
20142
20143         cloexec: add dup_cloexec
20144         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
20145         header and comments.
20146         * lib/cloexec.c (set_cloexec_flag): Add comments.
20147         (dup_cloexec): New function, with mingw implementation borrowed
20148         from...
20149         * lib/w32spawn.h (dup_noinherit): ...here.
20150         * modules/execute (Depends-on): Add cloexec.
20151         * modules/pipe (Depends-on): Likewise.
20152         * modules/cloexec (Depends-on): Add dup2.
20153         * modules/cloexec-tests (Files): New file.
20154         * tests/test-cloexec.c: Likewise.
20155
20156         test-xalloc-die: fix test for mingw
20157         * modules/xalloc-die-tests (Files): Add tests/init.sh.
20158         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
20159         directory and .exe suffix off argv[0] output.
20160
20161         test-fseeko: fix test for mingw
20162         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
20163         than undefining fseek, so test will pass on mingw.
20164
20165 2009-12-05  Bruno Haible  <bruno@clisp.org>
20166
20167         * lib/progname.h (set_program_name): Clarify specification.
20168         * lib/progname.c (set_program_name): Likewise.
20169         Reported by Jim Meyering.
20170
20171 2009-12-05  Jim Meyering  <meyering@redhat.com>
20172
20173         maint.mk: backslash-escape parens in default regexp
20174         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
20175         backslash-escape the literal parentheses.
20176
20177         maint.mk: news-date-check: use grep -E
20178         * top/maint.mk (today): Define a Make variable, not a...
20179         (news-date-check): ...shell variable.
20180         (news-date-regexp): Use the Make variable.
20181         Use grep's -E option.  Change the failing diagnostic to mention
20182         the variable, $(news-date-regexp).
20183
20184 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
20185
20186         maintainer-makefile: allow customization of NEWS entry format
20187         * top/maint.mk (news-date-regexp): New overridable variable.
20188         (news-date-check): Use it.
20189
20190 2009-12-04  Eric Blake  <ebb9@byu.net>
20191
20192         mgetgroups: add xgetgroups, and avoid ENOSYS failures
20193         * lib/mgetgroups.h (xgetgroups): New prototype.
20194         * lib/mgetgroups.c (xgetgroups): New wrapper.
20195         (mgetgroups): Handle ENOSYS.
20196         * modules/mgetgroups (Depends-on): Add realloc.
20197         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
20198
20199         mgetgroups: avoid argument promotion issues with -1
20200         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
20201         for invalid gid_t.
20202         * tests/test-chown.h (getegid, test_chown): Likewise.
20203         * tests/test-lchown.h (getegid, test_lchown): Likewise.
20204
20205 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
20206
20207         exclude: Fix header file problems.
20208         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
20209
20210 2009-12-01  Jim Meyering  <meyering@redhat.com>
20211
20212         fts: fts_open: do not let an empty string cause immediate failure
20213         This is required in support of GNU rm, for which the command
20214         "rm A '' B" must process and remove both A and B, in spite of
20215         the empty string argument.
20216         * lib/fts.c (fts_open): Do not let the presence of an empty string
20217         cause fts_open to fail immediately.  Most fts-using tools must be
20218         able to process all arguments, in order, and can be expected to
20219         diagnose such arguments themselves.
20220
20221 2009-11-30  Eric Blake  <ebb9@byu.net>
20222
20223         utimens: fix compilation error
20224         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
20225         Declare variable at right scope.
20226
20227 2009-11-29  Jim Meyering  <meyering@redhat.com>
20228
20229         bootstrap: handle perl-5.11's changed --version output
20230         * build-aux/bootstrap (get_version): Handle perl separately,
20231         since perl-5.11's --version output is different.
20232
20233 2009-11-28  Jim Meyering  <meyering@redhat.com>
20234
20235         userspec: depend on the inttostr module, too
20236         * modules/userspec (Depends-on): Add inttostr.
20237
20238         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
20239         * lib/userspec.c (parse_with_separator): Do not accept a user ID
20240         number of MAXUID when it evaluates to (uid_t) -1.
20241         Likewise for group ID.  Reported by Matt McCutchen in
20242         <http://savannah.gnu.org/bugs/?28113>
20243
20244         userspec: reformat to use spaces, not TABs
20245         * lib/userspec.c: Expand TABs to spaces.
20246         Add Emacs' "indent-tabs-mode: nil" hint.
20247
20248 2009-11-27  Eric Blake  <ebb9@byu.net>
20249
20250         getopt-gnu: flush out another BSD bug
20251         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
20252         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
20253         flush out BSD bug.
20254         * tests/test-getopt.h (test_getopt): End lists with NULL.
20255         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20256         (test_getopt_long_posix): Enhance test.
20257         * modules/getopt-posix-tests (Depends-on): Add stdbool.
20258         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
20259         getopt-gnu.
20260         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20261         Likewise.
20262
20263 2009-11-27  Simon Josefsson  <simon@josefsson.org>
20264
20265         * modules/idpriv-droptemp-tests (Notice): Fix text.
20266
20267 2009-11-27  Jim Meyering  <meyering@redhat.com>
20268
20269         test-xalloc-die: avoid spurious failure due to libtool argv difference
20270         In a libtool-enabled project, this test would fail due to a difference
20271         in the emitted program name, e.g.,
20272         -test-xalloc-die: memory exhausted
20273         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
20274         Use program to avoid that.
20275         * modules/xalloc-die-tests (Depends-on): Add progname.
20276         * tests/test-xalloc-die.c: Include progname.h".
20277         (program_name): Remove decl.
20278         (main): Call set_program_name.
20279         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
20280
20281 2009-11-26  Richard Jones  <rjones@redhat.com>
20282
20283         w32sock: leave win32 error in place.
20284         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
20285
20286 2009-11-26  Eric Blake  <ebb9@byu.net>
20287
20288         init.sh: suggest to use skip_ and fail_ functions in comments
20289         * tests/init.sh: Add a sentence.
20290
20291 2009-11-25  Bruno Haible  <bruno@clisp.org>
20292
20293         init.sh: add documentation in comments
20294         * tests/init.sh: Add some developer and user documentation.
20295
20296 2009-11-26  Jim Meyering  <meyering@redhat.com>
20297
20298         init.sh: accommodate even those who specify bogus srcdir manually
20299         * tests/init.sh: Normally, srcdir is guaranteed by automake and
20300         configure-time tests to be sanitized, so that there is no need to
20301         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
20302         (with no double quotes) suffices.  However, since tests may be
20303         invoked manually, and since you may explicitly set srcdir to the
20304         name of a directory containing spaces, do quote its uses here.
20305         * tests/test-pread.sh: Likewise.
20306         Suggested by Bruno Haible.
20307
20308         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
20309         * tests/test-pread.sh: Write no data into the pipe, because
20310         test-pread actually reads none.  This avoids a diagnostic,
20311         "bash: echo: write error: Broken pipe", that arises in the unusual
20312         event something is ignoring SIGPIPE, and might be interpreted
20313         as some sort of failure.  Reported by Bruno Haible.
20314
20315 2009-11-25  Jim Meyering  <meyering@redhat.com>
20316
20317         test-pread: cover failure with ESPIPE and EINVAL
20318         * tests/test-pread.c (main): Test for failure, too.
20319         * tests/test-pread.sh: Invoke with stdin on a pipe.
20320         Suggested by Eric Blake.
20321
20322         pread: improvement and fix
20323         * modules/pread (Depends-on): Depend on lseek, for portability to
20324         e.g., mingw.  Suggested by Eric Blake.
20325         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
20326
20327         unistd.in.h: correct declaration of pread
20328         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
20329         Reported by Richard W.M. Jones.
20330
20331         test-pread.sh: distribute the test script
20332         * modules/pread-tests (Files): Include test-pread.sh.
20333
20334         test-pread.sh: clean up
20335         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
20336         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
20337         That is unnecessary, since it's always ".".
20338         Suggestion from Eric Blake.
20339
20340         test-pread.sh: make executable
20341         * tests/test-pread.sh: Set executable bit.
20342         Reported by Eric Blake.
20343
20344         correct typo in test-pread.sh
20345         * tests/test-pread.sh: Add #! line.
20346
20347         test pread
20348         * tests/test-pread.c: New file.
20349         * tests/test-pread.sh: Likewise.
20350         * modules/pread-tests: Likewise.
20351
20352         pread: new module
20353         * modules/pread: New file.
20354         * lib/unistd.in.h (pread): Define/declare.
20355         * lib/pread.c (pread): New file.
20356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
20357         * modules/unistd (Makefile.am): Substitute witnesses.
20358         * doc/posix-functions/pread.texi (pread): Update.
20359         * MODULES.html.sh: Add pread.
20360
20361 2009-11-25  Jim Meyering  <meyering@redhat.com>
20362
20363         tests/init.sh: new file to be used via most *.sh tests
20364         * tests/init.sh: New file.
20365
20366 2009-11-25  Eric Blake  <ebb9@byu.net>
20367
20368         utimens: work around older Linux failure with symlinks
20369         * lib/utimens.c (lutimensat_works_really): New variable.
20370         (fdutimens, lutimens): Use it to manage kernels that support
20371         nanosecond times on files, but not on symlinks.
20372         Reported by OndÅ™ej Vašík.
20373
20374         utimes: fix configure grammar
20375         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
20376
20377 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
20378
20379         regex: Fix fastmap for multibyte character ranges.
20380         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
20381         characters when a multibyte character range is included.
20382
20383 2009-11-22  Andy Wingo  <wingo@pobox.com>
20384
20385         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
20386         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
20387
20388 2009-11-24  Bruno Haible  <bruno@clisp.org>
20389
20390         doc: Most *_l functions exist in MacOS X 10.5.
20391         * doc/posix-functions/duplocale.texi: Update platforms list.
20392         * doc/posix-functions/freelocale.texi: Likewise.
20393         * doc/posix-functions/newlocale.texi: Likewise.
20394         * doc/posix-functions/uselocale.texi: Likewise.
20395         * doc/posix-functions/isalnum_l.texi: Likewise.
20396         * doc/posix-functions/isalpha_l.texi: Likewise.
20397         * doc/posix-functions/isblank_l.texi: Likewise.
20398         * doc/posix-functions/iscntrl_l.texi: Likewise.
20399         * doc/posix-functions/isdigit_l.texi: Likewise.
20400         * doc/posix-functions/isgraph_l.texi: Likewise.
20401         * doc/posix-functions/islower_l.texi: Likewise.
20402         * doc/posix-functions/isprint_l.texi: Likewise.
20403         * doc/posix-functions/ispunct_l.texi: Likewise.
20404         * doc/posix-functions/isspace_l.texi: Likewise.
20405         * doc/posix-functions/isupper_l.texi: Likewise.
20406         * doc/posix-functions/iswalnum_l.texi: Likewise.
20407         * doc/posix-functions/iswalpha_l.texi: Likewise.
20408         * doc/posix-functions/iswblank_l.texi: Likewise.
20409         * doc/posix-functions/iswcntrl_l.texi: Likewise.
20410         * doc/posix-functions/iswctype_l.texi: Likewise.
20411         * doc/posix-functions/iswdigit_l.texi: Likewise.
20412         * doc/posix-functions/iswgraph_l.texi: Likewise.
20413         * doc/posix-functions/iswlower_l.texi: Likewise.
20414         * doc/posix-functions/iswprint_l.texi: Likewise.
20415         * doc/posix-functions/iswpunct_l.texi: Likewise.
20416         * doc/posix-functions/iswspace_l.texi: Likewise.
20417         * doc/posix-functions/iswupper_l.texi: Likewise.
20418         * doc/posix-functions/iswxdigit_l.texi: Likewise.
20419         * doc/posix-functions/isxdigit_l.texi: Likewise.
20420         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
20421         * doc/posix-functions/strcasecmp_l.texi: Likewise.
20422         * doc/posix-functions/strcoll_l.texi: Likewise.
20423         * doc/posix-functions/strfmon_l.texi: Likewise.
20424         * doc/posix-functions/strftime_l.texi: Likewise.
20425         * doc/posix-functions/strncasecmp_l.texi: Likewise.
20426         * doc/posix-functions/strxfrm_l.texi: Likewise.
20427         * doc/posix-functions/tolower_l.texi: Likewise.
20428         * doc/posix-functions/toupper_l.texi: Likewise.
20429         * doc/posix-functions/towctrans_l.texi: Likewise.
20430         * doc/posix-functions/towlower_l.texi: Likewise.
20431         * doc/posix-functions/towupper_l.texi: Likewise.
20432         * doc/posix-functions/wcscoll_l.texi: Likewise.
20433         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
20434         * doc/posix-functions/wctrans_l.texi: Likewise.
20435         * doc/posix-functions/wctype_l.texi: Likewise.
20436         * doc/glibc-functions/strptime_l.texi: Likewise.
20437         * doc/glibc-functions/strtod_l.texi: Likewise.
20438         * doc/glibc-functions/strtof_l.texi: Likewise.
20439         * doc/glibc-functions/strtol_l.texi: Likewise.
20440         * doc/glibc-functions/strtold_l.texi: Likewise.
20441         * doc/glibc-functions/strtoll_l.texi: Likewise.
20442         * doc/glibc-functions/strtoul_l.texi: Likewise.
20443         * doc/glibc-functions/strtoull_l.texi: Likewise.
20444         * doc/glibc-functions/wcsftime_l.texi: Likewise.
20445         * doc/glibc-functions/wcstod_l.texi: Likewise.
20446         * doc/glibc-functions/wcstof_l.texi: Likewise.
20447         * doc/glibc-functions/wcstol_l.texi: Likewise.
20448         * doc/glibc-functions/wcstold_l.texi: Likewise.
20449         * doc/glibc-functions/wcstoll_l.texi: Likewise.
20450         * doc/glibc-functions/wcstoul_l.texi: Likewise.
20451         * doc/glibc-functions/wcstoull_l.texi: Likewise.
20452
20453 2009-11-24  Bruno Haible  <bruno@clisp.org>
20454
20455         duplocale: Fix logic bug.
20456         * lib/duplocale.c: Don't include <langinfo.h>.
20457         (_NL_LOCALE_NAME): Remove macro.
20458         (rpl_duplocale): Use setlocale instead of nl_langinfo.
20459         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
20460
20461 2009-11-23  Jim Meyering  <meyering@redhat.com>
20462
20463         test-update-copyright: don't hard-code /usr/bin/perl
20464         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
20465         perl to print the current year.  Gilles Espinasse reported that
20466         the replaced use of perl was hard-coded as /usr/bin/perl.
20467
20468 2009-11-23  Bruno Haible  <bruno@clisp.org>
20469
20470         duplocale: Add support for glibc 2.3.x.
20471         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
20472
20473 2009-11-22  Bruno Haible  <bruno@clisp.org>
20474
20475         vasnprintf: Tiny optimization.
20476         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
20477         MacOS X.
20478
20479 2009-11-22  Bruno Haible  <bruno@clisp.org>
20480
20481         Tests for module 'duplocale'.
20482         * modules/duplocale-tests: New file.
20483         * tests/test-duplocale.c: New file.
20484
20485         New module 'duplocale'.
20486         * m4/duplocale.m4: New file.
20487         * lib/locale.in.h (duplocale): New declaration.
20488         * lib/duplocale.c: New file.
20489         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
20490         gl_LOCALE_H_DEFAULTS): New macros.
20491         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
20492         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
20493         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
20494         REPLACE_DUPLOCALE.
20495         * modules/duplocale: New file.
20496         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
20497
20498 2009-11-22  Bruno Haible  <bruno@clisp.org>
20499
20500         * modules/locale-tests (configure.ac): Test for newlocale function.
20501         * tests/test-locale.c: When the system has extended locale functions,
20502         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
20503
20504         locale: Make locale_t available when possible.
20505         * lib/locale.in.h: Include <xlocale.h> when it exists.
20506         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
20507         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
20508         * modules/locale (Depends-on): Add extensions.
20509         (Makefile.am): Also substitute HAVE_XLOCALE_H.
20510         * doc/posix-headers/locale.texi: Document the problem with locale_t.
20511
20512 2009-11-22  Bruno Haible  <bruno@clisp.org>
20513
20514         Add comments.
20515         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
20516         invocation.
20517         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
20518         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
20519         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20520
20521 2009-11-22  Bruno Haible  <bruno@clisp.org>
20522
20523         error: account for the possibility of freopen (stdout).
20524         * lib/error.c: Include <unistd.h>.
20525         (flush_stdout): New function, extracted from error and error_at_line.
20526         Determine stdout's fd dynamically.
20527         (error, error_at_line): Invoke flush_stdout.
20528         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
20529         * modules/error (Depends-on): Add unistd.
20530
20531 2009-11-22  Bruno Haible  <bruno@clisp.org>
20532
20533         diffseq: Add comment.
20534         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
20535
20536 2009-11-22  Jim Meyering  <meyering@redhat.com>
20537
20538         c-stack: avoid defining an unused static function
20539         * lib/c-stack.c (find_stack_direction): Do not define this function
20540         when it will not be used.
20541
20542         diffseq: avoid spurious gcc warnings
20543         * lib/diffseq.h (IF_LINT2): Define.
20544         (compareseq): Use it to initialize two members of "part".
20545         This avoids two used-uninitialized warnings.
20546
20547 2009-11-21  Jim Meyering  <meyering@redhat.com>
20548
20549         c-stack: avoid "ignoring return value of `write'" warning
20550         * lib/c-stack.c: Include "ignore-value.h".
20551         (die): Explicitly ignore each write return value.
20552         * modules/c-stack (Depends-on): Add ignore-value.
20553
20554 2009-11-21  Bruno Haible  <bruno@clisp.org>
20555
20556         diffseq: reduce scope of variable 'best'.
20557         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
20558         variable, earlier used for two different purposes.
20559
20560 2009-11-21  Jim Meyering  <meyering@redhat.com>
20561
20562         diffseq: remove useless assignment to "best"
20563         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
20564         assignment.  At that point "best" is already guaranteed to be zero.
20565
20566 2009-11-20  Eric Blake  <ebb9@byu.net>
20567
20568         build: mention ftp redirector in release announcements
20569         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
20570         values that used to come from cfg.mk; mention FTP redirect URL.
20571         * build-aux/announce-gen: Mention the mirror list.
20572         Suggested by Karl Berry.
20573
20574         nanosleep: improve port to mingw
20575         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
20576         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
20577         LIB_NANOSLEEP, but only when needed.
20578         * modules/select (Link): Document LIBSOCKET.
20579         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
20580         enough.
20581
20582         nanosleep: work around cygwin bug
20583         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
20584         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
20585         bug.
20586         (getnow): Delete, not needed.
20587         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
20588         LIB_CLOCK_GETTIME.
20589         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
20590         clock-time, gettime.
20591         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
20592         bug.
20593         * modules/nanosleep-tests: New test.
20594         * tests/test-nanosleep.c: New file.
20595
20596         sleep: work around cygwin bug
20597         * lib/sleep.c (rpl_sleep): Work around the bug.
20598         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
20599         (gl_PREREQ_SLEEP): Delete unused macro.
20600         * modules/sleep (Depends-on): Add verify.
20601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20602         * modules/unistd (Makefile.am): Substitute witness.
20603         * lib/unistd.in.h (sleep): Update prototype.
20604         * doc/posix-functions/sleep.texi (sleep): Document the bug.
20605         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
20606         * modules/sleep-tests (Depends-on): Check for alarm.
20607
20608 2009-11-20  Jim Meyering  <meyering@redhat.com>
20609
20610         maint.mk: improve sc_prohibit_magic_number_exit
20611         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
20612         so it does not match uses like System.exit(1).
20613         Add comments showing how to correct all offenders.
20614
20615 2009-11-19  Eric Blake  <ebb9@byu.net>
20616
20617         xalloc-die-tests: add missing library
20618         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
20619
20620         test-xvasprintf: silence compiler warnings
20621         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
20622         empty string from gcc.
20623
20624 2009-11-19  Jim Meyering  <meyering@redhat.com>
20625
20626         xfreopen: new module, from coreutils
20627         * modules/xfreopen: New module.
20628         * lib/xfreopen.c: New file.
20629         * lib/xfreopen.h: New file.
20630         * MODULES.html.sh (File stream based Input/Output"): Add it.
20631
20632 2009-11-19  Eric Blake  <ebb9@byu.net>
20633
20634         manywarnings: depend on warnings
20635         * modules/manywarnings (Depends-on): Add warnings.
20636
20637         build: avoid compiler warnings
20638         * lib/select.c (rpl_select): Delete unused variable.
20639         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
20640
20641 2009-11-18  Eric Blake  <ebb9@byu.net>
20642
20643         tests: avoid false negative with --with-packager
20644         * tests/test-version-etc.sh: Discard packager information.
20645         * tests/test-argp-version-etc-1.sh: Likewise.
20646         Reported by Mike Frysinger.
20647
20648         utimens: fix regression on Solaris
20649         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
20650         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
20651         can only change fd timestamps via futimesat.  Instead, use an
20652         additional witness macro to avoid BSD bug.
20653         Reported by Jim Meyering.
20654
20655 2009-11-17  Eric Blake  <ebb9@byu.net>
20656
20657         usleep: use it to simplify tests
20658         * modules/stat-time-tests (Depends-on): Add usleep.
20659         (configure.ac): Drop usleep check.
20660         * modules/chown-tests (Depends-on, configure.ac): Likewise.
20661         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
20662         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
20663         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
20664         * modules/openat-tests (Depends-on, configure.ac): Likewise.
20665         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
20666         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
20667         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
20668         Likewise.
20669         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
20670         * tests/test-lchown.h (nap): Likewise.
20671         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
20672         * tests/test-stat-time.c (nap): Likewise.
20673         * tests/test-utimens-common.h (nap): Update comments.
20674
20675         usleep: new module
20676         * modules/usleep: New file.
20677         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
20678         * lib/usleep.c (usleep): Likewise.
20679         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20680         * modules/unistd (Makefile.am): Substitute witnesses.
20681         * lib/unistd.in.h (usleep): Add declaration.
20682         * doc/pastposix-functions/usleep.texi (usleep): Document this.
20683         * MODULES.html.sh (Date and time): Likewise.
20684         * modules/usleep-tests (Depends-on): New test.
20685         * tests/test-usleep.c: New file.
20686
20687         chown: work around OpenBSD bug
20688         * lib/chown.c (rpl_chown): Work around the bug.
20689         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
20690         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
20691         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
20692         * modules/chown (Depends-on): Add stdbool.
20693         * modules/lchown (Depends-on): Likewise.
20694         * doc/posix-functions/chown.texi (chown): Document the bug.
20695         * doc/posix-functions/lchown.texi (lchown): Likewise.
20696         * tests/test-lchown.h (test_chown): Relax test.
20697
20698         mkstemp: avoid conflict with C++ keyword template
20699         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
20700         * lib/mkostemp.c (mkostemp): Likewise.
20701         * lib/mkostemps.c (mkostemps): Likewise.
20702         * lib/mkstemp.c (mkstemp): Likewise.
20703         * lib/mkstemps.c (mkstemps): Likewise.
20704
20705         xalloc-die-tests: optimize
20706         * tests/test-xalloc-die.sh: Reduce number of processes.
20707
20708 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20709
20710         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
20711         patch from ludo@gnu.org (Ludovic Courtès).
20712
20713 2009-11-17  Jim Meyering  <meyering@redhat.com>
20714
20715         version-etc: use proper license string
20716         * modules/version-etc (License): Use LGPL, not LGPLv3+.
20717         * modules/version-etc-fsf: Likewise.
20718
20719 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20720
20721         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
20722         printed to stdout.  Deal with EOL differences.
20723
20724 2009-11-17  Eric Blake  <ebb9@byu.net>
20725
20726         unsetenv: work around Solaris bug
20727         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
20728         * lib/unsetenv.c (rpl_unsetenv): Work around it.
20729         Reported by Jim Meyering.
20730
20731         vasnprintf: avoid compiler warnings
20732         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
20733         variables.
20734         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
20735
20736 2009-11-17  Simon Josefsson  <simon@josefsson.org>
20737
20738         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
20739         settings since xalloc-die is no longer the self test,
20740         xalloc-die.sh is.
20741
20742 2009-11-17  Jim Meyering  <meyering@redhat.com>
20743
20744         test-xalloc-die.sh: make the code agree with the commit log
20745         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
20746         at the end, just in case you happen to have a test-xalloc-die
20747         program in some other PATH directory.
20748
20749         test-xalloc-die.sh: fix a portability bug
20750         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
20751         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
20752         Otherwise, argv[0] (as often seen in diagnostics) would be too
20753         system-dependent, sometimes with, and sometimes without the leading "./".
20754
20755         version-etc-fsf: relax license to LGPLv3+
20756         * modules/version-etc-fsf (License): Relax license.
20757
20758 2009-11-16  Eric Blake  <ebb9@byu.net>
20759
20760         xalloc-die-tests: avoid printing null pointer
20761         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
20762         shell script.
20763         * tests/test-xalloc-die.c (program_name): Declare.
20764         * tests/test-xalloc-die.sh (tmpfiles): New file.
20765
20766         setenv, unsetenv: work around various bugs
20767         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
20768         (setenv) [HAVE_SETENV]: Work around bugs.
20769         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
20770         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
20771         for bugs.
20772         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
20773         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
20774         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
20775         * modules/stdlib (Makefile.am): Update substitutions.
20776         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
20777         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
20778         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
20779         * modules/setenv-tests: New test.
20780         * modules/unsetenv-tests: Likewise.
20781         * tests/test-setenv.c: New file.
20782         * tests/test-unsetenv.c: Likewise.
20783
20784 2009-11-16  Jim Meyering  <meyering@redhat.com>
20785
20786         version-etc: relax license to LGPLv3+
20787         * modules/version-etc (License): Relax license.
20788
20789         better AC_REQUIRE expanded-before-required-warning avoidance
20790         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
20791         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
20792         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
20793         which is no longer needed.
20794
20795 2009-11-16  Eric Blake  <ebb9@byu.net>
20796
20797         test-freading: clean up temporary file
20798         * tests/test-freading.c (main): Remove file on success, and use
20799         ASSERT more liberally.
20800         Reported by Jim Meyering.
20801
20802 2009-11-16  Jim Meyering  <meyering@redhat.com>
20803
20804         avoid new AC_REQUIRE expanded-before-required warnings
20805         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
20806         merely using it.
20807         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
20808         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
20809
20810 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20811
20812         * tests/test-xalloc-die.c: New file.
20813         * modules/xalloc-die-tests: New file.
20814         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
20815         XFAIL_TESTS so it can be appended by modules.
20816
20817 2009-11-15  Simon Josefsson  <simon@josefsson.org>
20818
20819         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
20820         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
20821
20822 2009-11-14  Eric Blake  <ebb9@byu.net>
20823
20824         fnmatch: avoid compiler warning
20825         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
20826         to silence compiler warning about mismatch signedness in ?:.
20827         Reported by Robert Millan.
20828
20829         intprops: add double-inclusion guard
20830         * lib/intprops.h: Allow idempotent includes.
20831         Suggested by Bruce Korb.
20832
20833         openat: detect Solaris fchownat bug
20834         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
20835         penalizing glibc chownat when only lchownat is broken.
20836         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
20837         trailing slash bugs.
20838         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
20839         * modules/openat-tests (Files): Include more files.
20840         (Depends-on): Add mgetgroups, sleep, stat-time.
20841         (configure.ac): Add additional checks.
20842         (Makefile.am): Build new test.
20843         * tests/test-fchownat.c: New file.
20844
20845         lchown: detect Solaris and FreeBSD bug
20846         * lib/lchown.c (rpl_lchown): Work around bug.
20847         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
20848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20849         * modules/unistd (Makefile.am): Populate it.
20850         * lib/unistd.in.h (lchown): Update declaration.
20851         * doc/posix-functions/lchown.texi (lchown): Document the bug.
20852         * modules/lchown-tests: New file.
20853         * tests/test-lchown.h (test_lchown): Likewise.
20854         * tests/test-lchown.c (main): Likewise.
20855
20856         chown: detect Solaris and FreeBSD bug
20857         * lib/chown.c (rpl_chown): Work around bug.
20858         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
20859         (gl_PREREQ_CHOWN): Delete.
20860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20861         * modules/unistd (Makefile.am): Populate it.
20862         * lib/unistd.in.h (chown): Update declaration.
20863         * lib/lchown.c (chown): Update client.
20864         * modules/lchown (Depends-on): Add lstat.
20865         * doc/posix-functions/chown.texi (chown): Document the bug.
20866         * doc/posix-functions/getgroups.texi (getgroups): Document
20867         getgroups pitfall.
20868         * modules/chown-tests: New file.
20869         * tests/test-chown.h (test_chown): Likewise.
20870         * tests/test-chown.c (main): Likewise.
20871
20872 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
20873
20874         gnulib-tool: correctly detect absence of m4 directories
20875         * gnulib-tool: Avoid extra newline on data passed to wc -l.
20876
20877 2009-11-14  Jim Meyering  <meyering@redhat.com>
20878
20879         maint.mk: Prohibit inclusion of "xalloc.h" without use.
20880         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
20881
20882 2009-11-14  John W. Eaton  <jwe@gnu.org>
20883
20884         strftime.h: wrap funtion declaration in extern "C" block
20885         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
20886
20887 2009-11-13  Eric Blake  <ebb9@byu.net>
20888
20889         getgroups: avoid compiler warning
20890         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
20891
20892         getgroups: work around FreeBSD bug
20893         * lib/getgroups.c (rpl_getgroups): Work around the bug.
20894         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
20895         * doc/posix-functions/getgroups.texi (getgroups): Document it.
20896         * tests/test-getgroups.c (main): Fix buffer overrun.
20897
20898         getgroups: avoid compilation failure
20899         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
20900         * modules/getgroups (Depends-on): Add stdint.
20901
20902 2009-11-13  Jim Meyering  <meyering@redhat.com>
20903
20904         test-getgroups: avoid compilation failure
20905         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
20906
20907 2009-11-13  Eric Blake  <ebb9@byu.net>
20908
20909         mgetgroups: new module, taken from coreutils
20910         * modules/mgetgroups: New file.
20911         * lib/mgetgroups.h: Likewise.
20912         * lib/mgetgroups.c (mgetgroups): Likewise.
20913         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
20914         * MODULES.html.sh (Users and groups): Mention it.
20915
20916         getgroups: don't expose GETGROUPS_T to user
20917         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
20918         an element at a time if GETGROUPS_T is wrong size.
20919         * lib/getugroups.h (getugroups): Change signature.
20920         * lib/unistd.in.h (getgroups): Likewise.
20921         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
20922         signature needs fixing.
20923         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
20924         AC_TYPE_GETGROUPS.
20925         * modules/group-member (Depends-on): Add getgroups.
20926         * lib/group-member.c (group_info, get_group_info): Use gid_t.
20927         (group_member): Rely on getgroups replacement.
20928         * lib/getugroups.c (getugroups): Use gid_t.
20929         * tests/test-getgroups.c (main): Likewise.
20930         * NEWS: Mention the signature change.
20931         * doc/posix-functions/getgroups.texi (getgroups): Mention the
20932         problem with signature.
20933         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
20934         GETGROUPS_T is still useful for setgroups.
20935
20936         getgroups, getugroups: provide stubs for mingw
20937         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
20938         * lib/getugroups.c (getugroups): Likewise.
20939         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
20940         function.  Modernize replacement scheme.
20941         (gl_PREREQ_GETGROUPS): Delete.
20942         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
20943         * modules/getgroups (configure.ac): Declare witness.
20944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
20945         * modules/unistd (Depends-on): Substitute witness.
20946         * lib/unistd.in.h (getgroups): Declare replacement.
20947
20948         getgroups: avoid calling exit
20949         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
20950         drop xalloc.
20951         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
20952         dependencies.
20953         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
20954         exiting, in the rare case of malloc failure.
20955
20956         getgroups: fix logic error
20957         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
20958         has more than 20 groups.
20959         * modules/getgroups-tests: New test.
20960         * tests/test-getgroups.c: New file.
20961
20962 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20963
20964         * tests/test-base64.c: Improve.
20965
20966 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20967
20968         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
20969         Blake <ebb9@byu.net>.
20970
20971 2009-11-13  Simon Josefsson  <simon@josefsson.org>
20972
20973         * tests/test-xvasprintf.c: Add %s%s related checks.
20974
20975 2009-11-12  Eric Blake  <ebb9@byu.net>
20976
20977         version-etc: match standards.texi style
20978         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
20979         and use <> only for URLs.
20980
20981 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
20982
20983         fts: do not fail on a submount during traversal
20984         * lib/fts.c (fts_build): Read the stat info again after opening
20985         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
20986         Original report at http://bugzilla.redhat.com/501848.
20987
20988 2009-11-12  Jim Meyering  <meyering@redhat.com>
20989
20990         bootstrap: sync from coreutils
20991         * build-aux/bootstrap (bootstrap_epilogue): New function.
20992         Use git_modules_config in one more place.  This make bootstrap's
20993         --gnulib-srcdir option more useful for testing.
20994
20995         bootstrap: generalize autoheader check
20996         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
20997         AC_CONFIG_HEADERS.
20998
20999 2009-11-11  Eric Blake  <ebb9@byu.net>
21000
21001         mkfifoat: use new modules for Solaris and BSD bugs
21002         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
21003         * lib/mkfifoat.c (mknodat): Split...
21004         * lib/mknodat.c (mknodat): ...into new file.
21005         * modules/mkfifoat (Files): Ship new file.
21006         (Depends-on): Add mkfifo, mknod.
21007         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
21008         (Depends-on): Add symlink.
21009         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
21010         redundant with test_mkfifo.h.
21011         (do_mkfifoat, do_mknodat): New helpers.
21012
21013         mknod: new module
21014         * modules/mknod: New file.
21015         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
21016         * lib/mknod.c (mknod): Likewise.
21017         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21018         defaults.
21019         * modules/sys_stat (Makefile.am): Substitute them.
21020         * lib/sys_stat.in.h (mknod): Declare replacement.
21021         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21022         Document it.
21023         * doc/posix-functions/mknod.texi (mknod): Likewise.
21024         * modules/mknod-tests: New test.
21025         * tests/test-mknod.c: Likewise.
21026
21027         mkfifo: new module
21028         * modules/mkfifo: New file.
21029         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
21030         * lib/mkfifo.c (mkfifo): Likewise.
21031         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
21032         defaults.
21033         * modules/sys_stat (Makefile.am): Substitute them.
21034         * lib/sys_stat.in.h (mkfifo): Declare replacement.
21035         * MODULES.html.sh (Support for systems lacking POSIX:2008):
21036         Document it.
21037         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
21038         * modules/mkfifo-tests: New test.
21039         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
21040         from test-mkfifoat.c.
21041         * tests/test-mkfifo.c: New file.
21042
21043         readlink: detect FreeBSD bug
21044         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
21045         slash on symlink.
21046         * doc/posix-functions/readlink.texi (readlink): Document the bug.
21047         * tests/test-readlink.h (test_readlink): Enhance test.
21048
21049         symlink: detect FreeBSD bug
21050         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
21051         slash on symlink.
21052         * doc/posix-functions/symlink.texi (symlink): Document the bug.
21053         * tests/test-symlink.h (test_symlink): Enhance test.
21054
21055 2009-11-10  Eric Blake  <ebb9@byu.net>
21056
21057         link: detect FreeBSD bug
21058         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
21059         symlink.
21060         * doc/posix-functions/link.texi (link): Document the bug.
21061         * tests/test-link.h (test_link): Enhance test.
21062         * tests/test-linkat.c (main): Update caller.
21063
21064         unlink, remove: detect FreeBSD bug
21065         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
21066         slash on symlink.
21067         * doc/posix-functions/unlink.texi (unlink): Document the bug.
21068         * doc/posix-functions/remove.texi (remove): Likewise.
21069         * tests/test-unlink.h (test_unlink): Enhance test.
21070         * tests/test-remove.c (main): Likewise.
21071
21072 2009-11-09  Eric Blake  <ebb9@byu.net>
21073
21074         rename: detect FreeBSD bug
21075         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
21076         slash on symlink.
21077         * modules/renameat-tests (Depends-on): Add filenamecat.
21078         * tests/test-rename.h (test_rename): Allow one more errno.
21079         * tests/test-renameat.c (main): Likewise.
21080         * doc/posix-functions/rename.texi (rename): Document the bug.
21081
21082         open: detect FreeBSD bug
21083         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
21084         symlink.
21085         * doc/posix-functions/open.texi (open): Document the bug.
21086         * doc/posix-functions/utimes.texi (utimes): Likewise.
21087         * tests/test-open.h (test_open): Add parameters, and test symlink
21088         handling.
21089         * tests/test-open.c (main): Adjust caller.
21090         * tests/test-fcntl-safer.c (main): Likewise.
21091         * modules/open-tests (Depends-on): Add stdbool, symlink.
21092         * modules/fcntl-safer-tests (Depends-on): Likewise.
21093         * tests/test-openat.c (main): Add test-open tests.
21094
21095         stat: detect FreeBSD bug
21096         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
21097         symlink.
21098         * doc/posix-functions/stat.texi (stat): Document the bug.
21099         * tests/test-stat.h (test_stat_func): Add argument.
21100         * tests/test-stat.c (main): Adjust caller.
21101         * tests/test-fstatat.c (main): Likewise.
21102         * modules/stat-tests (Depends-on): Add stdbool, symlink.
21103         Reported by Jim Meyering.
21104
21105 2009-11-09  James Youngman  <jay@gnu.org>
21106
21107         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
21108         * lib/strftime.c: Correct placement of #include "ignore-value.h".
21109
21110 2009-11-08  Jim Meyering  <meyering@redhat.com>
21111
21112         utimens: remove invalid futimesat call
21113         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
21114         It used the file descriptor of the target file as the DIR_FD
21115         parameter and NULL as the file name.  That caused failure with
21116         errno == EFAULT on FreeBSD-8.0-rc2
21117
21118 2009-11-07  Eric Blake  <ebb9@byu.net>
21119
21120         fflush, freadseek: use fseeko, not fseek
21121         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
21122         (clear_ungetc_buffer): Avoid potential problems on large files.
21123         * lib/freadseek.c (freadseek): Likewise.
21124         * modules/freadseek (Depends-on): Add fseeko.
21125         * modules/fseek (configure.ac): Set a witness.
21126         * tests/test-fflush.c (main): Use fseeko.
21127         * tests/test-fpurge.c (fseek): Disable link warning.
21128         * tests/test-freadable.c (fseek): Likewise.
21129         * tests/test-freading.c (fseek): Likewise.
21130         * tests/test-fseeko.c (fseek): Likewise.
21131         * tests/test-ftell.c (fseek): Likewise.
21132         * tests/test-ftello.c (fseek): Likewise.
21133         * tests/test-fwritable.c (fseek): Likewise.
21134         * tests/test-fwriting.c (fseek): Likewise.
21135
21136 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21137
21138         * modules/memchr (Depends-on): Drop getpagesize dependency.
21139
21140 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21141
21142         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
21143         Reported by Ludovic Courtès.
21144         * build-aux/pmccabe2html: Improve example usage.
21145         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
21146
21147 2009-11-06  Jim Meyering  <meyering@redhat.com>
21148
21149         do-release-commit-and-tag: New module.
21150         Automate the release-commit and tag process.
21151         * build-aux/do-release-commit-and-tag: New script, from coreutils.
21152         * modules/do-release-commit-and-tag: New file.
21153         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21154
21155 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21156
21157         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
21158         because test-select.c uses inet_pton.
21159
21160 2009-11-06  Simon Josefsson  <simon@josefsson.org>
21161
21162         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
21163         GETADDRINFO_LIB.  Bump serial number.
21164         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
21165         Suggested by Eric Blake <ebb9@byu.net>.
21166
21167 2009-11-05  Eric Blake  <ebb9@byu.net>
21168
21169         strtod: detect darwin bug
21170         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
21171         Reported by Leo Davis.
21172
21173         freopen-safer: new module
21174         * modules/freopen-safer: New module.
21175         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
21176         * lib/freopen-safer.c (freopen_safer): New file.
21177         * lib/stdio-safer.h (freopen_safer): New declaration.
21178         * lib/stdio--.h (freopen): New override.
21179         * MODULES.html.sh (File stream based Input/Output): Mention it.
21180         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
21181         freopen-safer module.
21182         * doc/posix-functions/stderr.texi (stderr): Likewise.
21183         * doc/posix-functions/stdin.texi (stdin): Likewise.
21184         * doc/posix-functions/stdout.texi (stdout): Likewise.
21185         * modules/freopen-safer-tests: New test.
21186         * tests/test-reopen-safer.c: New file.
21187
21188 2009-11-05  Jim Meyering  <meyering@redhat.com>
21189
21190         maint.mk: Prohibit inclusion of "close-stream.h" without use.
21191         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
21192
21193 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21194
21195         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
21196
21197 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21198
21199         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
21200
21201 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21202
21203         Fix link error.
21204         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21205         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21206
21207 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21208
21209         * tests/test-func.c: Also test value of __func__.
21210
21211 2009-11-05  Simon Josefsson  <simon@josefsson.org>
21212
21213         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
21214         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
21215
21216 2009-11-05  Bruno Haible  <bruno@clisp.org>
21217
21218         Fix link error.
21219         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
21220         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
21221         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
21222
21223 2009-11-05  Bruno Haible  <bruno@clisp.org>
21224
21225         Tests for module 'inet_pton'.
21226         * modules/inet_pton-tests: New file.
21227         * tests/test-inet_pton.c: New file.
21228
21229 2009-11-05  Bruno Haible  <bruno@clisp.org>
21230
21231         Tests for module 'inet_ntop'.
21232         * modules/inet_ntop-tests: New file.
21233         * tests/test-inet_ntop.c: New file.
21234
21235 2009-11-04  Eric Blake  <ebb9@byu.net>
21236
21237         stdlib-safer: wrap all mkstemp variants
21238         * modules/mkostemp (configure.ac): Set witness.
21239         * modules/mkostemps (configure.ac): Likewise.
21240         * modules/mkstemps (configure.ac): Likewise.
21241         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
21242         (mkstemps_safer): Wrap more functions.
21243         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
21244         wrapping.
21245         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
21246         (mkstemps_safer): Implement the wrappers.
21247
21248         mkstemps, mkostemps: new modules
21249         * modules/mkostemps: New module.
21250         * modules/mkstemps: Likewise.
21251         * lib/mkostemps.c (mkostemps): New file.
21252         * lib/mkstemps.c (mkstemps): Likewise.
21253         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
21254         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
21255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
21256         * modules/stdlib (Makefile.am): Substitute them.
21257         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
21258         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
21259         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
21260         * doc/gnulib.texi (Glibc stdlib.h): Include them.
21261         * MODULES.html.sh (File system functions): Mention them.
21262
21263         tempname: resync from glibc
21264         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
21265         same values for __GT_FILE as glibc.  Abort even when assertions
21266         are disabled.
21267         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
21268         match its value otherwise.  Allow idempotent inclusion.
21269         * lib/mkdtemp.c (mkdtemp): Adjust caller.
21270         * lib/mkostemp.c (mkostemp): Likewise.
21271         * lib/mkstemp.c (mkstemp): Likewise.
21272         * lib/tmpfile.c (tmpfile): Likewise.
21273         * NEWS: Document this.
21274
21275         utimens: fix use of futimens on older Linux
21276         * lib/utimens.c (fdutimens): Use updated, rather than original,
21277         timespec to avoid bug in older Linux kernel.
21278         Reported by Simon Josefsson.
21279
21280 2009-11-04  Bruno Haible  <bruno@clisp.org>
21281
21282         Make num_processors more flexible and consistent.
21283         * lib/nproc.h (enum nproc_query): New type.
21284         (num_processors): Add a 'query' argument.
21285         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
21286         (num_processors): Add a 'query' argument. Test the value of the
21287         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
21288         mingw, count the number of CPUs available for the current process.
21289         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
21290         Check for sched_getaffinity and sched_getaffinity_np.
21291         * modules/nproc (Depends-on): Add c-ctype, extensions.
21292         * NEWS: Mention the change.
21293
21294 2009-11-03  Bruno Haible  <bruno@clisp.org>
21295
21296         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
21297
21298 2009-11-03  Jim Meyering  <meyering@redhat.com>
21299
21300         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
21301         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
21302         if it is defined.
21303
21304 2009-11-02  Eric Blake  <ebb9@byu.net>
21305
21306         mktime, timegm: share common declaration
21307         * lib/mktime-internal.h: New file.
21308         * lib/mktime.c: Use it rather than open-coding a declaration.
21309         * lib/timegm.c: Likewise.
21310         * modules/mktime (Files): Ship it.
21311         * modules/timegm (Files): Likewise.
21312         Suggested by Bruno Haible.
21313
21314         test-update-copyright: update test to match script changes
21315         * tests/test-update-copyright.sh: Avoid hard-coding perl
21316         location.  Don't update *.bak created by earlier runs.
21317
21318 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
21319             Simon Josefsson  <simon@josefsson.org>
21320             Bruno Haible  <bruno@clisp.org>
21321
21322         Fix link error on Solaris 8.
21323         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
21324         also in libnsl. Define also INET_PTON_LIB.
21325         * modules/inet_pton (Link): New section.
21326
21327 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21328             Bruno Haible  <bruno@clisp.org>
21329
21330         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
21331         * modules/inet_ntop (Link): New section.
21332         Reported by Boyan Kasarov <bkasarov@gmail.com>.
21333
21334 2009-11-02  Eric Blake  <ebb9@byu.net>
21335
21336         maint: avoid compiler warnings in m4 macros
21337         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
21338         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
21339
21340 2009-11-02  Simon Josefsson  <simon@josefsson.org>
21341
21342         * m4/pmccabe2html.m4: Remove file.
21343         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
21344         function.  Change maintainer.
21345         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
21346         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
21347         Courtès).
21348
21349 2009-10-31  Eric Blake  <ebb9@byu.net>
21350
21351         fseeko: fix m4 regression
21352         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
21353         regression from 2009-10-27.
21354         Reported by Ralf Wildenhues.
21355
21356 2009-10-31  Jim Meyering  <meyering@redhat.com>
21357
21358         inttostr: aesthetics and improved (compile-time) safety
21359         Define inttype_is_signed rather than inttype_is_unsigned,
21360         since the sole use is via "#if inttype_is_signed".
21361         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
21362         inttype_is_unsigned.
21363         * lib/offtostr.c (inttype_is_signed): Likewise.
21364         * lib/uinttostr.c (inttype_is_signed): Likewise.
21365         * lib/umaxtostr.c (inttype_is_signed): Likewise.
21366         * lib/inttostr.c (inttostr): Use verify to cross-check the
21367         inttype_is_signed value and the signedness of the actual type.
21368         * modules/inttostr (Depends-on): Add verify.
21369
21370 2009-10-30  Eric Blake  <ebb9@byu.net>
21371
21372         build: avoid compiler warnings
21373         * lib/fchmodat.c (lchmod): Mark unused variables.
21374         * lib/getopt.c (_getopt_initialize): Likewise.
21375         * lib/mktime.c (__mktime_internal): Provide prototype.
21376         * lib/inttostr.c (inttostr): Avoid compiler warning even with
21377         older gcc that do not understand #pragma GCC diagnostic.
21378         * lib/uinttostr.c (inttype_is_unsigned): Define.
21379         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
21380
21381 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
21382
21383         stat: fix compilation on AIX
21384         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
21385         only see struct stat64.
21386
21387 2009-10-30  Eric Blake  <ebb9@byu.net>
21388
21389         exclude: make more robust
21390         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
21391         rather than masking a coding bug.
21392         Suggested by Bruno Haible.
21393
21394 2009-10-30  Jim Meyering  <meyering@redhat.com>
21395
21396         perl scripts: remove #!/usr/bin/perl in favor of more portable...
21397         Rather than putting #!/usr/bin/perl on the first line,
21398         start with a variant of what's recommended by "man perlrun" that
21399         invokes the first "perl" program from your shell's search path.
21400         * build-aux/gitlog-to-changelog: Replace #!... as above.
21401         Add a "Local Variables" perl mode setting.
21402         Prompted by a patch from Ludovic Courtès.
21403         Improved by Eric Blake.
21404         * build-aux/useless-if-before-free: Likewise.
21405         * build-aux/announce-gen: Likewise.
21406         * build-aux/update-copyright: Likewise.
21407
21408 2009-10-29  Eric Blake  <ebb9@byu.net>
21409
21410         filenamecat-lgpl: adjust clients
21411         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
21412         filenamecat.
21413         * modules/renameat (Depends-on): Likewise.
21414
21415         filenamecat: split into filenamecat-lgpl
21416         * modules/filenamecat-lgpl: New module.
21417         * modules/filenamecat (Files): Move library-safe files into
21418         filenamecat-lgpl.
21419         (Depends-on): Add filenamecat-lgpl.
21420         (configure.ac): Declare witness.
21421         * lib/filenamecat.h (file_name_concat): Only declare when using
21422         GPL module.
21423         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
21424         Move...
21425         * lib/filenamecat-lgpl.c: ...into new file.
21426         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
21427         (gl_FILE_NAME_CONCAT): Use it.
21428         * MODULES.html.sh (File system functions): Mention new module.
21429
21430         argp: avoid memory leak
21431         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
21432         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
21433         base_name, since the latter malloc()s and can call exit().
21434         Leak introduced 2006-07-03.
21435
21436         dirname-lgpl: adjust clients that don't need full dirname
21437         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
21438         * modules/filenamecat (Depends-on): Likewise.
21439         * modules/linkat (Depends-on): Likewise.
21440         * modules/mkancesdirs (Depends-on): Likewise.
21441         * modules/mkdir (Depends-on): Likewise.
21442         * modules/openat (Depends-on): Likewise.
21443         * modules/savewd (Depends-on): Likewise.
21444         * modules/rename (Depends-on): Likewise.
21445         (License): Relax license.
21446         * modules/mkdir-tests (Depends-on): Drop progname.
21447         (Makefile.am): Delete unneeded LDADD.
21448         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
21449
21450         dirname: split into dirname-lgpl
21451         * modules/dirname-lgpl: New module.
21452         * modules/dirname (Files): Move library-safe files into
21453         dirname-lgpl.
21454         (Depends-on): Add dirname-lgpl.
21455         (configure.ac): Declare witness.
21456         * modules/double-slash-root (License): Relax license.
21457         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
21458         module.
21459         * lib/dirname.c (dir_len, mdir_name): Move...
21460         * lib/dirname-lgpl.c: ...into new file.
21461         * lib/basename.c (last_component, base_len): Move...
21462         * lib/basename-lgpl.c: ...into new file.
21463         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
21464         (gl_DIRNAME): Use it.
21465         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
21466         Mention new module.
21467         * modules/dirname-tests (Depends-on): Add progname.
21468         * tests/test-dirname.c (program_name): Delete.
21469
21470         mkdir: make safe for libraries
21471         * modules/mkdir (Depends-on): Drop xalloc.
21472         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
21473         exit.
21474
21475         tests: avoid some compiler warnings
21476         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
21477         literals.
21478         * tests/test-memchr.c (main): Avoid type mismatch.
21479         * tests/test-arpa_inet.c (main): Avoid unused parameters.
21480         * tests/test-base64.c (main): Likewise.
21481         * tests/test-getdelim.c (main): Likewise.
21482         * tests/test-gethostname.c (main): Likewise.
21483         * tests/test-getline.c (main): Likewise.
21484         * tests/test-netinet_in.c (main): Likewise.
21485         * tests/test-select.c (open_server_socket, main): Likewise.
21486         * tests/test-select-stdin.c (main): Likewise.
21487         * tests/test-sockets.c (main): Likewise.
21488         * tests/test-strsignal.c (main): Likewise.
21489         * tests/test-sys_select.c (main): Likewise.
21490         * tests/test-sys_socket.c (main): Likewise.
21491         * tests/test-u64.c (main): Likewise.
21492         * tests/test-xfprintf-posix.c (main): Likewise.
21493         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
21494
21495         sockets: avoid compiler warning
21496         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
21497
21498         maint: detect usage(1) and other suspicious exits
21499         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
21500
21501 2009-10-29  Jim Meyering  <meyering@redhat.com>
21502
21503         timespec: long-to-int truncation could make timespec_cmp malfunction
21504         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
21505         a multiple of 2^32 nanoseconds as no difference.
21506
21507 2009-10-28  Jim Meyering  <meyering@redhat.com>
21508
21509         fprintftime: wrap macro code argument in "do {...} while(0)"
21510         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
21511         cpy macro must be a statement that can be followed by a semicolon.
21512         Now that the else clause contains a comment and is hence longer
21513         than one line, I require curly braces.  That in turn requires
21514         that we wrap this code block in the standard do...while(0).
21515
21516         fprintftime: remove stray semicolon from previous change
21517         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
21518
21519         fprintftime: avoid a warning about ignored fwrite return value
21520         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
21521         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
21522         that is unsafe.
21523         * modules/fprintftime (Depends-on): Add ignore-value.
21524
21525         exclude: avoid an unwarranted warning
21526         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
21527
21528 2009-10-27  Eric Blake  <ebb9@byu.net>
21529
21530         fseek: avoid compilation failure when fflush is replaced
21531         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
21532         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
21533         module is in use.
21534         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
21535         module is not in use; since REPLACE_FSEEK worked otherwise.
21536         (GNULIB_FTELLO): Likewise for ftell.
21537         Reported by Ian Beckwith and others.
21538
21539 2009-10-27  Bruno Haible  <bruno@clisp.org>
21540
21541         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
21542         Reported by Jim Meyering.
21543
21544 2009-10-27  Jim Meyering  <jim@meyering.net>
21545             Bruno Haible  <bruno@clisp.org>
21546
21547         Avoid warning despite dropping the return value of fwrite.
21548         * lib/unicodeio.c: Include ignore-value.h.
21549         (fwrite_success_callback): Explicitly ignore fwrite's return value.
21550         * modules/unicodeio (Depends-on): Add ignore-value.
21551
21552 2009-10-26  Eric Blake  <ebb9@byu.net>
21553
21554         areadlinkat: fix fallback path
21555         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
21556         pointer and zero.
21557
21558 2009-10-22  Pádraig Brady  <P@draigBrady.com>
21559
21560         Use a better IO block size for modern systems
21561         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
21562         * lib/md2.c: Likewise.
21563         * lib/md4.c: Likewise.
21564         * lib/md5.c: Likewise.
21565         * lib/sha1.c: Likewise.
21566         * lib/sha256.c: Likewise.
21567         * lib/sha512.c: Likewise.
21568
21569 2009-10-22  Eric Blake  <ebb9@byu.net>
21570
21571         tests: avoid several compiler warnings
21572         * tests/test-getcwd.c (main): Avoid buffer underflow.
21573         * tests/test-getdate.c (main): String literals are not safe with
21574         putenv, so use setenv.  Declare unused argument.
21575         * modules/getdate-tests (Depends-on): Add setenv.
21576         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
21577         problems with string literals in char *.
21578         * tests/test-hash.c (main): Avoid shadowing declaration.
21579         (insert_new): Treat string literals as char const *.
21580         * tests/test-getopt.h (test_getopt): Likewise.
21581         (getopt_loop): Alter types to minimize casting elsewhere.
21582         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
21583         (test_getopt_long_posix): Likewise.
21584         (do_getopt_long): Add wrapper to minimize casting.
21585         * tests/test-atexit.c (clear_temp_file): Use void.
21586         * tests/test-areadlink-with-size.c (main): Declare unused
21587         arguments.
21588         * tests/test-areadlink.c (main): Likewise.
21589         * tests/test-areadlinkat-with-size.c (main): Likewise.
21590         * tests/test-areadlinkat.c (main): Likewise.
21591         * tests/test-canonicalize-lgpl.c (main): Likewise.
21592         * tests/test-canonicalize.c (main): Likewise.
21593         * tests/test-dirent-safer.c (main): Likewise.
21594         * tests/test-dirname.c (main): Likewise.
21595         * tests/test-dup2.c (main): Likewise.
21596         * tests/test-fchdir.c (main): Likewise.
21597         * tests/test-fcntl-h.c (main): Likewise.
21598         * tests/test-fcntl-safer.c (main): Likewise.
21599         * tests/test-fdopendir.c (main): Likewise.
21600         * tests/test-fdutimensat.c (main): Likewise.
21601         * tests/test-fflush.c (main): Likewise.
21602         * tests/test-filenamecat.c (main): Likewise.
21603         * tests/test-filevercmp.c (main): Likewise.
21604         * tests/test-fopen-safer.c (main): Likewise.
21605         * tests/test-fopen.c (main): Likewise.
21606         * tests/test-fpending.c (main): Likewise.
21607         * tests/test-fpurge.c (main): Likewise.
21608         * tests/test-freading.c (main): Likewise.
21609         * tests/test-fstatat.c (main): Likewise.
21610         * tests/test-fsync.c (main): Likewise.
21611         * tests/test-futimens.c (main): Likewise.
21612         * tests/test-getndelim2.c (main): Likewise.
21613         * tests/test-gettimeofday.c (main): Likewise.
21614         * tests/test-getopt.c (main): Likewise.
21615         * tests/test-i-ring.c (main): Likewise.
21616         * tests/test-inttypes.c (main): Likewise.
21617         * tests/test-link.c (main): Likewise.
21618         * tests/test-lstat.c (main): Likewise.
21619         * tests/test-math.c (main): Likewise.
21620         * tests/test-md5.c (main): Likewise.
21621         * tests/test-memchr2.c (main): Likewise.
21622         * tests/test-memrchr.c (main): Likewise.
21623         * tests/test-mkdir.c (main): Likewise.
21624         * tests/test-mkdirat.c (main): Likewise.
21625         * tests/test-mkfifoat.c (main): Likewise.
21626         * tests/test-open.c (main): Likewise.
21627         * tests/test-openat-safer.c (main): Likewise.
21628         * tests/test-openat.c (main): Likewise.
21629         * tests/test-quotearg.c (main): Likewise.
21630         * tests/test-rawmemchr.c (main): Likewise.
21631         * tests/test-readlink.c (main): Likewise.
21632         * tests/test-remove.c (main): Likewise.
21633         * tests/test-rename.c (main): Likewise.
21634         * tests/test-renameat.c (main): Likewise.
21635         * tests/test-rmdir.c (main): Likewise.
21636         * tests/test-sha1.c (main): Likewise.
21637         * tests/test-signal.c (main): Likewise.
21638         * tests/test-sigaction.c (main): Likewise.
21639         * tests/test-stat.c (main): Likewise.
21640         * tests/test-stat-time.c (main): Likewise.
21641         * tests/test-stddef.c (main): Likewise.
21642         * tests/test-stdint.c (main): Likewise.
21643         * tests/test-stdio.c (main): Likewise.
21644         * tests/test-stdlib.c (main): Likewise.
21645         * tests/test-strchrnul.c (main): Likewise.
21646         * tests/test-strerror.c (main): Likewise.
21647         * tests/test-string.c (main): Likewise.
21648         * tests/test-strtod.c (main): Likewise.
21649         * tests/test-strverscmp.c (main): Likewise.
21650         * tests/test-symlink.c (main): Likewise.
21651         * tests/test-symlinkat.c (main): Likewise.
21652         * tests/test-sys_stat.c (main): Likewise.
21653         * tests/test-sys_time.c (main): Likewise.
21654         * tests/test-time.c (main): Likewise.
21655         * tests/test-unistd.c (main): Likewise.
21656         * tests/test-unlink.c (main): Likewise.
21657         * tests/test-unlinkat.c (main): Likewise.
21658         * tests/test-utimens.c (main): Likewise.
21659         * tests/test-utimensat.c (main): Likewise.
21660         * tests/test-version-etc.c (main): Likewise.
21661         * tests/test-wchar.c (main): Likewise.
21662         * tests/test-wctype.c (main): Likewise.
21663         * tests/test-xprintf-posix.c (main): Likewise.
21664         * tests/test-posixtm.c (main): Likewise.
21665         (STREQ): Delete unused macro.
21666         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
21667         shadowed variables.
21668         * tests/test-memchr.c (main): Likewise.
21669
21670 2009-10-21  Eric Blake  <ebb9@byu.net>
21671
21672         areadlinkat: avoid failure on older glibc
21673         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
21674         rather than mis-comparing 0 against FUNC_RESULT of char*.
21675
21676 2009-10-21  Bruno Haible  <bruno@clisp.org>
21677
21678         * modules/stpncpy (License): Relicense under LGPLv2+.
21679         Reported by David Lutterkort <lutter@redhat.com>.
21680
21681 2009-10-20  Eric Blake  <ebb9@byu.net>
21682
21683         utimensat: work around Solaris 9 bug
21684         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
21685         has trailing slash bugs.
21686         * tests/test-lutimens.h (test_lutimens): Enhance test.
21687         * tests/test-utimens.h (test_utimens): Likewise.
21688         * doc/posix-functions/utime.texi (utime): Enhance documentation.
21689         * doc/posix-functions/utimes.texi (utimes): Likewise.
21690         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21691         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
21692         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
21693         * doc/posix-functions/futimens.texi (futimens): Likewise.
21694
21695         fdutimensat: new module
21696         * modules/fdutimensat: New file.
21697         * lib/fdutimensat.c (fdutimensat): Likewise.
21698         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
21699         * MODULES.html.sh (File system functions): Mention module.
21700         * modules/fdutimensat-tests: New test.
21701         * tests/test-fdutimensat.c: Likewise.
21702
21703         doc: regenerate INSTALL
21704         * doc/INSTALL: Reflect recent autoconf update.
21705         * doc/INSTALL.ISO: Likewise.
21706         * doc/INSTALL.UTF-8: Likewise.
21707
21708 2009-10-20  Pádraig Brady  <P@draigBrady.com>
21709
21710         acl: warn if ACL support is not detected
21711         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
21712
21713 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
21714
21715         * lib/nproc.h: Add extern "C" block for C++.
21716
21717 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
21718             Bruno Haible  <bruno@clisp.org>
21719
21720         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
21721         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
21722         * doc/posix-functions/isalpha.texi: Likewise.
21723         * doc/posix-functions/isblank.texi: Likewise.
21724         * doc/posix-functions/iscntrl.texi: Likewise.
21725         * doc/posix-functions/isdigit.texi: Likewise.
21726         * doc/posix-functions/isgraph.texi: Likewise.
21727         * doc/posix-functions/islower.texi: Likewise.
21728         * doc/posix-functions/isprint.texi: Likewise.
21729         * doc/posix-functions/ispunct.texi: Likewise.
21730         * doc/posix-functions/isspace.texi: Likewise.
21731         * doc/posix-functions/isupper.texi: Likewise.
21732         * doc/posix-functions/isxdigit.texi: Likewise.
21733
21734 2009-10-18  Bruno Haible  <bruno@clisp.org>
21735
21736         Tests for module 'isblank'.
21737         * modules/isblank-tests: New file.
21738         * tests/test-isblank.c: New file.
21739
21740         New module 'isblank'.
21741         * lib/isblank.c: New file.
21742         * m4/isblank.m4: New file.
21743         * modules/isblank: New file.
21744         * doc/posix-functions/isblank.texi: Mention the new module.
21745
21746 2009-10-18  Bruno Haible  <bruno@clisp.org>
21747
21748         New module 'ctype'.
21749         * lib/ctype.in.h: New file.
21750         * m4/ctype.m4: New file.
21751         * modules/ctype: New file.
21752         * doc/posix-headers/ctype.texi: Mention the new module.
21753
21754 2009-10-18  Jim Meyering  <meyering@redhat.com>
21755
21756         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
21757         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
21758         right after its initialization, rather than farther down.
21759         Keeping these in close proximity makes it easier to ensure
21760         that each such variable is initialized.  E.g.,
21761
21762             LIB_CLOCK_GETTIME=
21763             AC_SUBST([LIB_CLOCK_GETTIME])
21764
21765         This change also increments these serial numbers.
21766         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
21767         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21768         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21769
21770 2009-10-18  Bruno Haible  <bruno@clisp.org>
21771
21772         Don't let environment variables perturb build.
21773         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
21774         (gl_PREREQ_GETHRXTIME): ... not here.
21775
21776 2009-10-18  Bruno Haible  <bruno@clisp.org>
21777
21778         Avoid symlink attack in localcharset module.
21779         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
21780         (O_NOFOLLOW): Define fallback.
21781         (get_charset_aliases): Don't open the file if it is a symbolic link.
21782         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
21783         gl_FCNTL_H.
21784         (gl_FCNTL_H): Require it.
21785         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
21786         * modules/localcharset (Files): Add m4/fcntl_h.m4.
21787         Reported by Fergal Glynn <fglynn@veracode.com>.
21788
21789 2009-10-18  Bruno Haible  <bruno@clisp.org>
21790
21791         Implement nproc for mingw.
21792         * lib/nproc.c: Include <windows.h>
21793         (num_processors): On native Windows platforms, try GetSystemInfo.
21794
21795 2009-10-18  Bruno Haible  <bruno@clisp.org>
21796
21797         Implement nproc for IRIX.
21798         * lib/nproc.c: Include <sys/sysmp.h>.
21799         (num_processors): On IRIX systems, try sysmp.
21800         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
21801
21802 2009-10-18  Bruno Haible  <bruno@clisp.org>
21803
21804         Implement nproc for HP-UX.
21805         * lib/nproc.c: Include <sys/pstat.h>
21806         (num_processors): On HP-UX systems, try pstat_getdynamic.
21807         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
21808         pstat_getdynamic.
21809
21810 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
21811             Bruno Haible  <bruno@clisp.org>
21812
21813         Implement nproc for NetBSD, OpenBSD.
21814         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
21815         (ARRAY_SIZE): New macro.
21816         (num_processors): On BSD systems, try sysctl of HW_NCPU.
21817         * m4/nproc.m4: New file.
21818         * modules/nproc (Files): Add m4/nproc.m4.
21819         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
21820         (Makefile.am): Instead, augment lib_SOURCES.
21821
21822 2009-10-18  Bruno Haible  <bruno@clisp.org>
21823
21824         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
21825         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
21826         sys/param.h.
21827
21828 2009-10-16  Eric Blake  <ebb9@byu.net>
21829
21830         utimensat: new module
21831         * modules/utimensat: New file.
21832         * lib/utimensat.c (utimensat): Likewise.
21833         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21834         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
21835         so we can work around Linux bugs.
21836         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21837         * modules/sys_stat (Makefile.am): Substitute them.
21838         * lib/sys_stat.in.h (utimensat): Declare it.
21839         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21840         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21841         * modules/utimensat-tests: New test.
21842         * tests/test-utimensat.c: Likewise.
21843
21844         utimens: let lutimens work on non-symlinks
21845         * lib/utimens.c (lutimens): Fall back to utimens rather than
21846         failing with ENOSYS, when file is not a symlink.
21847         (utimens): Reduce redirection.
21848         * tests/test-lutimens.h (test_lutimens): Update test to cover
21849         non-symlinks.
21850         * tests/test-utimens.h (test_utimens): Update test to cover
21851         symlinks.
21852         * tests/test-utimens.c (main): Update caller.
21853
21854         utimens: cache whether utimensat syscall works
21855         * lib/utimens.c (utimensat_works_really): New cache variable.
21856         (fdutimens, lutimens): Use it to avoid failing syscall.
21857
21858         test-stat-time, test-utimens: improve portability
21859         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
21860         ext4 on alpha, and for cygwin.
21861         * tests/test-utimens-common.h: New file.
21862         (nap): Factor delays into single function.
21863         * tests/test-lutimens.h (test_lutimens): Use new header.
21864         * tests/test-futimens.h (test_futimens): Likewise.
21865         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
21866         timestamps to occur from same machine, as was done previously for
21867         test_utimens.
21868         * modules/utimens-tests (Files): Ship new file.
21869         * modules/futimens-tests (Files): Likewise.
21870         Reported in part by Jim Meyering.
21871
21872         sys_stat: sort replacement declarations
21873         * lib/sys_stat.in.h: Sort declarations.
21874         * lib/futimens.c (futimens): Fix typo.
21875
21876 2009-10-15  Jim Meyering  <meyering@redhat.com>
21877
21878         don't let environment settings perturb build
21879         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
21880         could cause a configure-time and/or build-time malfunction.
21881         Typically, a configure-time function-in-library test is performed
21882         via code like this:
21883
21884           LIB_VAR=
21885           AC_SUBST([LIB_VAR])
21886           prefix_saved_LIBS=$LIBS
21887             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
21888                        [test "$ac_cv_search_FUNC" = "none required" ||
21889                         LIB_VAR=$ac_cv_search_FUNC])
21890           LIBS=$prefix_saved_LIBS
21891
21892         However, in each of the files affected by this change, the LIB_VAR=
21893         initialization was omitted.  Thus, when set in the environment, its
21894         value would propagate into generated Makefiles when FUNC is not found
21895         in LIB_NAME.
21896         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
21897         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
21898         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21899
21900 2009-10-14  Eric Blake  <ebb9@byu.net>
21901
21902         fchdir: avoid infinite recursion in mingw
21903         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
21904         recursing.
21905
21906         test-stat-time: port to mingw
21907         * tests/test-stat-time.c (force_unlink): Return a value.
21908         (test_ctime) [W32]: Fix compilation error.
21909         (nap): Don't call usleep with too large an argument.  Use
21910         force_unlink.
21911         * doc/pastposix-functions/usleep.texi (usleep): Document the
21912         portability issue.
21913
21914 2009-10-13  Jim Meyering  <meyering@redhat.com>
21915
21916         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
21917         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
21918         * modules/pipe-filter-ii: Likewise.
21919         * modules/sys_socket-tests: Likewise.
21920         * modules/tsearch-tests: Likewise.
21921         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
21922         (check): Depend on it.
21923
21924 2009-10-12  Eric Blake  <ebb9@byu.net>
21925
21926         utimens-tests: port to NFS file systems
21927         * tests/test-utimens.h (test_utimens): Refactor utimecmp
21928         comparisons to avoid spurious failures from timestamp drift
21929         between NFS machines.
21930
21931 2009-10-12  Eric Blake  <ebb9@byu.net>
21932
21933         stat-time-tests: minor cleanups
21934         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
21935         * tests/test-stat-time.c (nap): Separate assignment from call.
21936         Suggested by Paolo Bonzini and Bruno Haible.
21937
21938         sys_stat: guarantee struct timespec
21939         * lib/sys_stat.in.h (includes): Always include <time.h>
21940         * modules/sys_stat (Depends-on): Add time.
21941         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
21942         mode_t permission values.
21943         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
21944         get at subsecond timestamps.
21945
21946 2009-10-10  Eric Blake  <ebb9@byu.net>
21947
21948         futimens: new module
21949         * modules/futimens: New file.
21950         * lib/futimens.c (futimens): Likewise.
21951         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
21952         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
21953         we can work around Linux bugs.
21954         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21955         * modules/sys_stat (Makefile.am): Substitute them.
21956         * lib/sys_stat.in.h (futimens): Declare it.
21957         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
21958         * doc/posix-functions/futimens.texi (futimens): Likewise.
21959         * modules/futimens-tests: New test.
21960         * tests/test-futimens.c: Likewise.
21961
21962         utimens: introduce fdutimens
21963         * lib/utimens.h (fdutimens): New prototype.
21964         * lib/utimens.c (gl_futimens): Move guts...
21965         (fdutimens): ...to new interface.
21966         * tests/test-utimens.c (do_fdutimens): Use it.
21967
21968         utimens: add UTIME_NOW and UTIME_OMIT support
21969         * lib/utimens.c (validate_timespec, update_timespec): New helper
21970         functions.
21971         (gl_futimens, lutimens): Use them.
21972         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
21973         stdbool, sys_stat.
21974         (Link): Mention resulting library dependency.
21975         * modules/utimecmp (Link): Likewise.
21976         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
21977         (Makefile.am): Pick up library dependency.
21978         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
21979         definition.
21980         * tests/test-sys_stat.c: Test the definitions.
21981         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
21982         * NEWS: Document library dependency.
21983
21984         utimecmp: support symlink timestamps
21985         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
21986         hashing when possible.  Use pathconf when available.
21987         (SYSCALL_RESOLUTION): Recognize tighter resolution.
21988         * modules/utimecmp (Depends-on): Add lstat.
21989
21990         utimens: add lutimens interface
21991         * lib/utimens.c (lutimens): New function.
21992         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
21993         * lib/utimens.h (lutimens): Declare new interface.
21994         * tests/test-utimens.c (main): Enhance test.
21995         * tests/test-lutimens.h (test_lutimens): New file.
21996         * modules/utimens-tests (Files): Distribute it.
21997         (Depends-on): Add symlink.
21998         (configure.ac): Check for usleep.
21999
22000         utimens: validate futimens usage
22001         * lib/utimens.c (gl_futimens): Require valid fd up front, using
22002         fewer syscalls on failure later on.  Avoid compiler warning on
22003         mingw.
22004         * modules/utimens (Depends-on): Add dup2.
22005
22006         utimens: add test
22007         * modules/utimens-tests: New test.
22008         * tests/test-utimens.h: New file.
22009         * tests/test-futimens.h: Likewise.
22010         * tests/test-utimens.c: Likewise.
22011
22012         doc: mention timestamp portability issues
22013         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
22014         instead.
22015         * doc/posix-functions/utime.texi (utime): Likewise.
22016         * doc/posix-functions/utimes.texi (utimes): Likewise.
22017         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
22018         instead.
22019         * doc/posix-functions/futimens.texi (futimens): Mention utimens
22020         module.
22021         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
22022         Mention weakness with symlink timestamps.
22023         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
22024         to utimensat/futimens instead.
22025         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
22026
22027         test-dup2: enhance test
22028         * tests/test-dup2.c (main): Also check AT_FDCWD.
22029
22030         test-stat-time: avoid more spurious failures
22031         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
22032         xfs; and avoid race if the two timestamps cross quantization edge.
22033
22034         relocatable: prefer 'file system' over 'filesystem'
22035         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
22036         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
22037         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
22038         * doc/relocatable.texi (Enabling Relocatability): Likewise.
22039         * lib/relocatable.c (compute_curr_prefix): Likewise.
22040
22041 2009-10-10  Jim Meyering  <meyering@redhat.com>
22042
22043         stat-time-tests: check for the usleep function
22044         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
22045
22046 2009-10-10  Bruno Haible  <bruno@clisp.org>
22047
22048         * modules/xnanosleep: Put the Link section after the Include section.
22049
22050 2009-10-09  Eric Blake  <ebb9@byu.net>
22051
22052         dup2: work around FreeBSD 6.1 bug
22053         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
22054         * doc/posix-functions/dup2.texi (dup2): Document it.
22055         Reported by Nelson H. F. Beebe and Jim Meyering.
22056
22057         test-stat-time: port to buggy NFS clients
22058         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
22059         (test_ctime): Also skip test if mtime and ctime are skewed.
22060
22061         maint: prefer 'file system' over 'filesystem'
22062         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22063         * doc/posix-functions/lstat.texi (lstat): Likewise.
22064         * lib/file-has-acl.c (file_has_acl): Likewise.
22065         * lib/fwriteerror.c [TEST]: Likewise.
22066         * tests/test-areadlink.h (test_areadlink): Likewise.
22067         * tests/test-areadlinkat-with-size.c (main): Likewise.
22068         * tests/test-areadlinkat.c (main): Likewise.
22069         * tests/test-canonicalize-lgpl.c (main): Likewise.
22070         * tests/test-canonicalize.c (main): Likewise.
22071         * tests/test-fstatat.c (main): Likewise.
22072         * tests/test-linkat.c (main): Likewise.
22073         * tests/test-lstat.h (test_lstat_func): Likewise.
22074         * tests/test-mkdir.h (test_mkdir): Likewise.
22075         * tests/test-readlink.h (test_readlink): Likewise.
22076         * tests/test-remove.c (main): Likewise.
22077         * tests/test-rename.h (test_rename): Likewise.
22078         * tests/test-renameat.c (main): Likewise.
22079         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22080         * tests/test-symlink.h (test_symlink): Likewise.
22081         * tests/test-symlinkat.c (main): Likewise.
22082         * tests/test-unlink.h (test_unlink_func): Likewise.
22083         * tests/test-unlinkat.c (main): Likewise.
22084
22085         maint: make realtime library usage explicit
22086         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
22087         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
22088         * modules/settime (Link): Likewise.
22089         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
22090
22091         test-stat-time: speed up execution
22092         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
22093         warning on mingw.
22094         (nap): New helper function.
22095         (prepare_test): Use it to reduce sleep time.
22096         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
22097         execution.
22098         * modules/stat-time-tests (configure.ac): Check for usleep.
22099
22100 2009-10-09  Jim Meyering  <meyering@redhat.com>
22101
22102         selinux-h: always use getfilecon wrappers
22103         * lib/getfilecon.c: New file.
22104         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
22105         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
22106         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
22107         (fgetfilecon): Provide a stub.
22108         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
22109         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
22110         file unconditionally.
22111         When <selinux/selinux.h> is found, arrange to use wrappers.
22112         * modules/selinux-h (Files): Add getfilecon.c.
22113         (Makefile.am): Substitute include-next-related bits
22114         into the now-always-generated selinux/selinux.h file.
22115         * doc/glibc-functions/lgetfilecon.texi: New file.
22116         * doc/glibc-functions/fgetfilecon.texi: New file.
22117         * doc/glibc-functions/getfilecon.texi: New file.
22118         * doc/glibc-functions/getfilecon-desc.texi: New file.
22119         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
22120         which to pull in the new files.
22121         * MODULES.html.sh (Misc): Add selinux-h.
22122
22123 2009-10-08  Jim Meyering  <meyering@redhat.com>
22124
22125         unistd: fix comment typo
22126         * lib/unistd.in.h (euidaccess): Fix a comment typo.
22127
22128 2009-10-08  Eric Blake  <ebb9@byu.net>
22129
22130         areadlink: use SIZE_MAX consistently
22131         * modules/areadlink (Depends-on): Add stdint.
22132         * modules/areadlink-with-size (Depends-on): Likewise.
22133         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
22134         gives NULL; drop sys/types, since unistd gives size_t; and add
22135         stdint for SIZE_MAX.
22136         (SIZE_MAX): Rely on headers.
22137         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
22138         and add stdint.
22139         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
22140         (SIZE_MAX): Likewise.
22141         (INITIAL_BUF_SIZE): Turn into enum.
22142         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
22143
22144 2009-10-08  Jim Meyering  <meyering@redhat.com>
22145
22146         areadlinkat: avoid compilation failure
22147         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
22148         Fix typo in comment.
22149
22150 2009-10-07  Eric Blake  <ebb9@byu.net>
22151
22152         areadlinkat-with-size: new module
22153         * modules/areadlinkat-with-size: New module.
22154         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
22155         * lib/areadlink.h (areadlinkat): Declare it.
22156         * MODULES.html.sh (File system functions): Mention it.
22157         * modules/areadlinkat-with-size-tests: New test.
22158         * tests/test-areadlinkat-with-size.c: New file.
22159
22160         xreadlinkat: new module
22161         * modules/xreadlinkat: New module.
22162         * lib/xreadlinkat.c (xreadlinkat): New file.
22163         * lib/xreadlink.h (xreadlinkat): Declare it.
22164         * MODULES.html.sh (File system functions): Mention it.
22165
22166         areadlinkat: new module
22167         * lib/at-func.c (FUNC_FAIL): New define.
22168         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
22169         * modules/areadlinkat: New module.
22170         * lib/linkat.c (areadlinkat): Move...
22171         * lib/areadlinkat.c (areadlinkat): ...to new file.
22172         * lib/areadlink.h (areadlinkat): Declare it.
22173         * modules/linkat (Depends-on): Add areadlinkat.
22174         * MODULES.html.sh (File system functions): Mention it.
22175         * modules/areadlinkat-tests: New test.
22176         * tests/test-areadlinkat.c: New file.
22177
22178         areadlink, areadlink-with-size: add tests
22179         * modules/areadlink-tests: New test.
22180         * modules/areadlink-with-size-tests: Likewise.
22181         * tests/test-areadlink.h: New file.
22182         * tests/test-areadlink.c: Likewise.
22183         * tests/test-areadlink-with-size.c: Likewise.
22184
22185         maint: minor cleanups
22186         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
22187         _UNUSED_PARAMETER_ instead.
22188         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
22189         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
22190         * modules/linkat-tests (Files): Distribute test-link.h.
22191
22192         openat, utimens: whitespace cleanup
22193         * lib/openat.c: Prefer space throughout, rather than mix of 8
22194         spaces vs. tabs.
22195         * lib/at-func.c: Likewise.
22196         * lib/utimens.c: Likewise.
22197
22198         openat: avoid using wrong fd
22199         * lib/openat.c (openat_permissive): Reject user's fd if saving the
22200         working directory chooses same fd.
22201         * lib/at-func.c (AT_FUNC_NAME): Likewise.
22202
22203         mkdir, mkdirat: fix cygwin 1.5.x bug
22204         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
22205         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
22206         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
22207         bug.
22208         (gl_PREREQ_MKDIR): Delete unused macro.
22209         * modules/mkdir (Files): Track file rename.
22210         (configure.ac): Update macro name.
22211         * modules/openat (Depends-on): Add mkdir.
22212         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
22213
22214         mkdir, mkdirat: add tests
22215         * modules/mkdir-tests: New test.
22216         * tests/test-mkdir.h: New file.
22217         * tests/test-mkdir.c: Likewise.
22218         * tests/test-mkdirat.c: Likewise.
22219         * modules/openat-tests (Files): Add new files.
22220         (Makefile.am): Run new test.
22221
22222 2009-10-06  Eric Blake  <ebb9@byu.net>
22223
22224         doc: tweak *at function documentation
22225         * doc/posix-functions/faccessat.texi (faccessat): Mention
22226         known issue with replacement.
22227         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
22228         * doc/posix-functions/linkat.texi (linkat): Likewise.
22229         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
22230         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
22231         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22232         * doc/posix-functions/renameat.texi (renameat): Likewise.
22233         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
22234
22235         openat: fix GNU/Hurd bug in unlinkat
22236         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
22237         broken.
22238         * doc/posix-functions/unlink.texi (unlink): Document this.
22239         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
22240
22241         fdopendir: fix GNU/Hurd bug
22242         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
22243         allowing non-directory fds.
22244         * lib/fdopendir.c (rpl_fdopendir): Work around it.
22245         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
22246         * modules/dirent (Makefile.am): Substitute it.
22247         * lib/dirent.in.h (fdopendir): Declare replacement.
22248         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
22249         * tests/test-fdopendir.c (main): Test something other than
22250         /dev/null, since on Hurd that behaves like a directory.
22251
22252         test-symlink: port to GNU/Hurd
22253         * tests/test-symlink.h (test_symlink): Relax expected errno.
22254
22255         doc: tweak more cygwin information
22256         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
22257         now compatible with glibc.
22258         * doc/posix-functions/getopt.texi (getopt): Likewise.
22259
22260         getopt-gnu: add another test
22261         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
22262         guarantee behavior relied on by m4.
22263         * tests/test-getopt.c (main): Use it.
22264         * modules/getopt-posix-tests (Depends-on): Add setenv.
22265         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
22266
22267         getopt: fix compilation on darwin
22268         * lib/getopt.in.h (includes): Leave breadcrumbs during system
22269         include.
22270         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
22271         Reported by Ludovic Courtès.
22272
22273 2009-10-06  Bruno Haible  <bruno@clisp.org>
22274
22275         * modules/size_max (Description): Discourage its use.
22276         Reported by Simon Josefsson.
22277
22278 2009-10-06  Jim Meyering  <meyering@redhat.com>
22279
22280         linkat: avoid compilation failure
22281         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
22282
22283 2009-10-05  Eric Blake  <ebb9@byu.net>
22284
22285         linkat: support Linux 2.6.17
22286         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
22287         linkat on Linux, but allow cache variable override.
22288         * lib/linkat.c (rpl_linkat): Define override.
22289         * modules/linkat (Depends-on): Add symlinkat.
22290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
22291         * modules/unistd (Makefile.am): Substitute it.
22292         * lib/unistd.in.h (linkat): Declare replacement.
22293         Reported by Pádraig Brady.
22294
22295         quotearg: port test to systems with C.UTF-8 locale
22296         * tests/test-quotearg.c (struct result_strings): Add another
22297         member, differentiating between C.ASCII and C.UTF-8 handling.
22298         (compare_strings): Add parameter.
22299         (main): Adjust all callers.
22300
22301         getopt: avoid clash with FreeBSD _getopt_internal
22302         * lib/getopt.in.h (_getopt_internal): Override the name.
22303         * lib/getopt_int.h (includes): Pick up any overrides.
22304         Reported by Reuben Thomas.
22305
22306         hash: allow C89 compilation
22307         * lib/hash.c (check_tuning): Move declaration before statement.
22308         Reported by Reuben Thomas.
22309
22310 2009-10-05  Karl Berry  <karl@gnu.org>
22311
22312         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
22313
22314 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
22315             Bruno Haible  <bruno@clisp.org>
22316
22317         * lib/uname.c (uname): Use a table-driven algorithm to compute
22318         Windows NT versions.
22319
22320 2009-10-04  Bruno Haible  <bruno@clisp.org>
22321
22322         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
22323         program_invocation_short_name.
22324         * modules/progname (configure.ac): Test for presence of
22325         program_invocation_short_name.
22326         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
22327
22328 2009-10-04  Bruno Haible  <bruno@clisp.org>
22329
22330         * lib/progname.c (set_program_name): Fix comment.
22331         Reported by Jim Meyering.
22332
22333 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22334             Bruno Haible  <bruno@clisp.org>
22335
22336         * lib/uname.c: Include <string.h>.
22337         (uname): Do only one call to GetVersionEx in the common case.
22338
22339 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
22340             Bruno Haible  <bruno@clisp.org>
22341
22342         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
22343         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
22344         (uname): Add support for Windows CE and various non-x86 CPU types.
22345
22346 2009-10-03  Bruno Haible  <bruno@clisp.org>
22347
22348         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
22349         invocation to tests/configure.ac.
22350         Reported by Ian Beckwith <ianb@erislabs.net>.
22351
22352 2009-10-02  Eric Blake  <ebb9@byu.net>
22353
22354         fchdir: avoid compiler warning
22355         * lib/fchdir.c (canonicalize_file_name)
22356         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
22357
22358         test-open: support mingw errno values
22359         * tests/test-open.h (test_open): Relax test.
22360         * tests/test-fopen.h (test_fopen): Likewise.
22361         * tests/test-openat-safer.c (main): Likewise.
22362
22363         open: fix opening directory on mingw
22364         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
22365
22366         test-open: on GNU/Hurd, /dev/null is a directory
22367         * tests/test-fopen.h (main): Rename...
22368         (test_fopen): ...to this.  Use a guaranteed non-directory when
22369         confirming open behavior on trailing slash.
22370         * tests/test-openat-safer.c (main): Likewise.
22371         * tests/test-open.h (main): Likewise....
22372         (test_open): ...to this.
22373         * tests/test-fopen.c (main): Adjust caller.
22374         * tests/test-fopen-safer.c (main): Likewise.
22375         * tests/test-open.c (main): Likewise.
22376         * tests/test-fcntl-safer.c (main): Likewise.
22377         Reported by Samuel Thibault.
22378
22379         rename, fchdir: don't ignore chdir failure
22380         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
22381         * lib/rename.c (rpl_rename) [W32]: Likewise.
22382         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
22383         an empty destination directory if source cannot be renamed,
22384         although there is still possibility for failure.
22385         * doc/posix-functions/rename.texi (rename): Document the race.
22386         Reported by Jim Meyering.
22387
22388         maint: cleanup whitespace in recent commits
22389         * lib/rename.c (rpl_rename): Remove tabs.
22390         * tests/test-link.h (test_link): Likewise.
22391         * lib/fchdir.c (get_name): Likewise.
22392         Reported by Jim Meyering.
22393
22394 2009-10-02  Ben Pfaff  <blp@gnu.org>
22395
22396         relocatable-prog-wrapper: Add missing dependency on
22397         double-slash-root.
22398         * modules/relocatable-prog-wrapper: Add dependency.
22399         Reported by Ian Beckwith <ianb@erislabs.net>.
22400
22401 2009-10-02  Eric Blake  <ebb9@byu.net>
22402
22403         renameat: fix Solaris bugs
22404         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
22405         needed fixing.
22406         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
22407         * modules/stdio (Makefile.am): Substitute it.
22408         * lib/stdio.in.h (renameat): Declare replacement.
22409         * lib/renameat.c (rpl_renameat): Implement fix.
22410
22411         renameat: new module
22412         * modules/renameat: New file.
22413         * lib/renameat.c (renameat): Likewise.
22414         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
22415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22416         * modules/stdio (Makefile.am): Substitute them.
22417         * lib/stdio.in.h (renameat): Declare it.
22418         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22419         * doc/posix-functions/renameat.texi (renameat): Likewise.
22420         * modules/renameat-tests: New test.
22421         * tests/test-renameat.c: Likewise.
22422
22423         rename: fix mingw bugs
22424         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
22425         directory overwrite bugs.
22426
22427         rename: fix another cygwin 1.5 bug
22428         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
22429         checks.
22430         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
22431         unnecessary cygwin workarounds.  Also work around bug with moving
22432         full directory onto an empty one.
22433         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
22434
22435         rename-dest-slash: merge into rename module
22436         * modules/rename-dest-slash (Status): Mark obsolete.
22437         (Depends-on): Add rename.
22438         (Files): Let rename do it all.
22439         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
22440         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
22441         * m4/rename-dest-slash.m4: ...so this file can be deleted.
22442         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
22443         * lib/rename.c (rpl_rename): Update comments.
22444
22445         rename: fix cygwin 1.5.x bugs
22446         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
22447         * lib/rename.c (rpl_rename): Work around them.
22448         * modules/rename (Depends-on): Add same-inode.
22449
22450         rename: fix Solaris 10 bug
22451         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22452         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
22453         was the only bug.
22454
22455         rename: fix Solaris 9 bug
22456         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
22457         on non-directory.  Avoid calling exit.
22458         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
22459         strdup.
22460         * modules/rename-tests (Depends-on): Drop lstat.
22461         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
22462         (gl_PREREQ_RENAME): Delete unused macro.
22463
22464         rename-dest-slash: fix NetBSD bug
22465         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
22466         links.
22467         * modules/rename-dest-slash (Depends-on): Add same-inode.
22468
22469         rename-tests: new test, exposes several platform bugs
22470         * modules/rename-tests: New file.
22471         * tests/test-rename.h: Likewise.
22472         * tests/test-rename.c: Likewise.
22473         * doc/posix-functions/rename.texi (rename): Improve documentation,
22474         including bugs that will eventually be fixed in gnulib.
22475
22476 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
22477
22478         * lib/uname.c: Include <stdlib.h>
22479         (uname): Assume version info is available.
22480
22481 2009-10-02  Jim Meyering  <meyering@redhat.com>
22482
22483         gnu-web-doc-update: correct --help output
22484         * build-aux/gnu-web-doc-update: Make --help output relevant.
22485
22486         gnu-web-doc-update: add standard options
22487         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
22488
22489         gnu-web-doc-update: New module.
22490         Use this script to automatically update the on-line web documentation
22491         for your GNU project at http://www.gnu.org/software/$pkg/manual/
22492         * modules/gnu-web-doc-update: New file, from coreutils.
22493         * build-aux/gnu-web-doc-update: New script.
22494
22495 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
22496
22497         link: LoadLibrary is not needed.
22498         * lib/link.c: Use GetModuleHandle.
22499
22500 2009-10-01  Eric Blake  <ebb9@byu.net>
22501
22502         getopt: bump serial number
22503         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
22504         change.
22505
22506         tests: tighten link, rmdir, and remove tests
22507         * tests/test-link.h (includes): No need to use <config.h> here.
22508         Clean up if directory hard link was created, otherwise test for
22509         trailing '.'.
22510         * tests/test-linkat.c (main): Simplify.
22511         * tests/test-remove.c (main): Enhance test for trailing '.'.
22512         * tests/test-rmdir.h (test_rmdir_func): Likewise.
22513
22514 2009-10-01  Jim Meyering  <meyering@redhat.com>
22515
22516         maint.mk: requiring "make major" was annoying, for a "minor" release.
22517         What is intended is "stable", to contrast with alpha and beta,
22518         so require "make stable", not "make major".
22519         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
22520         (get_tool_versions): Likewise.
22521         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
22522
22523 2009-09-30  Ben Pfaff  <blp@gnu.org>
22524
22525         Fix broken build of replacement for Windows tmpfile().
22526         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
22527         flags argument added along with the 'mkostemp' module.
22528
22529 2009-09-28  Bruno Haible  <bruno@clisp.org>
22530
22531         Avoid identifier clash with POSIX function 'remove' defined as a macro.
22532         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
22533         to 'remove_elt'.
22534         (gl_list_remove): Update.
22535         * lib/gl_list.c (gl_list_remove): Update.
22536         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
22537         to 'remove_elt'.
22538         (gl_oset_remove): Update.
22539         * lib/gl_list.c (gl_oset_remove): Update.
22540         Reported by Eric Blake.
22541
22542 2009-09-28  Eric Blake  <ebb9@byu.net>
22543
22544         doc: mention yet more cygwin 1.7 status
22545         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
22546         cygwin.
22547         * doc/glibc-functions/execvpe.texi (execvpe): New file.
22548         * doc/gnulib.texi (Glibc unistd.h): Mention it.
22549
22550         argp: fix test failure
22551         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
22552         that are not upper-case.  Pass correct range to tolower.
22553
22554 2009-09-27  Jim Meyering  <meyering@redhat.com>
22555
22556         test-yesno: work around sparc-dash here-document infelicity
22557         Without this change, the literal \177 byte in a here document
22558         would make dash 0.5.5.1-3 access uninitialized memory.
22559         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
22560         Instead, use a marker, "@", and filter through tr to create the desired
22561         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
22562
22563 2009-09-27  Bruno Haible  <bruno@clisp.org>
22564
22565         Disable untested support for new flavours of ACLs on AIX.
22566         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
22567         progress.
22568         * lib/set-mode-acl.c (qset_acl): Likewise.
22569
22570 2008-12-07  Bruno Haible  <bruno@clisp.org>
22571
22572         Add support for new flavours of ACLs on AIX. (Untested.)
22573         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
22574         (file_has_acl): Add support for newer AIX.
22575         * lib/set-mode-acl.c (qset_acl): Likewise.
22576         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
22577         Rainer Tammer <tammer@tammer.net>.
22578
22579 2009-09-26  Eric Blake  <ebb9@byu.net>
22580
22581         argp: fix compilation of getopt
22582         * lib/getopt.in.h (includes): Use different guard than glibc.
22583         Reported by Sergey Poznyakoff.
22584
22585         doc: mention more cygwin 1.7 status
22586         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
22587         bug.
22588         * doc/posix-functions/execl.texi (execl): Likewise.
22589         * doc/posix-functions/execle.texi (execle): Likewise.
22590         * doc/posix-functions/execlp.texi (execlp): Likewise.
22591         * doc/posix-functions/execv.texi (execv): Likewise.
22592         * doc/posix-functions/execve.texi (execve): Likewise.
22593         * doc/posix-functions/execvp.texi (execvp): Likewise.
22594         * doc/glibc-functions/canonicalize_file_name.texi
22595         (canonicalize_file_name): Cygwin 1.7 now provides this.
22596         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
22597         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
22598         on AT_SYMLINK_NOFOLLOW.
22599
22600 2009-09-24  Eric Blake  <ebb9@byu.net>
22601
22602         test-linkat: make test more robust
22603         * tests/test-linkat.c (main): Avoid collision with EEXIST.
22604
22605         getopt: fix inclusion guards for cygwin
22606         * modules/getopt-posix (Depends-on): Add include-next.
22607         (Makefile.am): Substitute more items in replacement header.
22608         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
22609         <getopt.h>.
22610         * lib/getopt.in.h (includes): Use split inclusion guard, and
22611         prefer <getopt.h> over include <unistd.h> when one is present.
22612         (option): Also override name of 'struct option'.
22613
22614         same-inode: revert prior change; it is not yet ready
22615         * NEWS: Undo mention of this change.
22616         * lib/same-inode.h (same-inode.h): Undo tri-state change.
22617         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22618         * lib/cycle-check.c (cycle_check): Likewise.
22619         * lib/same.c (same_name): Likewise.
22620         * lib/at-func2.c (at_func2): Likewise.
22621
22622 2009-09-23  Eric Blake  <ebb9@byu.net>
22623
22624         linkat: new module
22625         * modules/linkat: New file.
22626         * lib/at-func2.c (at_func2): Likewise.
22627         * lib/linkat.c (linkat): Likewise.
22628         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22629         * lib/openat-priv.h (at_func2): Add declaration.
22630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22631         * modules/unistd (Makefile.am): Substitute them.
22632         * lib/unistd.in.h (linkat): Declare it.
22633         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22634         * doc/posix-functions/linkat.texi (linkat): Likewise.
22635         * doc/posix-functions/link.texi (link): Tweak wording.
22636         * tests/test-link.c (main): Move guts...
22637         * tests/test-link.h (test_link): ...into new file.
22638         * modules/linkat-tests: New test.
22639         * tests/test-linkat.c: Likewise.
22640         * modules/link-tests (Files): Ship new file.
22641         (Depends-on): Add stdbool.
22642
22643         dirname: add library-safe mdir_name
22644         * lib/dirname.h (mdir_name): New prototype.
22645         * lib/dirname.c (dir_name): Move guts...
22646         (mdir_name): ...to new function that avoids xalloc_die.
22647
22648         fchdir: another mingw fix
22649         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
22650         * lib/fchdir.c (get_name): New helper method; skips canonicalize
22651         on mingw (where it has not yet been ported), and make it optional
22652         elsewhere.
22653         (_gl_register_fd): Use it.
22654
22655         same-inode: make SAME_INODE tri-state, to port to mingw
22656         * NEWS: Mention this change.
22657         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
22658         st_ino always being 0.
22659         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
22660         * lib/cycle-check.c (cycle_check): Likewise.
22661         * lib/same.c (same_name): Likewise.
22662
22663         lstat: avoid mingw compilation error
22664         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
22665         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
22666         lstat ourselves.
22667         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
22668         was adequate.
22669         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
22670         the checks for lstat.
22671         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
22672
22673         link: fix test failure on Solaris 9
22674         * lib/link.c (rpl_link): Don't assume link will catch bogus
22675         trailing slash on source.
22676
22677         test-symlinkat: enhance test
22678         * tests/test-readlink.c (main): Move guts...
22679         * tests/test-readlink.h (test_readlink): ...into new file.
22680         * tests/test-symlink.c (main): Move guts...
22681         * tests/test-symlink.h (test_symlink): ...into new file.
22682         * tests/test-symlinkat.c (main): Use new files for further
22683         coverage.
22684         (do_symlink, do_readlink): New helper functions.
22685         * modules/symlink-tests (Files): Ship new file.
22686         (Depends-on): Add stdbool.
22687         * modules/readlink-tests (Files): Ship new file.
22688         (Depends-on): Add stdbool.
22689         * modules/symlinkat-tests (Files): Use new files.
22690
22691 2009-09-23  Eric Blake  <ebb9@byu.net>
22692
22693         readlink: document portability issue with symlink length
22694         * doc/posix-functions/lstat.texi (lstat): Mention that some file
22695         systems have bogus st_size on symlinks, and mention the
22696         areadlink-with-size module.
22697         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
22698         * doc/posix-functions/readlink.texi (readlink): Mention the
22699         areadlink module, and ERANGE failure.
22700         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22701         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
22702
22703         readlink: fix Solaris 9 bug with trailing slash
22704         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
22705         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
22706         * doc/posix-functions/readlink.texi (readlink): Document this.
22707         * modules/readlink-tests: New test.
22708         * tests/test-readlink.c: Likewise.
22709
22710         readlink: fix cygwin 1.5.x bug with return type
22711         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
22712         * lib/unistd.in.h (readlink): Use ssize_t.
22713         * lib/readlink.c (readlink): Likewise.
22714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22715         * modules/unistd (Makefile.am): Substitute it.
22716         * lib/unistd.in.h (readlink): Declare replacement.
22717         * doc/posix-functions/readlink.texi (readlink): Document this.
22718
22719         symlink: use throughout gnulib
22720         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
22721         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
22722         symlink is not used.
22723         * modules/symlinkat (Depends-on): Add symlink.
22724         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22725         * modules/canonicalize-tests (Depends-on): Likewise.
22726         * modules/lstat-tests (Depends-on): Likewise.
22727         * modules/openat-tests (Depends-on): Likewise.
22728         * modules/remove-tests (Depends-on): Likewise.
22729         * modules/rmdir-tests (Depends-on): Likewise.
22730         * modules/unlink-tests (Depends-on): Likewise.
22731         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
22732         * tests/test-canonicalize.c (symlink): Likewise.
22733         * tests/test-fstatat.c (symlink): Likewise.
22734         * tests/test-lstat.c (symlink): Likewise.
22735         * tests/test-remove.c (symlink): Likewise.
22736         * tests/test-rmdir.c (symlink): Likewise.
22737         * tests/test-unlink.c (symlink): Likewise.
22738         * tests/test-unlinkat.c (symlink): Likewise.
22739
22740         symlink: new module, for Solaris 9 bug
22741         * modules/symlink: New file.
22742         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22743         * lib/symlink.c: Likewise.
22744         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22745         * modules/unistd (Makefile.am): Substitute them.
22746         * lib/unistd.in.h (symlink): Declare replacement.
22747         * MODULES.html.sh (File system functions): Mention it.
22748         * doc/posix-functions/symlink.texi (symlink): Likewise.
22749         * modules/symlink-tests: New test.
22750         * tests/test-symlink.c: Likewise.
22751
22752 2009-09-23  Bruno Haible  <bruno@clisp.org>
22753
22754         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
22755         when needed.
22756         Test case: gnulib-tool --import --with-tests atexit inttypes.
22757         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
22758
22759 2009-09-23  Bruno Haible  <bruno@clisp.org>
22760
22761         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
22762         subcommand, not in a subshell.
22763
22764 2009-09-22  Eric Blake  <ebb9@byu.net>
22765
22766         unistd: sort replacement declarations
22767         * lib/unistd.in.h: Sort declarations.
22768
22769         open, openat: minor optimization
22770         * lib/open.c (open): If open succeeded, len is non-zero.
22771         * lib/openat.c (rpl_openat): Likewise.
22772
22773         link-follow: ensure correct result
22774         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
22775         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
22776         distinguish between possible failures.
22777
22778 2009-09-21  Eric Blake  <ebb9@byu.net>
22779
22780         fts: avoid compiler warning
22781         * lib/fts.c (dirent_inode_sort_may_be_useful)
22782         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
22783
22784 2009-09-19  Bruno Haible  <bruno@clisp.org>
22785
22786         * lib/progreloc.c (canonicalize_file_name): New declaration.
22787
22788 2009-09-19  Eric Blake  <ebb9@byu.net>
22789
22790         link: fix quoting
22791         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
22792
22793         openat: fix openat bugs on Solaris 9
22794         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
22795         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
22796         * modules/openat (Depends-on): Add open.
22797         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
22798         * modules/fcntl-h (Makefile.am): Substitute it.
22799         * lib/fcntl.in.h (openat): Declare replacement.
22800         * doc/posix-functions/openat.texi (openat): Document this.
22801
22802         openat: move fstatat and unlinkat into correct files
22803         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
22804         compiled.
22805         * lib/openat.c (fstatat, unlinkat): Move...
22806         * lib/fstatat.c (fstatat): ...into correct files.
22807         * lib/unlinkat.c (unlinkat): Likewise.
22808
22809         openat: fix unlinkat bugs on Solaris 9
22810         * lib/unlinkat.c (unlinkat): New file.
22811         * modules/openat (Depends-on): Add unlink.
22812         (Files): Distribute it.
22813         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
22814         trailing slash behavior is broken.
22815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22816         * modules/unistd (Makefile.am): Substitute it.
22817         * lib/unistd.in.h (unlinkat): Declare replacement.
22818         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
22819
22820         openat: fix fstatat bugs on Solaris 9
22821         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
22822         stat.
22823         * doc/posix-functions/fstatat.texi (fstatat): Document this.
22824
22825         test-unlinkat: enhance test, to expose Solaris 9 bug
22826         * tests/test-unlink.c (main): Factor guts...
22827         * tests/test-unlink.h (test_rmdir_func): ...into new file.
22828         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
22829         * tests/test-rmdir.c (main): Adjust caller.
22830         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
22831         (unlinker): New helper function.
22832         (rmdirat): Enhance check.
22833         * modules/rmdir-tests (Depends-on): Add stdbool.
22834         * modules/unlink-tests (Depends-on): Likewise.
22835         (Files): Add test-unlink.h.
22836         * modules/openat-tests (Files): Likewise.
22837         (Depends-on): Add unlinkdir.
22838
22839         test-fstatat: new test, to expose Solaris 9 bugs
22840         * tests/test-stat.c (main): Factor guts...
22841         * tests/test-stat.h (test_stat_func): ...into new file.
22842         * tests/test-lstat.c (main): Factor guts...
22843         * tests/test-lstat.h (test_lstat_func): ...into new file.
22844         * tests/test-fstatat.c: New file.
22845         * modules/stat-tests (Files): Add test-stat.h.
22846         * modules/lstat-tests (Files): Add test-lstat.h.
22847         (Depends-on): Add stdbool.
22848         * modules/openat-tests (Depends-on): Add pathmax.
22849         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
22850         (Makefile.am): Run new test.
22851
22852         remove: new module, for mingw and Solaris 9 bugs
22853         * modules/remove: New file.
22854         * lib/remove.c: Likewise.
22855         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
22856         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
22857         * modules/stdio (Makefile.am): Use them.
22858         * lib/stdio.in.h (remove): Declare replacement.
22859         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22860         * doc/posix-functions/remove.texi (remove): Likewise.
22861         * modules/remove-tests: New test.
22862         * tests/test-remove.c: Likewise.
22863
22864         unlink: new module, for Solaris 9 bug
22865         * modules/unlink: New file.
22866         * lib/unlink.c: Likewise.
22867         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
22869         * modules/unistd (Makefile.am): Use them.
22870         * lib/unistd.in.h (stat): Declare replacement.
22871         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22872         * doc/posix-functions/unlink.texi (unlink): Likewise.
22873         * modules/unlink-tests: New test.
22874         * tests/test-unlink.c: Likewise.
22875
22876         lstat: fix Solaris 9 bug
22877         * lib/lstat.c (lstat): Also check for trailing slash on
22878         non-symlink, non-directories.  Use stat module to simplify logic.
22879         * doc/posix-functions/lstat.texi (lstat): Document it.
22880         * modules/lstat-tests (Depends-on): Add errno, same-inode.
22881         (configure.ac): Check for symlink.
22882         * tests/test-lstat.c (main): Add more tests.
22883
22884         stat: add as dependency to other modules
22885         * modules/chown (Depends-on): Add stat.
22886         * modules/euidaccess (Depends-on): Likewise.
22887         * modules/fchdir (Depends-on): Likewise.
22888         * modules/isdir (Depends-on): Likewise.
22889         * modules/link (Depends-on): Likewise.
22890         * modules/lstat (Depends-on): Likewise.
22891         * modules/mkdir-p (Depends-on): Likewise.
22892         * modules/modechange (Depends-on): Likewise.
22893         * modules/open (Depends-on): Likewise.
22894         * modules/readlink (Depends-on): Likewise.
22895         * modules/same (Depends-on): Likewise.
22896
22897         stat: fix Solaris 9 bug
22898         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
22899         slash.
22900         * lib/stat.c (rpl_stat): Work around it.
22901         * doc/posix-functions/stat.texi (stat): Update documentation.
22902
22903         stat: new module, for mingw bug
22904         * modules/stat: New file.
22905         * lib/stat.c: Likewise.
22906         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22907         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
22908         * modules/sys_stat (Makefile.am): Use them.
22909         * lib/sys_stat.in.h (stat): Declare replacement.
22910         * lib/openat.c (fstatat): Deal with lstat and stat being function
22911         macros.
22912         * modules/openat (Depends-on): Add inline.
22913         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
22914         * doc/posix-functions/stat.texi (stat): Likewise.
22915         * modules/stat-tests: New test.
22916         * tests/test-stat.c: Likewise.
22917
22918 2009-09-19  Jim Meyering  <meyering@redhat.com>
22919
22920         syntax-check: detect unnecessary inclusion of canonicalize.h
22921         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
22922
22923 2009-09-19  Eric Blake  <ebb9@byu.net>
22924
22925         canonicalize-lgpl: adjust clients to use correct header
22926         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22927         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
22928         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
22929         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
22930         * lib/progreloc.c (includes): Likewise.
22931
22932 2009-09-19  Jim Meyering  <meyering@redhat.com>
22933
22934         test-posixtm.c: correct a comment
22935         * tests/test-posixtm.c: Correct first-line comment.
22936         Spotted by Eric Blake.
22937
22938 2009-09-16  Jim Meyering  <meyering@redhat.com>
22939
22940         posixtm-tests: make T const-correct; add a test case
22941         * tests/test-posixtm.c (T): Declare const.
22942         Add a test for -(2^31+1).
22943         Remove useless can-succeed-only-in-2002 test.
22944
22945         posixtm-tests: adjust the sole failing test
22946         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
22947         expected output matches what mktime now produces.  Cross-checked via
22948         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
22949
22950         posixtm: move #ifdef'd tests into a new module
22951         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
22952         * tests/test-posixtm.c: ... this new file.
22953         * modules/posixtm-tests: New module.
22954
22955 2009-09-19  Eric Blake  <ebb9@byu.net>
22956
22957         openat: simplify use of at-func.c
22958         * lib/at-func.c (includes): Include prerequisites here, to
22959         simplify requirements on client files.
22960         * lib/openat-priv.h: Add double-inclusion guard.
22961         * lib/faccessat.c (includes): Simplify.
22962         * lib/fchmodat.c (includes): Likewise.
22963         * lib/fchownat.c (includes): Likewise.
22964         * lib/mkdirat.c (includes): Likewise.
22965         * lib/mkfifoat.c (includes): Likewise.
22966         * lib/symlinkat.c (includes): Likewise.
22967
22968         openat: allow return of fd 0
22969         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
22970         * modules/save-cwd (Depends-on): Replace fcntl-safer with
22971         unistd-safer.
22972         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
22973         <fcntl.h>; this module does not leak fds.
22974         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
22975         must be allowed to return 0, leaving openat_safer to add the
22976         safety.
22977         (openat_permissive): Avoid writing to just-opened fd 2 if
22978         restoring the current directory fails.
22979         * lib/openat-die.c (openat_restore_fail): Add comment.
22980         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
22981         (save_cwd): Guarantee safe fd, but without use of open_safer.
22982         * tests/test-openat.c: New test.
22983         * modules/openat-tests (Files, Makefile.am): Distribute and build
22984         new file.
22985
22986         relocatable-prog-wrapper: fix build
22987         * modules/relocatable-prog-wrapper (Files): Update name of
22988         canonicalize m4 file, broken on 2009-09-17.
22989         Reported by emad hajjar <aleppos@hotmail.com>.
22990
22991 2009-09-19  Bruno Haible  <bruno@clisp.org>
22992
22993         * lib/safe-alloc.h: Use the standard header with GPL copyright.
22994         * lib/safe-alloc.c: Likewise.
22995         Reported by Ian Beckwith <ianb@erislabs.net>.
22996
22997 2009-09-18  Bruno Haible  <bruno@clisp.org>
22998
22999         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
23000         Reported by <erobles@sensacd.com.mx>.
23001
23002 2009-09-17  Eric Blake  <ebb9@byu.net>
23003
23004         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
23005         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
23006         slashes when checking if last component is missing.
23007         * tests/test-canonicalize.c (main): Test this.
23008
23009         canonicalize, canonicalize-lgpl: honor // if distinct from /
23010         * modules/canonicalize (Files): Add double-slash-root.m4.
23011         * modules/canonicalize-lgpl (Files): Likewise.
23012         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
23013         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
23014         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
23015         fallback definition.
23016         (canonicalize_filename_mode): Use it to protect //.
23017         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
23018         (__realpath): Likewise.
23019         * tests/test-canonicalize.c (main): Test this.
23020         * tests/test-canonicalize-lgpl.c (main): Likewise.
23021         * modules/canonicalize-tests (Depends-on): Add same-inode.
23022         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
23023
23024         canonicalize-lgpl: fix glibc bug with trailing slash
23025         * m4/canonicalize-lgpl.m4: Move contents...
23026         * m4/canonicalize.m4: ...here.
23027         (gl_CANONICALIZE_LGPL): Factor realpath check...
23028         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
23029         glibc 2.3.5 bug, fixed 2005-04-27.
23030         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
23031         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
23032         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
23033         * modules/canonicalize-lgpl (Files): Manage file rename.
23034         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23035         * modules/stdlib (Makefile.am): Substitute witness.
23036         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
23037         is needed.
23038         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
23039         replacement is required.
23040         * lib/canonicalize.c (canonicalize_file_name): Likewise.
23041         * doc/glibc-functions/canonicalize_file_name.texi
23042         (canonicalize_file_name): Document this.
23043         * doc/posix-functions/realpath.texi (realpath): Likewise.
23044
23045         canonicalize-lgpl: reject non-directory with trailing slash
23046         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
23047         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
23048         catches failures in glibc 2.3.5.
23049         * tests/test-canonicalize.c (main): Likewise.
23050
23051         canonicalize-lgpl: use native realpath if it works
23052         * lib/canonicalize-lgpl.c (realpath): Guard with
23053         FUNC_REALPATH_WORKS.
23054         * lib/stdlib.in.h (realpath): Make declaration optional based on
23055         HAVE_REALPATH.
23056         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
23057         native realpath works.
23058         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
23059         * modules/stdlib (Makefile.am): Substitute witness.
23060
23061         canonicalize, canonicalize-lgpl: use <stdlib.h>
23062         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
23063         (Include): Mention <stdlib.h>.
23064         (configure.ac): Mention functions we provide.
23065         * modules/canonicalize (configure.ac): Likewise.
23066         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
23067         realpath if canonicalize_file_name is missing.
23068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
23069         * modules/stdlib (Makefile.am): Substitute witnesses.
23070         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
23071         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
23072         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
23073         * NEWS: Document this.
23074         * doc/glibc-functions/canonicalize_file_name.texi
23075         (canonicalize_file_name): Likewise.
23076         * doc/posix-functions/realpath.texi (realpath): Likewise.
23077         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
23078
23079         test-canonicalize: consolidate into single C program
23080         * tests/test-canonicalize.sh: Delete; move setup into...
23081         * tests/test-canonicalize.c (main): ...the program, making it
23082         easier to run in debugger.  Add some tests.
23083         * modules/canonicalize-tests (Files): Remove unused file.
23084         (Depends-on): Add progname.
23085         (configure.ac, Makefile.am): Simplify.
23086
23087         test-canonicalize-lgpl: consolidate into single C program
23088         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
23089         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
23090         easier to run in debugger.  Add some tests.
23091         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
23092         (configure.ac, Makefile.am): Simplify.
23093
23094         canonicalize: avoid resolvepath
23095         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
23096         unnecessary checks.
23097         * lib/canonicalize.c (includes): Simplify.
23098         (canonicalize_file_name): Drop resolvepath implementation.
23099         * modules/canonicalize (Depends-on): Drop filenamecat.
23100
23101         canonicalize: don't lose errno
23102         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
23103         over calls to free.
23104
23105         canonicalize: simplify errno handling
23106         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
23107         assignment.
23108
23109         canonicalize, canonicalize-lgpl: update module dependencies
23110         * modules/canonicalize (Depends-on): Add extensions, lstat,
23111         pathmax, stdlib.
23112         (Files): Drop pathmax.h.
23113         (configure.ac): Adjust macro name.
23114         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
23115         lstat, stdlib, sys_stat.
23116         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
23117         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
23118         extensions.
23119         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
23120         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
23121         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
23122         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
23123         declaration, if available.
23124         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
23125         we can rely on the readlink module.
23126         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
23127         (includes): Use <unistd.h> unconditionally.
23128
23129 2009-09-17  Eric Blake  <ebb9@byu.net>
23130
23131         maint: make Include sections of modules consistent
23132         * modules/alloca: Use only header name; no need to list #include.
23133         * modules/alloca-opt: Likewise.
23134         * modules/arpa_inet: Likewise.
23135         * modules/canon-host: Likewise.
23136         * modules/configmake: Likewise.
23137         * modules/dirent: Likewise.
23138         * modules/eealloc: Likewise.
23139         * modules/environ: Likewise.
23140         * modules/fchdir: Likewise.
23141         * modules/fcntl: Likewise.
23142         * modules/fcntl-h: Likewise.
23143         * modules/gethrxtime: Likewise.
23144         * modules/gettime: Likewise.
23145         * modules/ignore-value: Likewise.
23146         * modules/inet_ntop: Likewise.
23147         * modules/inet_pton: Likewise.
23148         * modules/inttypes: Likewise.
23149         * modules/isnand-nolibm: Likewise.
23150         * modules/isnanf-nolibm: Likewise.
23151         * modules/mbchar: Likewise.
23152         * modules/mbfile: Likewise.
23153         * modules/mbiter: Likewise.
23154         * modules/mbuiter: Likewise.
23155         * modules/netdb: Likewise.
23156         * modules/netinet_in: Likewise.
23157         * modules/nproc: Likewise.
23158         * modules/pagealign_alloc: Likewise.
23159         * modules/poll: Likewise.
23160         * modules/printf-frexp: Likewise.
23161         * modules/pthread: Likewise.
23162         * modules/putenv: Likewise.
23163         * modules/random_r: Likewise.
23164         * modules/relocatable-prog: Likewise.
23165         * modules/search: Likewise.
23166         * modules/select: Likewise.
23167         * modules/selinux-h: Likewise.
23168         * modules/settime: Likewise.
23169         * modules/signal: Likewise.
23170         * modules/size_max: Likewise.
23171         * modules/socklen: Likewise.
23172         * modules/ssize_t: Likewise.
23173         * modules/stdarg: Likewise.
23174         * modules/stdbool: Likewise.
23175         * modules/stddef: Likewise.
23176         * modules/stdint: Likewise.
23177         * modules/stdio: Likewise.
23178         * modules/stdlib: Likewise.
23179         * modules/string: Likewise.
23180         * modules/strings: Likewise.
23181         * modules/sys_file: Likewise.
23182         * modules/sys_ioctl: Likewise.
23183         * modules/sys_select: Likewise.
23184         * modules/sys_socket: Likewise.
23185         * modules/sys_stat: Likewise.
23186         * modules/sys_time: Likewise.
23187         * modules/sys_times: Likewise.
23188         * modules/sys_utsname: Likewise.
23189         * modules/sys_wait: Likewise.
23190         * modules/sysexits: Likewise.
23191         * modules/time: Likewise.
23192         * modules/times: Likewise.
23193         * modules/tmpfile: Likewise.
23194         * modules/trim: Likewise.
23195         * modules/unistd: Likewise.
23196         * modules/wchar: Likewise.
23197         * modules/wctype: Likewise.
23198
23199 2009-09-17  Bruno Haible  <bruno@clisp.org>
23200
23201         Make getdate.y compile on QNX and NetBSD 5 / i386.
23202         * m4/getdate.m4 (gl_GETDATE): Conditionally define
23203         TIME_T_FITS_IN_LONG_INT.
23204         * lib/getdate.y (long_time_t): New type.
23205         (relative_time): Change type of 'seconds' field to long_time_t.
23206         (get_date): Update types of local variables. Check against overflow
23207         during conversion from long_time_t to time_t.
23208         Reported by Matt Kraai <kraai@ftbfs.org>
23209         and Hasso Tepper <hasso@netbsd.org>.
23210
23211 2009-09-17  Bruno Haible  <bruno@clisp.org>
23212
23213         * modules/COPYING: Update copyright years.
23214         * modules/README: Likeiwse.
23215         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
23216         Reported by Ian Beckwith <ianb@erislabs.net>.
23217
23218 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23219
23220         * users.txt: Update references for gnuit package.
23221
23222 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
23223
23224         * m4/getdelim.m4: Fix typo in copyright line.
23225
23226 2009-09-17  Bruno Haible  <bruno@clisp.org>
23227
23228         * lib/atoll.c: Use the standard header with GPL copyright.
23229         * lib/argz.in.h: Likewise.
23230         * lib/glob.c: Likewise.
23231         * lib/glob-libc.h: Likewise.
23232         * lib/random_r.c: Likewise.
23233         * lib/siglist.h: Likewise.
23234         * lib/strsignal.c: Likewise.
23235         Reported by Ian Beckwith <ianb@erislabs.net>.
23236
23237 2009-09-17  Eric Blake  <ebb9@byu.net>
23238
23239         rmdir: ensure correct dependency order
23240         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
23241
23242 2009-09-17  Bruno Haible  <bruno@clisp.org>
23243
23244         Disable assertion that fails on NetBSD 5 / i386.
23245         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
23246         Reported by Sam Steingold <sds@gnu.org>
23247         and Hasso Tepper <hasso@netbsd.org>.
23248
23249 2009-09-16  Eric Blake  <ebb9@byu.net>
23250
23251         unlinkdir: port to mingw
23252         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
23253         on which no one can unlink a directory.
23254
23255         stdlib: sort witness names
23256         * modules/stdlib (Makefile.am): Sort replacements.
23257         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
23258         * lib/stdlib.in.h: Likewise.
23259
23260         parse-duration-tests: avoid link failure
23261         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
23262         LIBINTL.
23263         Reported by Tom G. Christensen.
23264
23265         openat-tests: ensure unlinkat behaves like rmdir
23266         * tests/test-rmdir.c (main): Factor guts...
23267         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
23268         * modules/rmdir-tests (Files): Ship new file.
23269         * modules/openat-tests: New test.
23270         * tests/test-unlinkat.c: Likewise.
23271
23272         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
23273         * modules/rmdir-errno (Status, Notice): Now obsolete.
23274
23275         rmdir: work around cygwin 1.5.x and mingw bugs
23276         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
23277         * lib/rmdir.c (rmdir): Work around it.
23278         * modules/rmdir (Status, Notice): No longer obsolete.
23279         (Files): Add dos.m4.
23280         (Depends-on): Add unistd.
23281         (configure.ac): Set witnesses.
23282         (License): Relax to LGPLv2+.
23283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
23284         * modules/unistd (Makefile.am): Substitute witnesses.
23285         * lib/unistd.in.h (rmdir): Declare replacement.
23286         * doc/posix-functions/rmdir.texi (rmdir): Document this.
23287         * modules/rmdir-tests: New tests.
23288         * tests/test-rmdir.c: Likewise.
23289
23290 2009-09-15  Eric Blake  <ebb9@byu.net>
23291
23292         fchdir: improve use of replacement functions
23293         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
23294         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
23295         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
23296         REPLACE_CLOSEDIR.
23297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
23298         * modules/sys_stat (Makefile.am): Substitute correct witness.
23299         * modules/dirent (Makefile.am): Likewise.
23300         * modules/unistd (Makefile.am): Likewise.
23301         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
23302         * lib/unistd.in.h (dup): Likewise.
23303         * lib/sys_stat.in.h (fstat): Likewise.
23304
23305         maint: ignore gnulib-tool temp files
23306         * .gitignore: Ignore files created during gnulib-tool --test.
23307
23308 2009-09-13  Jim Meyering  <meyering@redhat.com>
23309
23310         posixtm: don't reject a time that specify "60" as the number of seconds
23311         * lib/posixtm.c (posixtime): The code to reject invalid dates
23312         would also reject a time specified with the .60 suffix.
23313         But POSIX allows that, in order to accommodate leap seconds.
23314         So don't reject it.
23315         (main): Adjust tests accordingly.
23316         * modules/posixtm (Depends-on): Add stpcpy.
23317
23318 2009-09-11  Jim Meyering  <meyering@redhat.com>
23319
23320         announce-gen: include [$release_type] in emitted Subject:
23321         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
23322         e.g., [stable] in the emitted Subject: line.
23323
23324 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23325
23326         Remove obsolete macros from several modules.
23327         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
23328         obsolete Autoconf macros with their modern counterparts.
23329         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
23330         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
23331         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
23332         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
23333         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
23334         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
23335         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
23336         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
23337         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
23338         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
23339         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
23340         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
23341         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
23342         * m4/sockets.m4 (gl_SOCKETS): Likewise.
23343         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
23344         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
23345         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
23346         * m4/time_r.m4 (gl_TIME_R): Likewise.
23347         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
23348         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
23349         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
23350
23351         Fix copyright header in build-aux scripts.
23352         * build-aux/git-version-gen: Fix copyright header to match GPLv3
23353         recommendation.
23354         * build-aux/ncftpput-ftp: Likewise.
23355         * build-aux/update-copyright: Likewise.
23356
23357 2009-09-09  Eric Blake  <ebb9@byu.net>
23358
23359         test-link: allow Linux choice of errno
23360         * tests/test-link.c (main): Relax test for alternate error.
23361
23362         strndup: fix improper m4 caching
23363         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
23364         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
23365         (gl_PREREQ_STRNDUP): Delete.
23366         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
23367         * modules/string (Makefile.am): Substitute it.
23368         * lib/string.in.h (strndup): Modernize prototype.
23369
23370         getcwd: port to mingw
23371         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
23372         different from the POSIX assumptions made throughout the getcwd
23373         module; fortunately, the mingw getcwd does not need replacement.
23374         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
23375         * modules/getcwd-tests: New test.
23376         * tests/test-getcwd.c: Likewise.
23377
23378         link: fix platform bugs
23379         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
23380         * lib/link.c (link): Work around them.  Fix related mingw bug.
23381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
23382         * modules/unistd (Makefile.am): Substitute it.
23383         * lib/unistd.in.h (link): Declare replacement.
23384         * doc/posix-functions/link.texi (link): Document this.
23385         * modules/link (Depends-on): Add strdup-posix, sys_stat.
23386
23387         test-link: consolidate into single C program, test more cases
23388         * tests/test-link.sh: Delete.
23389         * tests/test-link.c: Test more error conditions.  Exposes bugs on
23390         at least Cygwin and Solaris.
23391         * modules/link-tests (Files): Remove unused file.
23392         (Depends-on): Add errno, sys_stat.
23393         (Makefile.am): Simplify.
23394
23395 2009-09-08  Bruno Haible  <bruno@clisp.org>
23396
23397         Work around towlower, towupper bug on mingw.
23398         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
23399         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
23400         * doc/posix-functions/towlower.texi: Mention the mingw bug.
23401         * doc/posix-functions/towupper.texi: Likewise.
23402         Reported by Eric Blake.
23403
23404 2009-09-08  Jim Meyering  <meyering@redhat.com>
23405
23406         build: don't try to run autoheader if we don't use it
23407         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
23408         is not used in configure.ac.
23409
23410 2009-09-08  Eric Blake  <ebb9@byu.net>
23411
23412         euidaccess: fix compilation error
23413         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
23414
23415         rawmemchr: relax license
23416         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
23417         okay.
23418         Reported by Jim Meyering.
23419
23420         mkfifoat: new module
23421         * modules/mkfifoat: New file.
23422         * lib/mkfifoat.c: Likewise.
23423         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
23424         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23425         * modules/sys_stat (Makefile.am): Use them.
23426         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
23427         * MODULES.html.sh (File system functions): Mention module.
23428         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23429         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23430         * modules/mkfifoat-tests: New test.
23431         * tests/test-mkfifoat.c: Likewise.
23432
23433         strchrnul: relax license
23434         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
23435         okay.
23436         Reported by Jim Meyering.
23437
23438 2009-09-08  Eric Blake  <ebb9@byu.net>
23439
23440         fstatat: fix compilation on Solaris
23441         * lib/fstatat.c (includes): Add fcntl.h.
23442         Reported by Pádraig Brady.
23443
23444 2009-09-07  Eric Blake  <ebb9@byu.net>
23445
23446         rename: modernize replacement
23447         * modules/rename (Depends-on): Add stdio.
23448         (configure.ac): Declare witness.
23449         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
23450         stdio take care of replacement.
23451         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
23452         * modules/stdio (Makefile.am): Substitute them.
23453         * lib/stdio.in.h (rename): Declare replacement.
23454         * lib/rename.c (includes): Allow cross-compilation to non-windows
23455         machines.
23456         * doc/posix-functions/rename.texi (rename): Improve
23457         documentation.
23458
23459         stdio: sort witness names
23460         * modules/stdio (Makefile.am): Sort replacements.
23461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23462         * lib/stdio.in.h: Likewise.
23463
23464         getcwd: minor cleanups
23465         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
23466         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
23467
23468         openat: provide more convenience names
23469         * modules/faccessat (configure.ac): Add C witness.
23470         * lib/unistd.in.h (readlinkat): Fix typo.
23471         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
23472         convenience wrappers.
23473         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
23474         wrappers in syntax checks.
23475
23476 2009-09-06  Eric Blake  <ebb9@byu.net>
23477
23478         doc: fix comments in recent patches
23479         * lib/faccessat.c: Mention correct function.
23480         * lib/fchmodat.c: Likewise.
23481         * lib/fchownat.c: Likewise.
23482         * lib/symlinkat.c: Likewise.
23483         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
23484         constants.
23485
23486         faccessat, symlinkat: continue cleanup of previous patch
23487         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
23488         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23489         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
23490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
23491         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
23492         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
23493         set.
23494
23495 2009-09-06  Bruno Haible  <bruno@clisp.org>
23496
23497         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
23498         (fstatat): Declare if GNULIB_FSTATAT is set.
23499         (mkdirat): Declare if GNULIB_MKDIRAT is set.
23500         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
23501         (unlinkat): Declare if GNULIB_UNLINKAT is set.
23502         * modules/fcntl-h (Files): Remove m4/openat.m4.
23503         * modules/sys_stat (Files): Remove m4/openat.m4.
23504         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
23505         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
23506         * modules/unistd (Files): Remove m4/openat.m4.
23507         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
23508         GNULIB_OPENAT.
23509         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
23510         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
23511         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23512         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
23513         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
23514         gl_OPENAT_DEFAULTS.
23515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
23516         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
23517         Don't require gl_OPENAT_DEFAULTS.
23518         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
23519         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
23520         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
23521         (gl_OPENAT_DEFAULTS): Remove macro.
23522
23523 2009-09-06  Bruno Haible  <bruno@clisp.org>
23524
23525         * modules/openat (configure.ac): Remove unneeded witness.
23526
23527 2009-09-06  Bruno Haible  <bruno@clisp.org>
23528
23529         Set errno to ENOSYS when a function is entirely unsupported.
23530         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
23531         EOPNOTSUPP.
23532         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23533         * modules/chown (Depends-on): Remove errno.
23534
23535 2009-09-06  Bruno Haible  <bruno@clisp.org>
23536
23537         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
23538
23539 2009-09-06  Bruno Haible  <bruno@clisp.org>
23540
23541         * lib/sys_stat.in.h: Fix preprocessor command indentation.
23542
23543 2009-09-06  Ben Pfaff  <blp@gnu.org>
23544             Bruno Haible  <bruno@clisp.org>
23545
23546         Work around a glibc bug in strtok_r.
23547         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
23548         Undefine if UNDEFINE_STRTOK_R is set.
23549         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
23550         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
23551         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
23552         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
23553         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
23554         UNDEFINE_STRTOK_R.
23555         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
23556
23557 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
23558
23559         exclude: minor fix
23560         * lib/exclude.c: Include wctype.h
23561
23562 2009-09-06  Akim Demaille  <demaille@gostai.com>
23563
23564         bootstrap: improve error message
23565         * build-aux/bootstrap (find_tool): Upon failure, report the list
23566         of candidates.
23567         Honor the initial value of the envvar.
23568
23569 2009-09-05  Eric Blake  <ebb9@byu.net>
23570
23571         symlinkat: new module
23572         * modules/symlinkat: New file.
23573         * lib/symlinkat.c: Likewise.
23574         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
23575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23576         * modules/unistd (Makefile.am): Use them.
23577         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
23578         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
23579         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
23580         * MODULES.html.sh (File system functions): Mention module.
23581         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23582         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23583         * modules/symlinkat-tests: New test.
23584         * tests/test-symlinkat.c: Likewise.
23585
23586         test-openat-safer: add more checks
23587         * tests/test-openat-safer.c (main): Check more code paths.
23588
23589 2009-09-05  Jim Meyering  <meyering@redhat.com>
23590
23591         syntax-check: detect unnecessary inclusion of openat.h
23592         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
23593
23594 2009-09-05  Bruno Haible  <bruno@clisp.org>
23595
23596         Support towlower, towupper.
23597         * doc/posix-functions/towlower.texi: Mention module wctype.
23598         * doc/posix-functions/towupper.texi: Likewise.
23599         * lib/wctype.in.h (towlower, towupper): New functions.
23600         * tests/test-wctype.c: Include stdio.h, stdlib.h.
23601         (ASSERT): New macro.
23602         (e): New variable.
23603         (main): Test also towlower, towupper. Test WEOF argument.
23604         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
23605
23606 2009-09-05  Bruno Haible  <bruno@clisp.org>
23607
23608         Fix conversion behaviour when the input is invalid.
23609         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
23610         mark occurring in first pass of indirect conversion.
23611         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
23612         input.
23613         Found by clang's static analyzer.
23614
23615 2009-09-05  Bruno Haible  <bruno@clisp.org>
23616
23617         * tests/test-striconveh.c (main): Test indirect conversion on platforms
23618         where direct conversion is possible.
23619
23620 2009-09-04  Eric Blake  <ebb9@byu.net>
23621
23622         openat: fail with ENOENT on empty name
23623         * lib/openat-proc.c (openat_proc_name): Special-case the empty
23624         buffer.
23625
23626         link-follow: fix logic bug in prior patch
23627         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
23628         reversed sense of yes and no in prior patch.  Avoid confusing
23629         compilation failure with desired semantics.
23630
23631         link-follow: accomodate mingw and cross-compilation
23632         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
23633         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
23634         cross-compilation results to -1, to make linkat easier to
23635         implement when cross-compiling.  Trivially support mingw.
23636         * modules/link-follow (configure.ac): Call new name.
23637         * NEWS: Mention this.
23638
23639 2009-09-03  Eric Blake  <ebb9@byu.net>
23640
23641         faccessat: compile replacement
23642         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
23643         needed.
23644
23645         fts: fix compilation error
23646         * lib/fts.c (includes): Re-add "openat.h", for
23647         openat_needs_fchdir.
23648
23649         faccessat: new module
23650         * modules/faccessat: New file.
23651         * lib/faccessat.c: Likewise.
23652         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
23653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23654         * modules/unistd (Makefile.am): Use it.
23655         * lib/unistd.in.h (faccessat): Declare it.
23656         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
23657         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
23658         * MODULES.html.sh (File system functions): Mention it.
23659         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
23660         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
23661
23662         euidaccess: prefer POSIX over non-standard implementation
23663         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
23664         * lib/euidaccess.c (euidaccess): Use it if available.
23665
23666         openat: make template easier to use
23667         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
23668         AT_FUNC_F2 to be undefined.
23669         (VALIDATE_FLAG): New macro; use it to reject bad flags.
23670         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
23671         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
23672         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
23673         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
23674         Likewise.
23675         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
23676         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
23677         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
23678         Likewise.
23679
23680         openat: declare in POSIX headers
23681         * NEWS: Mention this.
23682         * modules/openat (configure.ac): Declare witnesses.
23683         (Depends-on): Add fcntl-h, sys_stat, unistd.
23684         (Include): Mention correct headers.
23685         * modules/fcntl-h (Depends-on): Add link-warning.
23686         (Files): Add openat.m4.
23687         (Makefile.am): Substitute witnesses.
23688         * modules/sys_stat (Files, Makefile.am): Likewise.
23689         * modules/unistd (Files, Makefile.am): Likewise.
23690         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
23691         (gl_OPENAT_DEFAULTS): New macro.
23692         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
23693         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
23694         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
23695         (SYS_STAT_H): Remove unused variable.
23696         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
23697         * lib/fcntl--.h (includes): Remove unneeded header.
23698         * lib/openat-safer.c (includes): Likewise.
23699         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
23700         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
23701         appropriate headers.
23702         (__OPENAT_PREFIX): Delete.
23703         * lib/fcntl.in.h (openat): Provide declaration.
23704         (AT_FDCWD): Fix Solaris bug.
23705         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
23706         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
23707         * lib/fchmodat.c (includes):  Adjust to find declaration.
23708         * lib/fchownat.c (includes): Likewise.
23709         * lib/mkdirat.c (includes): Likewise.
23710         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
23711         still visible.
23712
23713 2009-09-02  Eric Blake  <ebb9@byu.net>
23714
23715         errno: use consistently
23716         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
23717         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
23718         * lib/canonicalize.c (ELOOP): Likewise.
23719         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
23720         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
23721         * lib/lchown.c (EOPNOTSUPP): Likewise.
23722         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
23723         * lib/savewd.c (ESTALE): Likewise.
23724         * lib/settime.c (ENOSYS): Likewise.
23725         * lib/utimens.c (ENOSYS): Likewise.
23726         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
23727         * lib/chdir-safer.c (ELOOP): Likewise.
23728         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
23729         * modules/c-stack (Depends-on): Add errno.
23730         * modules/canonicalize (Depends-on): Likewise.
23731         * modules/chdir-safer (Depends-on): Likewise.
23732         * modules/fdopendir (Depends-on): Likewise.
23733         * modules/inet_ntop (Depends-on): Likewise.
23734         * modules/inet_pton (Depends-on): Likewise.
23735         * modules/lchown (Depends-on): Likewise.
23736         * modules/openat (Depends-on): Likewise.
23737         * modules/savewd (Depends-on): Likewise.
23738         * modules/settime (Depends-on): Likewise.
23739         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
23740
23741         fts: avoid leaking fds
23742         * modules/fts (Depends-on): Add cloexec.
23743         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
23744         flag.
23745
23746         fts: make directory fds more robust
23747         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
23748         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
23749
23750         backupfile, chdir-long, fts, savedir: make safer
23751         * lib/backupfile.c (includes): Use "dirent--.h", since
23752         numbered_backup can write to stderr during readdir.
23753         * lib/savedir.c (includes): Likewise.
23754         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
23755         emulation can write to stderr on failure.
23756         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
23757         * lib/getcwd.c: Document why opendir_safer is unused.
23758         * lib/glob.c: Likewise.
23759         * lib/scandir.c: Likewise.
23760         * lib/openat-proc.c: Likewise, for open_safer.
23761         * modules/backupfile (Depends-on): Add dirent-safer.
23762         * modules/savedir (Depends-on): Likewise.
23763         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
23764         * modules/chdir-long (Depends-on): Add openat-safer.
23765
23766         openat-safer: new module
23767         * modules/openat-safer: New file.
23768         * lib/openat-safer.c: Likewise.
23769         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
23770         * lib/fcntl-safer.h (openat_safer): Declare.
23771         * lib/fcntl--.h (openat): Override.
23772         * MODULES.html.sh (File descriptor based I/O): Mention it.
23773         * lib/openat.h: Add double-inclusion guards.
23774         * lib/openat.c (includes): Only include "fcntl-safer.h", not
23775         "fcntl--.h", so we can implement openat.
23776         * modules/openat-safer-tests: New test.
23777         * tests/test-openat-safer.c: New file.
23778
23779         dirent-safer: new module
23780         * modules/dirent-safer: New file.
23781         * lib/dirent--.h: Likewise.
23782         * lib/dirent-safer.h: Likewise.
23783         * lib/opendir-safer.c: Likewise.
23784         * m4/dirent-safer.m4: Likewise.
23785         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
23786         * modules/dirent-safer-tests: New test.
23787         * tests/test-dirent-safer.c: New file.
23788         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
23789
23790         fdopendir: optimize on mingw
23791         * lib/unistd.in.h (_gl_directory_name): New prototype.
23792         * lib/fchdir.c (_gl_directory_name): Implement it.
23793         (fchdir): Use it to simplify implementation.
23794         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
23795         fchdir, when available, to avoid calling [f]chdir().
23796
23797         fdopendir: split into its own module
23798         * lib/openat.c (fdopendir): Move...
23799         * lib/fdopendir.c: ...into new file.
23800         * modules/fdopendir: New module.
23801         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
23802         * modules/openat (Depends-on): Add fdopendir.
23803         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
23804         fdopendir here.
23805         * modules/savedir (Depends-on): Only need fdopendir, not full
23806         openat.
23807         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
23808         * lib/openat.h (fdopendir): Drop prototype.
23809         * lib/dirent.in.h (fdopendir): Provide prototype.
23810         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
23811         * modules/dirent (Makefile.am): Substitute them.
23812         * MODULES.html.sh (File system functions): Mention it.
23813         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
23814         * modules/fdopendir-tests: New file.
23815         * tests/test-fdopendir.c: Likewise.
23816
23817         fchdir: use more consistent macro convention
23818         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
23819         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
23820         REPLACE_FCHDIR, rather than relying on config.h macros.
23821         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
23822         inside a single make-time REPLACE_FCHDIR block, rather than using
23823         the config.h FCHDIR_REPLACEMENT.
23824         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
23825         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
23826         Manage fstat replacement.
23827         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
23828         REPLACE_FCHDIR.
23829         * modules/sys_stat (Files): Add m4/unistd_h.m4.
23830         (Makefile.am): Substitute REPLACE_FCHDIR.
23831         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
23832         FCHDIR_REPLACEMENT.
23833         * lib/dup-safer.c (dup_safer): Likewise.
23834         * lib/dup2.c (rpl_dup2): Likewise.
23835         * lib/dup3.c (rpl_dup3): Likewise.
23836         * lib/open.c (rpl_open): Likewise.
23837
23838         fchdir: simplify error handling, and support dup3
23839         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
23840         stdbool, malloc-posix, realloc-posix.
23841         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
23842         (ensure_dirs_slot): Return false on allocation failure.
23843         (rpl_dup2): Delete.
23844         (_gl_register_dup): New function.
23845         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
23846         (_gl_register_fd): Close fd on allocation failure.
23847         * lib/fcntl.in.h (_gl_register_fd): Update signature.
23848         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
23849         prototype.
23850         (rpl_dup2_fchdir): Delete prototype.
23851         * lib/open.c (open): Update caller.
23852         * lib/dup2.c (dup2): Track fchdir metadata.
23853         * lib/dup3.c (dup3): Likewise.
23854         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
23855         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
23856
23857 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23858
23859         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
23860         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
23861         don't pass arguments to AC_OUTPUT.
23862
23863 2009-09-02  Bruno Haible  <bruno@clisp.org>
23864
23865         * modules/mkdtemp (License): Relicense under LGPLv2+.
23866         Reported by Paolo Bonzini.
23867
23868 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23869
23870         Replace uses of obsolete autoconf macros in Jim's modules.
23871         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
23872         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
23873         can evoke a warning from autoconf when run with -Wobsolete
23874         enabled.  They were declared obsolete for good reasons (see
23875         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
23876         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
23877         should not continue using the deprecated macros.
23878         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
23879         obsolete Autoconf macros with modern counterparts.
23880         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
23881         * m4/dos.m4 (gl_AC_DOS): Likewise.
23882         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
23883         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
23884         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
23885         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
23886         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
23887         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
23888         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
23889         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
23890         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
23891         Likewise.
23892         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
23893         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
23894         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
23895         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
23896         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
23897         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
23898
23899 2009-09-01  Eric Blake  <ebb9@byu.net>
23900
23901         fchdir: fix off-by-one bug in previous patch
23902         * lib/fchdir.c (rpl_fstat): Use correct bounds.
23903         (_gl_unregister_fd): Delete useless if.
23904
23905 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
23906
23907         maint.mk: sort the list of syntax-check rules
23908         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
23909         easier to get a sense of progress when the rules are run sequentially
23910         and take a long time.
23911
23912 2009-09-01  Simon Josefsson  <simon@josefsson.org>
23913
23914         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
23915         * modules/netinet_in: Likewise.
23916         * modules/sys_file: Likewise.
23917         * modules/sys_ioctl: Likewise.
23918         * modules/sys_select: Likewise.
23919         * modules/sys_socket: Likewise.
23920         * modules/sys_stat: Likewise.
23921         * modules/sys_time: Likewise.
23922         * modules/sys_times: Likewise.
23923         * modules/sys_utsname: Likewise.
23924         * modules/sys_wait: Likewise.
23925
23926 2009-09-01  Jim Meyering  <meyering@redhat.com>
23927
23928         fts: help ensure that return values are not ignored
23929         * lib/fts_.h (__GNUC_PREREQ): Define.
23930         (__attribute_warn_unused_result__): Define.
23931         (fts_children, fts_close, fts_open, fts_read): Declare with
23932         __attribute_warn_unused_result__.
23933
23934         fts: fts_close now fails also when closing a dir file descriptor fails
23935         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
23936         and propagate to caller, along with errno.
23937
23938         announce-gen: correct formatting in --help output
23939         * build-aux/announce-gen (usage): Move the one-line description in
23940         --help output "up", to where it belongs, just after Usage:.
23941
23942 2009-08-31  Eric Blake  <ebb9@byu.net>
23943
23944         fchdir: port to mingw
23945         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
23946         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
23947         opened, then use a substitute.
23948         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
23949         replacement.
23950         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
23951         (_gl_register_fd): No need to check stat if open already filters
23952         all directories.
23953         (fchdir): Fix error condition to match POSIX.
23954         * modules/fchdir (Depends-on): Add sys_stat.
23955         * doc/posix-functions/open.texi (open): Document the limitation.
23956         * modules/fchdir-tests: New file.
23957         * tests/test-fchdir.c: Likewise.
23958
23959         canonicalize: allow cross-testing from cygwin to mingw
23960         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
23961         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
23962         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
23963         Likewise.
23964         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
23965         target does not support symlinks.
23966         * tests/test-canonicalize-lgpl.sh: Likewise.
23967
23968         chown: avoid compilation warning on mingw
23969         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
23970         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
23971         mingw.
23972         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
23973         * modules/chown (Depends-on): Add errno.
23974
23975 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23976
23977         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
23978         command.
23979
23980 2009-08-31  Jim Meyering  <meyering@redhat.com>
23981
23982         canonicalize: remove useless initialization
23983         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
23984         initialization of local, "end".
23985
23986 2009-08-30  Bruno Haible  <bruno@clisp.org>
23987
23988         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
23989         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
23990         ENOSYS.
23991
23992 2009-08-30  Bruno Haible  <bruno@clisp.org>
23993
23994         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
23995         /usr/xpg4/bin/tr when it exists.
23996         * tests/test-pipe-filter-gi1.sh: Likewise.
23997
23998 2009-08-30  Bruno Haible  <bruno@clisp.org>
23999
24000         Work around deficient /usr/bin/id program on Solaris.
24001         * tests/test-file-has-acl.sh (ID): New variable.
24002         * tests/test-set-mode-acl.sh (ID): Likewise.
24003         * tests/test-copy-acl.sh (ID): Likewise.
24004         * tests/test-copy-file.sh (ID): Likewise.
24005
24006 2009-08-30  Bruno Haible  <bruno@clisp.org>
24007
24008         New module 'xstriconveh'.
24009         * lib/xstriconveh.h: New file.
24010         * lib/xstriconveh.c: New file.
24011         * modules/xstriconveh: New file.
24012
24013 2009-08-30  Bruno Haible  <bruno@clisp.org>
24014
24015         Make it easier to use mem_cd_iconveh.
24016         * lib/striconveh.h (iconveh_t): New type.
24017         (iconveh_open, iconveh_close): New declarations.
24018         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24019         with a single 'const iconveh_t *' argument.
24020         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
24021         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
24022         with a single 'const iconveh_t *' argument.
24023         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
24024         * tests/test-striconveh.c (main): Update.
24025         * NEWS: Mention the change.
24026
24027 2009-08-30  Bruno Haible  <bruno@clisp.org>
24028
24029         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
24030         problem.
24031
24032 2009-08-30  Bruno Haible  <bruno@clisp.org>
24033
24034         Work around iconv_open problem on Solaris.
24035         * lib/iconv_open-solaris.gperf: New file.
24036         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
24037         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
24038         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
24039         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
24040         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
24041         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
24042
24043 2009-08-29  Jim Meyering  <meyering@redhat.com>
24044
24045         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
24046         * top/maint.mk (cvs-check): Remove target; it was just an alias
24047         to the better-named vc-diff-check.
24048         (maintainer-distcheck): Remove rule.  It was used only from
24049         the (alpha/beta/major) target, and all of its commands but one
24050         were coreutils-specific.
24051         (vc-dist): Remove rule.
24052         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
24053         Run vc-diff-check, not vc-dist.
24054         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
24055
24056 2009-08-27  Bruno Haible  <bruno@clisp.org>
24057
24058         * tests/test-bitrotate.c (main): Remove test that uses a shift count
24059         of 0.
24060
24061 2009-08-27  Bruno Haible  <bruno@clisp.org>
24062
24063         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
24064         compilers.
24065         * doc/func.texi: Document the SunPRO C bug.
24066
24067 2009-08-27  Bruno Haible  <bruno@clisp.org>
24068
24069         Fix link error on Solaris.
24070         * tests/test-parse-duration.c (xstrdup): Remove function.
24071
24072 2009-08-26  Pádraig Brady  <P@draigbrady.com>
24073
24074         ignore-value: handle pointer types, too
24075         * lib/ignore-value.h (__attribute__): Remove definition.
24076         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
24077         of a more concise and more-often effective "(void) i" statement.
24078         (ignore_ptr): New function to suppress warnings from functions that
24079         return pointers, and to make it explicit that one function doesn't
24080         handle all cases.
24081
24082 2009-08-25  Bruno Haible  <bruno@clisp.org>
24083
24084         dup2: work around a Linux bug.
24085         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
24086         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
24087         * doc/posix-functions/dup2.texi: Mention the Linux bug.
24088         Reported by Simon Josefsson.
24089
24090 2009-08-25  Jim Meyering  <meyering@redhat.com>
24091
24092         libguestfs uses gnulib
24093         * users.txt: Add libguestfs.
24094
24095 2009-08-24  Eric Blake  <ebb9@byu.net>
24096
24097         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
24098         * lib/pipe2.c (includes): Add binary-io.h.
24099         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
24100
24101 2009-08-24  Bruno Haible  <bruno@clisp.org>
24102
24103         Tolerate declared but missing accept4 syscall.
24104         * lib/accept4.c (accept4): Invoke original accept4 function first, if
24105         available.
24106         * lib/sys_socket.in.h (accept4): If the function is already present,
24107         override it.
24108         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
24109         * modules/accept4 (Makefile.am): Compile accept4.c always.
24110         Reported by Paolo Bonzini and Eric Blake.
24111
24112 2009-08-23  Bruno Haible  <bruno@clisp.org>
24113
24114         New module 'accept4'.
24115         * lib/sys_socket.in.h (accept4): New declaration.
24116         * lib/accept4.c: New file.
24117         * m4/accept4.m4: New file.
24118         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24119         GNULIB_ACCEPT4, HAVE_ACCEPT4.
24120         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
24121         HAVE_ACCEPT4.
24122         * modules/accept4: New file.
24123         * doc/glibc-functions/accept4.texi: Mention the new module.
24124
24125 2009-08-24  Jim Meyering  <meyering@redhat.com>
24126
24127         progname: also set global program_invocation_name, when possible
24128         Before this change, a libtool-enabled program that calls glibc's
24129         error function would report the program name as
24130         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
24131         * modules/progname (configure.ac): Check for a declaration of
24132         program_invocation_name.
24133         * lib/progname.c:  Include <errno.h>.
24134         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
24135         Set program_invocation_name.
24136
24137 2009-08-23  Bruno Haible  <bruno@clisp.org>
24138
24139         * lib/dup3.c: Include <string.h>.
24140
24141 2009-08-23  Bruno Haible  <bruno@clisp.org>
24142
24143         * lib/dup3.c (dup3): Test only once whether the system actually exists.
24144         * lib/pipe2.c (pipe2): Likewise.
24145         Suggested by Eric Blake.
24146
24147 2009-08-23  Bruno Haible  <bruno@clisp.org>
24148
24149         Tolerate declared but missing dup3 syscall.
24150         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
24151         * lib/unistd.in.h (dup3): If the function is already present,
24152         override it.
24153         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
24154         * modules/dup3 (Makefile.am): Compile dup3.c always.
24155         Reported by Paolo Bonzini.
24156
24157 2009-08-23  Bruno Haible  <bruno@clisp.org>
24158
24159         Tolerate declared but missing pipe2 syscall.
24160         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
24161         available.
24162         * lib/unistd.in.h (pipe2): If the function is already present,
24163         override it.
24164         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
24165         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
24166         Reported by Paolo Bonzini.
24167
24168 2009-08-23  Bruno Haible  <bruno@clisp.org>
24169
24170         * lib/pipe2.c (pipe2): Move #ifs inside function.
24171
24172 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24173
24174         quotearg: document limitations of quote_these_too
24175         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
24176         those limitations are created.
24177         * lib/quotearg.h (set_char_quoting): Document that digits and
24178         letters that are special after backslash are not permitted.
24179         (quotearg_char): Cross-reference set_char_quoting documentation.
24180
24181 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
24182
24183         quotearg: implement custom_quoting_style
24184         * lib/quotearg.c: (struct quoting_options): Add left_quote and
24185         right_quote fields.
24186         (set_custom_quoting): New public function.
24187         (quotearg_buffer_restyled): Add left_quote and right_quote
24188         arguments, handle them very much like locale quoting, and update
24189         all uses.
24190         (quotearg_n_custom): New public function.
24191         (quotearg_n_custom_mem): New public function.
24192         (quotearg_custom): New public function.
24193         (quotearg_custom_mem): New public function.
24194         * lib/quotearg.h: Prototype and document new public functions.
24195         (enum quoting_style): For escape_quoting_style and
24196         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
24197         ignored even though they're otherwise like c_quoting_style.
24198         Add custom_quoting_style member and document with comparison to
24199         clocale_quoting_style.
24200         * tests/test-quotearg.c (custom_quotes): New array.
24201         (custom_results): New array.
24202         (main): Extend to test custom quoting.
24203
24204 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24205
24206         quotearg: fix right quote escaping when it's in quote_these_too
24207         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
24208         quote, be sure to prepend only one backslash.
24209         * tests/test-quotearg.c (use_quote_double_quotes): New function.
24210         (main): Test it.
24211
24212 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
24213
24214         quotearg-tests: test escaping of embedded locale quotes
24215         * tests/test-quotearg.c (struct result_strings): Add member for
24216         new input.
24217         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
24218         (inputs): Add new input.
24219         (results_g): Add expected results.
24220         (flag_results): Likewise.
24221         (locale_results): Likewise.
24222         (compare_strings): Check those.
24223
24224 2009-08-23  Bruno Haible  <bruno@clisp.org>
24225
24226         Tests for module 'dup3'.
24227         * modules/dup3-tests: New file.
24228         * tests/test-dup3.c: New file.
24229
24230         New module 'dup3'.
24231         * lib/unistd.in.h (dup3): New declaration.
24232         * lib/dup3.c: New file.
24233         * m4/dup3.m4: New file.
24234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
24235         HAVE_DUP3.
24236         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
24237         * modules/dup3: New file.
24238         * doc/glibc-functions/dup3.texi: Mention the new module.
24239
24240 2009-08-23  Bruno Haible  <bruno@clisp.org>
24241
24242         Tweak the dup2 test.
24243         * tests/test-dup2.c (main): Create the test file empty. Verify that an
24244         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
24245         the test file is still empty. Fix argument order of lseek.
24246
24247 2009-08-23  Bruno Haible  <bruno@clisp.org>
24248
24249         Avoid test link errors when the modules getopt-gnu, gettext are used.
24250         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
24251         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24252
24253 2009-08-23  Bruno Haible  <bruno@clisp.org>
24254
24255         Fix getdtablesize() on mingw.
24256         * lib/getdtablesize.c (getdtablesize): Implement differently.
24257         * lib/unistd.in.h (getdtablesize): Improve comment.
24258
24259 2009-08-23  Bruno Haible  <bruno@clisp.org>
24260
24261         New module 'mkostemp'.
24262         Based on Ulrich Drepper's 2007-08-10 change in glibc.
24263         * lib/stdlib.in.h (mksotemp): New declaration.
24264         * lib/mkostemp.c: New file, from glibc with modifications.
24265         * lib/tempname.h (GT_FILE): Remove outdated comment.
24266         (gen_tempname): Add flags argument.
24267         * lib/tempname.c (__GT_BIGFILE): Remove macro.
24268         (__GT_FILE): Map to 1.
24269         (small_open, large_open): Remove macros.
24270         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
24271         * lib/mkstemp.c (mkstemp): Update.
24272         * lib/mkdtemp.c (mkdtemp): Likewise.
24273         * m4/mkostemp.m4: New file.
24274         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
24275         HAVE_MKOSTEMP.
24276         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
24277         HAVE_MKOSTEMP.
24278         * modules/mkostemp: New file, based on modules/mkstemp.
24279         * doc/glibc-functions/mkostemp.texi: Mention the new module.
24280         * NEWS: Mention the change.
24281
24282 2009-08-23  Bruno Haible  <bruno@clisp.org>
24283
24284         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
24285         Reported by Eric Blake.
24286
24287 2009-08-23  Bruno Haible  <bruno@clisp.org>
24288
24289         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
24290         Reported by Eric Blake.
24291
24292 2009-08-23  Bruno Haible  <bruno@clisp.org>
24293
24294         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
24295         * modules/pipe2 (Depends-on): Likewise.
24296
24297 2009-08-23  Eric Blake  <ebb9@byu.net>
24298
24299         fcntl-h: add O_TTY_INIT support
24300         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
24301         * tests/test-fcntl-h.c (o): Test it.
24302         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24303
24304         fcntl-h: rename from fcntl, in preparation for fcntl(2)
24305         * modules/fcntl: Move <fcntl.h> header replacement...
24306         * modules/fcntl-h: ...to new name, so as not to collide with
24307         like-named function.
24308         * tests/test-fcntl.c: Rename...
24309         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
24310         * modules/fcntl-tests: Rename...
24311         * modules/fcntl-h-tests: ...to this.  Update test file name.
24312         * modules/chdir-long (Depends-on): Update clients.
24313         * modules/chdir-safer (Depends-on): Likewise.
24314         * modules/fcntl-safer (Depends-on): Likewise.
24315         * modules/fts (Depends-on): Likewise.
24316         * modules/mkancesdirs (Depends-on): Likewise.
24317         * modules/mkdir-p (Depends-on): Likewise.
24318         * modules/open (Depends-on): Likewise.
24319         * modules/savewd (Depends-on): Likewise.
24320         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
24321         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
24322
24323 2009-08-22  Bruno Haible  <bruno@clisp.org>
24324
24325         * modules/binary-io (License): Relicense under LGPL.
24326         * modules/pipe2 (License): Likewise.
24327
24328 2009-08-22  Bruno Haible  <bruno@clisp.org>
24329
24330         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
24331         return value.
24332         * lib/pipe-filter-gi.c (filter_init): Likewise.
24333         Reported by Eric Blake.
24334
24335 2009-08-22  Bruno Haible  <bruno@clisp.org>
24336
24337         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
24338         * modules/pipe (Depends-on): Add pipe2.
24339
24340 2009-08-22  Bruno Haible  <bruno@clisp.org>
24341
24342         Tests for module 'pipe2'.
24343         * modules/pipe2-tests: New file.
24344         * tests/test-pipe2.c: New file.
24345
24346         New module 'pipe2'.
24347         * lib/unistd.in.h (pipe2): New declaration.
24348         * lib/pipe2.c: New file.
24349         * m4/pipe2.m4: New file.
24350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
24351         HAVE_PIPE2.
24352         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
24353         * modules/pipe2: New file.
24354         * doc/glibc-functions/pipe2.texi: Mention the new module.
24355
24356 2009-08-22  Bruno Haible  <bruno@clisp.org>
24357
24358         Reference some new glibc functions.
24359         * doc/glibc-functions/accept4.texi: New file.
24360         * doc/glibc-functions/dup3.texi: New file.
24361         * doc/glibc-functions/mkostemp.texi: New file.
24362         * doc/glibc-functions/pipe2.texi: New file.
24363         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
24364         (Glibc sys/socket.h): Refer to accept4.
24365         (Glibc unistd.h): Refer to dup3, pipe2.
24366         Reported by Eric Blake.
24367
24368 2009-08-22  Jim Meyering  <meyering@redhat.com>
24369             Bruno Haible  <bruno@clisp.org>
24370
24371         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
24372         This makes it so packages using automake-1.11's silent-rules option
24373         can print e.g., a single "GEN    configmake.h" line, rather than
24374         the 30+ statements that perform the job.  If you want to see the
24375         actual commands, you can still run "make V=1".
24376         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
24377         so that make output is abbreviated when those variables are defined
24378         appropriately.
24379         * modules/argz: Likewise.
24380         * modules/arpa_inet: Likewise.
24381         * modules/byteswap: Likewise.
24382         * modules/configmake: Likewise.
24383         * modules/dirent: Likewise.
24384         * modules/errno: Likewise.
24385         * modules/fcntl: Likewise.
24386         * modules/float: Likewise.
24387         * modules/fnmatch: Likewise.
24388         * modules/getopt-posix: Likewise.
24389         * modules/glob: Likewise.
24390         * modules/iconv_open: Likewise.
24391         * modules/inttypes: Likewise.
24392         * modules/localcharset: Likewise.
24393         * modules/locale: Likewise.
24394         * modules/math: Likewise.
24395         * modules/netdb: Likewise.
24396         * modules/netinet_in: Likewise.
24397         * modules/poll: Likewise.
24398         * modules/posix_spawnp-tests: Likewise.
24399         * modules/sched: Likewise.
24400         * modules/search: Likewise.
24401         * modules/selinux-h: Likewise.
24402         * modules/signal: Likewise.
24403         * modules/spawn: Likewise.
24404         * modules/stdarg: Likewise.
24405         * modules/stdbool: Likewise.
24406         * modules/stddef: Likewise.
24407         * modules/stdint: Likewise.
24408         * modules/stdio: Likewise.
24409         * modules/stdlib: Likewise.
24410         * modules/string: Likewise.
24411         * modules/strings: Likewise.
24412         * modules/sys_file: Likewise.
24413         * modules/sys_ioctl: Likewise.
24414         * modules/sys_select: Likewise.
24415         * modules/sys_socket: Likewise.
24416         * modules/sys_stat: Likewise.
24417         * modules/sys_time: Likewise.
24418         * modules/sys_times: Likewise.
24419         * modules/sys_utsname: Likewise.
24420         * modules/sys_wait: Likewise.
24421         * modules/sysexits: Likewise.
24422         * modules/time: Likewise.
24423         * modules/unistd: Likewise.
24424         * modules/wchar: Likewise.
24425         * modules/wctype: Likewise.
24426
24427 2009-08-22  Jim Meyering  <meyering@redhat.com>
24428
24429         announce-gen: detect write failure
24430         * build-aux/announce-gen: Add Coda at end.
24431         Remove equivalent-but-more-verbose block at top.
24432
24433 2009-08-19  Akim Demaille  <demaille@gostai.com>
24434
24435         bootstrap: --help to stdout.
24436         * bootstrap (usage): Don't send --help to stderr.
24437         Use a here doc instead of a long string.
24438
24439 2009-08-21  Eric Blake  <ebb9@byu.net>
24440
24441         test-popen-safer: split from test-popen
24442         * tests/test-popen.c (main): Move...
24443         * tests/test-popen.h: ...into new file.
24444         * tests/test-popen-safer2.c: New file.
24445         * modules/popen-tests (Files): Add test-popen.h.
24446         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
24447         Suggested by Bruno Haible.
24448
24449         test-fcntl-safer: split from test-open
24450         * tests/test-open.c (main): Move...
24451         * tests/test-open.h: ...into new file.
24452         * tests/test-fcntl-safer.c: New file.
24453         * modules/open-tests (Files): Add test-open.h.
24454         * modules/fcntl-safer-tests: New file.
24455         Suggested by Bruno Haible.
24456
24457         test-fopen-safer: split from test-fopen
24458         * tests/test-fopen.c (main): Move...
24459         * tests/test-fopen.h: ...into new file.
24460         * tests/test-fopen-safer.c: New file.
24461         * modules/fopen-tests (Files): Add test-fopen.h.
24462         * modules/fopen-safer-tests: New file.
24463         Suggested by Bruno Haible.
24464
24465 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24466
24467         popen-safer: test O_CLOEXEC at run-time.
24468         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
24469
24470 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
24471
24472         fcntl: move more flags to the header
24473         * lib/cloexec.c: Do not define FD_CLOEXEC here.
24474         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
24475         * lib/fcntl.in.h: Do both things here.
24476
24477 2009-08-21  Jim Meyering  <meyering@redhat.com>
24478
24479         consistently remove $@-t before redirecting to it
24480         * modules/argz: Remove $@-t and $@ before redirecting to the former.
24481         * modules/alloca-opt: Likewise.
24482         * modules/byteswap: Likewise.
24483         * modules/fnmatch: Likewise.
24484         * modules/getopt-posix: Likewise.
24485         * modules/glob: Likewise.
24486         * modules/poll: Likewise.
24487         * modules/posix_spawnp-tests: Likewise.
24488         * modules/sys_socket: Likewise.
24489         * modules/sysexits: Likewise.
24490
24491 2009-08-21  Eric Blake  <ebb9@byu.net>
24492
24493         popen: simplify access to original popen
24494         * lib/popen.c (rpl_popen): No need to worry about popen being a
24495         macro.
24496         Reported by Bruno Haible.
24497
24498 2009-08-20  Eric Blake  <ebb9@byu.net>
24499
24500         build: avoid some compiler warnings
24501         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
24502         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
24503         type.
24504         (new_exclude_segment, excluded_file_pattern_p)
24505         (excluded_file_name_p): Reduce scope.
24506         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
24507         old-style declaration.
24508
24509 2009-08-20  Simon Josefsson  <simon@josefsson.org>
24510
24511         * tests/test-exclude1.sh: Handle Windows EOL.
24512         * tests/test-exclude2.sh: Likewise.
24513         * tests/test-exclude3.sh: Likewise.
24514         * tests/test-exclude4.sh: Likewise.
24515         * tests/test-exclude5.sh: Likewise.
24516         * tests/test-exclude6.sh: Likewise.
24517         * tests/test-exclude7.sh: Likewise.
24518
24519 2009-08-19  Akim Demaille  <demaille@gostai.com>
24520
24521         bootstrap: find sha1sum when named gsha1sum.
24522         * bootstrap (find_tool): New.
24523         ($SHA1SUM): New.
24524         Use it.
24525
24526 2009-08-20  Jim Meyering  <meyering@redhat.com>
24527
24528         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
24529         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
24530         expression that converts "." in a file name to "\." in the resulting
24531         regexp.  Start with a dummy statement, so that prior shell variable
24532         definitions are expanded portably.  Reported by Simon Josefsson.
24533
24534 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
24535
24536         Fix polling for writeability of a screen buffer.
24537         * lib/poll.c: Distinguish input and screen buffers for the
24538         Win32 implementation.
24539         * lib/select.c: Likewise.
24540
24541 2009-08-19  Eric Blake  <ebb9@byu.net>
24542
24543         popen-safer: prevent popen from clobbering std descriptors
24544         * modules/popen-safer: New file.
24545         * lib/popen-safer.c: Likewise.
24546         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
24547         * lib/stdio--.h (popen): Provide override.
24548         * lib/stdio-safer.h (popen_safer): Provide declaration.
24549         * tests/test-popen.c (includes): Partially test this.
24550         * modules/popen-safer-tests: New file, for more tests.
24551         * tests/test-popen-safer.c: Likewise.
24552         * MODULES.html.sh (file stream based Input/Output): Mention it.
24553
24554         tests: test some of the *-safer modules
24555         * modules/fopen-safer (Depends-on): Add fopen.
24556         * modules/fcntl-safer (Depends-on): Add fcntl.
24557         * modules/stdlib-safer (Depends-on): Add stdlib.
24558         (configure.ac): Set indicator.
24559         * modules/unistd-safer (configure.ac): Likewise.
24560         * modules/tmpfile-safer (configure.ac): Likewise.
24561         (Depends-on): Add tmpfile.
24562         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
24563         active.
24564         * tests/test-fopen.c (includes): Test safer versions when they are
24565         in use.
24566         * tests/test-open.c (includes): Likewise.
24567
24568         popen: fix cygwin 1.5 bug when stdin closed
24569         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
24570         * modules/popen: New file.
24571         * modules/popen-tests: Likewise.
24572         * tests/test-popen.c: Likewise.
24573         * m4/popen.m4: Likewise.
24574         * lib/popen.c: Likewise.
24575         * lib/stdio.in.h (popen): New declaration.
24576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
24577         * modules/stdio (Makefile.am): Likewise.
24578         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
24579
24580 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
24581
24582         maint.mk: give full control over update-copyright exclusions
24583         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
24584         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
24585         (update-copyright): Don't force inclusion of top-level
24586         ChangeLog.  Don't force exclusion of all COPYING files, but make
24587         them the default exclusion instead.
24588
24589 2009-08-16  Bruno Haible  <bruno@clisp.org>
24590
24591         Fix test failures on Solaris 10.
24592         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
24593         tests when Solaris iconv() is used.
24594         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
24595         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
24596         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
24597         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
24598         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
24599
24600 2009-08-16  Bruno Haible  <bruno@clisp.org>
24601
24602         Fix test failures on Solaris 10.
24603         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
24604         'tr' program and pass it as first argument.
24605         * tests/test-pipe-filter-gi1.sh: Likewise.
24606         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
24607         program as first argument.
24608         * tests/test-pipe-filter-gi1.c (main): Likewise.
24609
24610 2009-08-16  Eric Blake  <ebb9@byu.net>
24611
24612         fpurge: fix previous commits
24613         * modules/fpurge (Makefile.am): Make replacement conditional,
24614         partially reverting 2007-04-29 change; missed in previous
24615         attempt.
24616         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
24617         is missing.
24618
24619 2009-08-16  Bruno Haible  <bruno@clisp.org>
24620
24621         Clarify fpurge's effect on the file position.
24622         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
24623         * tests/test-fpurge.c (main): Make a second pass for checking the file
24624         position.
24625
24626 2009-08-16  Bruno Haible  <bruno@clisp.org>
24627
24628         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
24629         declaration of fpurge is missing.
24630         * tests/test-fpurge.c (main): Check that the file has not more contents
24631         than expected. Close the file before removing it.
24632
24633 2009-08-15  Eric Blake  <ebb9@byu.net>
24634
24635         fpurge: don't wrap working cygwin implementation
24636         * lib/fpurge.c (fpurge): Fix comment typo.
24637         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
24638         1.7 to avoid replacement.
24639         * tests/test-fpurge.c (main): Enhance test.
24640
24641 2009-08-15  Eric Blake  <ebb9@byu.net>
24642         and Jim Meyering  <meyering@redhat.com>
24643
24644         test-update-copyright: skip if perl is insufficient
24645         * tests/test-update-copyright.sh: Failure to run maintainer tool
24646         should not cause testsuite failure on cygwin 1.5.
24647
24648 2009-08-14  Eric Blake  <ebb9@byu.net>
24649
24650         doc: mention more functions added in cygwin 1.7.0
24651         * doc/posix-headers/limits.texi (limits.h): Update for recent
24652         cygwin additions.
24653         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
24654         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
24655         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
24656         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
24657         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
24658
24659 2009-08-14  Eric Blake  <ebb9@byu.net>
24660
24661         maint.mk: simplify update-copyright rule
24662         * top/maint.mk (update-copyright-local): Delete, and document how
24663         to do it in cfg.mk instead.
24664         (update-copyright-exclude-regexp): Delete, and document how to do
24665         it in .x-update-copyright instead.
24666         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
24667         exclude ChangeLog.
24668
24669 2009-08-14  Bruno Haible  <bruno@clisp.org>
24670
24671         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
24672
24673 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24674
24675         maint.mk: support update-copyright-env
24676         * top/maint.mk (update-copyright-env): Define place-holder.
24677         (update-copyright): Expand $(update-copyright-env) before
24678         invoking update-copyright.
24679
24680 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24681
24682         update-copyright: implement forced reformatting
24683         * build-aux/update-copyright: Implement and document
24684         UPDATE_COPYRIGHT_FORCE.
24685         * tests/test-update-copyright.sh: Test it.
24686
24687 2009-08-14  Eric Blake  <ebb9@byu.net>
24688         and Bruno Haible  <bruno@clisp.org>
24689
24690         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
24691         * tests/test-locale.c: Revert previous patch related to NULL.
24692         * tests/test-stdio.c: Likewise.
24693         * tests/test-stdlib.c: Likewise.
24694         * tests/test-string.c: Likewise.
24695         * tests/test-unistd.c: Likewise.
24696         * modules/time-tests (Depends-on): Add verify.
24697         * modules/wchar-tests (Depends-on): Likewise.
24698         * tests/test-time.c: Test for NULL compliance.
24699         * tests/test-wchar.c: Likewise.
24700         * modules/locale (Depends-on): Add stddef.
24701         * modules/stdio (Depends-on): Likewise.
24702         * modules/stdlib (Depends-on): Likewise.
24703         * modules/string (Depends-on): Likewise.
24704         * modules/time (Depends-on): Likewise.
24705         * modules/unistd (Depends-on): Likewise.
24706         * modules/wchar (Depends-on): Likewise.
24707         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
24708         * lib/stdlib.in.h (includes): Likewise.
24709         * lib/string.in.h (includes): Likewise.
24710         * lib/time.in.h (includes): Likewise.
24711         * lib/unistd.in.h (includes): Likewise.
24712         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
24713         replaced.
24714         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
24715         * m4/stddef_h.m4: New file.
24716         * modules/stddef: Likewise.
24717         * lib/stddef.in.h: Likewise.
24718         * modules/stddef-tests: Likewise.
24719         * tests/test-stddef.c: Likewise.
24720         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
24721         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
24722         * doc/posix-headers/locale.texi (locale.h): Likewise.
24723         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
24724         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24725         * doc/posix-headers/string.texi (string.h): Likewise.
24726         * doc/posix-headers/time.texi (time.h): Likewise.
24727         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
24728         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
24729
24730 2009-08-14  Eric Blake  <ebb9@byu.net>
24731
24732         doc: improve git diff of texinfo files
24733         * .gitattributes: Add rule for *.texi files, with hint on how to
24734         use it.
24735         Copied from m4, and based on a report by Bruno Haible.
24736
24737 2009-08-14  Bruno Haible  <bruno@clisp.org>
24738
24739         Disable multithread support by default on Cygwin 1.5.x for real.
24740         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
24741
24742 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
24743
24744         update-copyright: much ado about intervals
24745         * build-aux/update-copyright: Implement and document
24746         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
24747         of copyright year intervals.
24748         Also, document UPDATE_COPYRIGHT_YEAR.
24749         * tests/test-update-copyright.sh: Test it.
24750
24751         update-copyright: convert 2-digit to 4-digit years
24752         * build-aux/update-copyright: Implement and document.
24753         * tests/test-update-copyright.sh: Update.
24754
24755 2009-08-14  Jim Meyering  <meyering@redhat.com>
24756
24757         test-exclude: avoid coreutils "make check" failure
24758         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
24759         just as in test-argmatch.c.
24760
24761 2009-08-13  Eric Blake  <ebb9@byu.net>
24762
24763         test-dup2: fix bad assumption
24764         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
24765         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
24766
24767         test-version-etc: fix CRLF portability issue
24768         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
24769         recognize \r.
24770         * tests/test-argp-version-etc-1.sh: Likewise.
24771
24772         getopt: update client modules
24773         * modules/argp (Depends-on): Use getopt-gnu.
24774         * modules/git-merge-changelog (Depends-on): Likewise.
24775         * modules/long-options (Depends-on): Likewise.
24776         * modules/xstrtol (Depends-on): Likewise.
24777
24778 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24779
24780         * tests/test-version-etc.sh: Don't fail on different
24781         project/version.  Don't fail on CRLF differences.  Rewrite to use
24782         multiple -e instead of multiple sed forks, suggested by Eric Blake
24783         <ebb9@byu.net>.
24784         * tests/test-argp-version-etc-1.sh: Likewise.
24785
24786 2009-08-13  Simon Josefsson  <simon@josefsson.org>
24787
24788         * tests/test-version-etc.sh: Don't fail on different
24789         project/version.
24790
24791 2009-08-12  Bruno Haible  <bruno@clisp.org>
24792
24793         Tests for modules 'getopt-posix', 'getopt-gnu'.
24794         * modules/getopt-posix-tests: New file.
24795         * tests/test-getopt.c: New file.
24796         * tests/test-getopt.h: New file.
24797         * tests/test-getopt_long.h: New file.
24798
24799         New modules 'getopt-posix', 'getopt-gnu'.
24800         * modules/getopt-gnu: New file, renamed from modules/getopt.
24801         * modules/getopt-posix: New file.
24802         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
24803         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
24804         (gl_GETOPT): Remove macro.
24805         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
24806         Disable the test against BSD systems that declare optreset. Test
24807         against mingw bug. Test against lack of support of optional arguments
24808         on many platforms.
24809         * doc/glibc-headers/getopt.texi: Update module name and list of
24810         relevant platforms.
24811         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
24812         'getopt-gnu' and more portability problems.
24813         * NEWS: Mention the changes.
24814
24815 2009-08-12  Bruno Haible  <bruno@clisp.org>
24816
24817         Ensure that optarg etc. get declared by <unistd.h>.
24818         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
24819         AC_USE_SYSTEM_EXTENSIONS.
24820         * modules/getopt (Depends-on): Add 'extensions'.
24821
24822 2009-08-12  Bruno Haible  <bruno@clisp.org>
24823
24824         Avoid test link errors.
24825         * modules/pipe-filter-ii-tests (Makefile.am): Define
24826         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
24827         * modules/pipe-filter-gi-tests (Makefile.am): Define
24828         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
24829         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24830
24831 2009-08-12  Bruno Haible  <bruno@clisp.org>
24832
24833         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
24834         gl_GETOPT_SUBSTITUTE before.
24835         (gl_GETOPT): Use it.
24836         * m4/argp.m4 (gl_ARGP): Update.
24837         Reported by Sergey Poznyakoff.
24838
24839         * m4/getopt.m4: Reorder macros.
24840         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
24841         (gl_GETOPT_SUBSTITUTE): Remove macro.
24842
24843 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24844
24845         Minor improvement in gitlog-to-changelog
24846
24847         * build-aux/gitlog-to-changelog: New option `--format' makes
24848         output format string configurable.
24849
24850 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
24851
24852         Optimize exclude: use hash tables for non-wildcard patterns.
24853
24854         * lib/exclude.c: Include hash.h and mbuiter.h
24855         (struct exclude_pattern, exclude_segment): New data types.
24856         (struct exclude): Rewrite.
24857         (fnmatch_pattern_has_wildcards): New function.
24858         (new_exclude_segment, free_exclude_segment): New functions.
24859         (excluded_file_pattern_p, excluded_file_name_p): New functions.
24860         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
24861         * lib/exclude.h (is_fnmatch_pattern): New prototype.
24862         * modules/exclude: Depend on hash and mbuiter.
24863
24864         * modules/exclude-tests: New file.
24865         * tests/test-exclude.c: New file.
24866         * tests/test-exclude1.sh: New file.
24867         * tests/test-exclude2.sh: New file.
24868         * tests/test-exclude3.sh: New file.
24869         * tests/test-exclude4.sh: New file.
24870         * tests/test-exclude5.sh: New file.
24871         * tests/test-exclude6.sh: New file.
24872         * tests/test-exclude7.sh: New file.
24873
24874 2009-08-12  Bruno Haible  <bruno@clisp.org>
24875
24876         Ensure that getopt() gets declared by <unistd.h>.
24877         * lib/unistd.in.h: Conditionally include getopt.h.
24878         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
24879         Set GNULIB_UNISTD_H_GETOPT.
24880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24881         GNULIB_UNISTD_H_GETOPT.
24882         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
24883
24884 2009-08-12  Bruno Haible  <bruno@clisp.org>
24885
24886         Clarify logic.
24887         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
24888         gl_replace_getopt instead of GETOPT_H.
24889
24890 2009-08-12  Bruno Haible  <bruno@clisp.org>
24891
24892         * m4/getopt.m4: Add comments.
24893
24894 2009-08-12  Bruno Haible  <bruno@clisp.org>
24895
24896         Disable multithread support by default on Cygwin 1.5.x.
24897         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
24898         set gl_use_threads=no if not specified otherwise.
24899
24900 2009-08-11  Bruno Haible  <bruno@clisp.org>
24901
24902         Avoid compilation error on NetBSD 5.0.
24903         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
24904         * tests/test-stdio.c: Likewise.
24905         * tests/test-stdlib.c: Likewise.
24906         * tests/test-string.c: Likewise.
24907         * tests/test-unistd.c: Likewise.
24908         Reported by Greg Troxel <gdt@ir.bbn.com>
24909         at <https://savannah.gnu.org/support/?106973>.
24910
24911 2009-08-11  Bruno Haible  <bruno@clisp.org>
24912
24913         * modules/dup2-tests (Depends-on): Remove close.
24914
24915         Undo 2009-07-19 commit.
24916         * modules/acl-tests (Depends-on): Remove close.
24917         * modules/binary-io-tests (Depends-on): Likewise.
24918         * modules/closein-tests (Depends-on): Likewise.
24919         * modules/flock-tests (Depends-on): Likewise.
24920         * modules/fsync-tests (Depends-on): Likewise.
24921         * modules/lseek-tests (Depends-on): Likewise.
24922         * modules/pipe-tests (Depends-on): Likewise.
24923         * modules/posix_spawn-tests (Depends-on): Likewise.
24924         * modules/posix_spawnp-tests (Depends-on): Likewise.
24925         * modules/stat-time-tests (Depends-on): Likewise.
24926         * modules/yesno-tests (Depends-on): Likewise.
24927
24928 2009-08-10  Bruno Haible  <bruno@clisp.org>
24929
24930         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
24931
24932 2009-08-10  Bruno Haible  <bruno@clisp.org>
24933
24934         Fix a gcc warning.
24935         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
24936
24937 2009-08-10  Bruno Haible  <bruno@clisp.org>
24938
24939         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
24940         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
24941         not only the first time.
24942         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
24943         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
24944         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
24945         is 1, not only the the first time.
24946
24947 2009-08-10  Bruno Haible  <bruno@clisp.org>
24948
24949         Make it possible to use module 'gethostname' without module 'close'.
24950         * lib/unistd.in.h (close): Evoke a link error only if
24951         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24953         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24954         * modules/unistd (Makefile.am): Substitute
24955         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24956         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
24957         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
24958         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
24959         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24960         * modules/sys_ioctl (Makefile.am): Substitute
24961         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24962         * modules/socket (configure.ac): On native Windows, set
24963         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
24964         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
24965         Reported by Sam Steingold <sds@gnu.org>.
24966
24967 2009-08-10  Bruno Haible  <bruno@clisp.org>
24968
24969         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
24970         * modules/ioctl (configure.ac): Likewise.
24971
24972 2009-08-10  Bruno Haible  <bruno@clisp.org>
24973
24974         Avoid collision between gnulib wrapper and libintl wrapper.
24975         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
24976         already defined in intl/printf.c.
24977         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
24978         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
24979
24980 2009-08-09  Bruno Haible  <bruno@clisp.org>
24981
24982         Make <sys/select.h> really self-contained, also on Solaris 10.
24983         * lib/sys_select.in.h: Include <string.h>.
24984         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
24985         Solaris 10 problem.
24986         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
24987         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
24988         Reported by Jim Meyering.
24989
24990 2009-08-09  Bruno Haible  <bruno@clisp.org>
24991
24992         Avoid warnings from 'aclocal' that are due to a use of macro name
24993         AM_XGETTEXT_OPTION that is not defined in automake.
24994         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
24995         automake.
24996         * modules/error (configure.ac): Likewise.
24997         * modules/propername (configure.ac): Likewise.
24998         * modules/vasprintf (configure.ac): Likewise.
24999         * modules/verror (configure.ac): Likewise.
25000         * modules/xprintf (configure.ac): Likewise.
25001         * modules/xvasprintf (configure.ac): Likewise.
25002
25003 2009-08-08  Bruno Haible  <bruno@clisp.org>
25004
25005         Avoid compilation error in C++ mode.
25006         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
25007         Reported by Sam Steingold <sds@gnu.org>.
25008
25009 2009-08-08  Bruno Haible  <bruno@clisp.org>
25010
25011         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
25012         for the various Unix platforms.
25013         * doc/posix-headers/limits.texi: Update platforms list regarding
25014         HOST_NAME_MAX.
25015         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25016
25017 2009-08-07  Jim Meyering  <meyering@redhat.com>
25018
25019         selinux-at: fix typo in a comment
25020         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
25021         Spotted by Paolo Bonzini.
25022
25023         selinux-at: remove redundant m4 code, add documentation
25024         * modules/selinux-at (configure.ac): Remove redundant code.
25025         LIB_SELINUX is already set via the dependent module, selinux-h.
25026         (Include): Add quotes around selinux-at.h.
25027         * lib/selinux-at.h: Add documentation.
25028         Reported by Bruno Haible in
25029         http://marc.info/?l=gnulib-bug&m=124958988300749
25030
25031 2009-08-07  Bruno Haible  <bruno@clisp.org>
25032
25033         Avoid link error on MacOS X 10.3 and 10.4.
25034         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
25035         on non-ELF systems.
25036         * lib/argp-pv.c (argp_program_version): Likewise.
25037         Reported by Simon Josefsson.
25038
25039 2009-08-07  Simon Josefsson  <simon@josefsson.org>
25040
25041         * tests/test-version-etc.sh: Use $EXEEXT.
25042
25043 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
25044
25045         update-copyright: update documentation to point to maint.mk
25046         * build-aux/update-copyright: Here.
25047
25048 2009-08-06  Jim Meyering  <meyering@redhat.com>
25049
25050         maint.mk: support update-copyright-local
25051         * top/maint.mk (update-copyright-local): Define place-holder.
25052         (update-copyright): Depend on $(update-copyright-local).
25053
25054 2009-08-06  Jim Meyering  <meyering@redhat.com>
25055
25056         selinux-at: new module
25057         Initially written for coreutils, this module will soon be
25058         used by findutils, too.
25059         * MODULES.html.sh [Misc]: Add selinux-at.
25060         * lib/selinux-at.h: New file, from coreutils.
25061         * lib/selinux-at.c: Likewise.
25062         * modules/selinux-at: Likewise.
25063         (License): Change from LGPL to GPL, since it depends
25064         on the GPL'd openat module.
25065
25066         doc: update README
25067         * README: Remove references to cogito.
25068         Remove cvs-repo-updating instructions from 2007.
25069         Don't imply that CVS is better if you have limited disk space.
25070
25071 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25072
25073         update-copyright: support C-style comments
25074         * build-aux/update-copyright: Implement and document.
25075         * tests/test-update-copyright.sh: Test.
25076
25077 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25078
25079         update-copyright: support omitted "(C)"
25080         * build-aux/update-copyright: Implement and document.  Also,
25081         allow variable whitespace before "(C)".
25082         * tests/test-update-copyright.sh: Test.
25083
25084 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25085
25086         update-copyright: don't trip on non-FSF copyright statements
25087         * build-aux/update-copyright: Fix so that the first correctly
25088         formatted FSF copyright statement is recognized no matter what
25089         appears before it.  Update documentation.
25090         * tests/test-update-copyright.sh: Test that.
25091
25092 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25093
25094         update-copyright: clean up code a little
25095         * build-aux/update-copyright: Append "_re" to the name of any
25096         variable holding a regular expression.
25097         Replace "old" and "new" with "stmt" in variable names.
25098         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
25099         handled correctly.
25100         Format code more consistently.
25101
25102 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
25103
25104         update-copyright-tests: improve portability
25105         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
25106         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
25107
25108 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25109
25110         update-copyright: support @copyright{} and &copy;
25111         * build-aux/update-copyright: Implement and document.
25112         * tests/test-update-copyright.sh: Test.
25113
25114 2009-08-04  Jim Meyering  <meyering@redhat.com>
25115
25116         update-copyright-tests: correctly test EOL=\r\n handling
25117         * tests/test-update-copyright.sh: Put \r at the end of some lines
25118         for the dos-eol tests.  Based on a patch by Joel E. Denny.
25119
25120         maint.mk: make update-copyright exclusion list more configurable
25121         * top/maint.mk (update-copyright): Default to excluding COPYING,
25122         but allow an override, in case someone does want to update that file.
25123
25124         maint.mk: don't update copyright date in COPYING
25125         * top/maint.mk (update-copyright): Exclude COPYING.
25126
25127         maint.mk: add a copyright-updating rule
25128         * top/maint.mk (update-copyright): New rule.
25129         Derived from coreutils/Makefile.am.
25130
25131         update-copyright: rename some variables
25132         * build-aux/update-copyright: Rename a few variables for clarity.
25133         Tweak syntax.  List Joel E. Denny as coauthor.
25134
25135 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
25136
25137         update-copyright: fix bug for 2-digit last year and add tests
25138         * build-aux/update-copyright: Fix bug.
25139         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
25140         specified.
25141         * modules/update-copyright-tests: New
25142         * tests/test-update-copyright.sh: New.
25143
25144 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25145
25146         update-copyright: handle leading tabs in line prefix
25147         * build-aux/update-copyright: Count leading tabs as 8 spaces
25148         when computing margin.  This helps with the formatting of
25149         ChangeLogs, for example.
25150         Fix documentation a little.
25151
25152 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25153
25154         update-copyright: support EOL=\r\n
25155         * build-aux/update-copyright: Implement that.
25156
25157 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
25158
25159         update-copyright: automatically format copyright statements
25160         * build-aux/update-copyright: Implement that.
25161         Also, be a little more predictable and safer by always failing
25162         when the full copyright format is not perfectly recognized as an
25163         unbroken whole.  Discussed at
25164         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
25165         Rewrite documentation.
25166
25167 2009-08-03  Bruno Haible  <bruno@clisp.org>
25168
25169         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
25170
25171 2009-08-02  Bruno Haible  <bruno@clisp.org>
25172
25173         Tests for module 'uname'.
25174         * modules/uname-tests: New file.
25175         * tests/test-uname.c: New file.
25176
25177         New module 'uname'.
25178         * lib/uname.c: New file.
25179         * m4/uname.m4: New file.
25180         * modules/uname: New file.
25181         * doc/posix-functions/uname.texi: Mention the new module.
25182
25183 2009-08-02  Bruno Haible  <bruno@clisp.org>
25184
25185         Tests for module 'sys_utsname'.
25186         * modules/sys_utsname-tests: New file.
25187         * tests/test-sys_utsname.c: New file.
25188
25189         New module 'sys_utsname'.
25190         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
25191         * m4/sys_utsname_h.m4: New file.
25192         * modules/sys_utsname: New file.
25193         * doc/posix-headers/sys_utsname.texi: Mention the new module.
25194
25195 2009-08-02  Bruno Haible  <bruno@clisp.org>
25196
25197         Implicitly initialize the sockets library.
25198         * lib/gethostname.c: Include sockets.h.
25199         (rpl_gethostname): Invoke gl_sockets_startup.
25200         * lib/socket.c: Include sockets.h.
25201         (rpl_socket): Invoke gl_sockets_startup.
25202         * modules/gethostname (Depends-on): Add sockets.
25203         * modules/socket (Depends-on): Likewise.
25204         * tests/test-poll.c: Don't include sockets.h.
25205         (main): Don't invoke gl_sockets_startup.
25206         * tests/test-select.c: Don't include sockets.h.
25207         (main): Don't invoke gl_sockets_startup.
25208
25209 2009-08-02  Bruno Haible  <bruno@clisp.org>
25210
25211         Allow multiple calls to gl_sockets_startup.
25212         * lib/sockets.c (initialized_sockets_version): New variable.
25213         (gl_sockets_startup): Do nothing if already called for this or a higher
25214         version.
25215         (gl_sockets_cleanup): Reset initialized_sockets_version.
25216
25217 2009-08-03  Simon Josefsson  <simon@josefsson.org>
25218
25219         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
25220         different project/version.
25221
25222 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
25223             Bruno Haible  <bruno@clisp.org>
25224
25225         Tests for module 'pipe-filter-gi'.
25226         * modules/pipe-filter-gi-tests: New file.
25227         * tests/test-pipe-filter-gi1.sh: New file.
25228         * tests/test-pipe-filter-gi1.c: New file.
25229         * tests/test-pipe-filter-gi2.sh: New file.
25230         * tests/test-pipe-filter-gi2-main.c: New file.
25231         * tests/test-pipe-filter-gi2-child.c: New file.
25232
25233         New module 'pipe-filter-gi'.
25234         * lib/pipe-filter-gi.c: New file.
25235         * modules/pipe-filter-gi: New file.
25236
25237 2009-08-02  Bruno Haible  <bruno@clisp.org>
25238             Paolo Bonzini  <bonzini@gnu.org>
25239
25240         Tests for module 'pipe-filter-ii'.
25241         * modules/pipe-filter-ii-tests: New file.
25242         * tests/test-pipe-filter-ii1.sh: New file.
25243         * tests/test-pipe-filter-ii1.c: New file.
25244         * tests/test-pipe-filter-ii2.sh: New file.
25245         * tests/test-pipe-filter-ii2-main.c: New file.
25246         * tests/test-pipe-filter-ii2-child.c: New file.
25247
25248         New module 'pipe-filter-ii'.
25249         * lib/pipe-filter.h: New file.
25250         * lib/pipe-filter-ii.c: New file.
25251         * lib/pipe-filter-aux.h: New file.
25252         * modules/pipe-filter-ii: New file.
25253
25254 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25255
25256         * lib/gc-libgcrypt.c: Change copyright to FSF.
25257         * lib/gc-gnulib.c: Likewise.
25258
25259 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
25260
25261         * lib/gethostname.c: Include limits.h.
25262
25263 2009-08-02  Simon Josefsson  <simon@josefsson.org>
25264             Bruno Haible  <bruno@clisp.org>
25265
25266         Ensure HOST_NAME_MAX as part of the gethostname module.
25267         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
25268         define also HOST_NAME_MAX.
25269         * tests/test-gethostname.c: Include <limits.h>.
25270         (main): Check also HOST_NAME_MAX.
25271         * doc/posix-headers/limits.texi: Document the mingw problem.
25272
25273 2009-08-02  Bruno Haible  <bruno@clisp.org>
25274
25275         * lib/gethostname.c (gethostname): Fix handling of large len argument.
25276         Add comments.
25277
25278 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25279
25280         * lib/gethostname.c: Add Windows wrapper.
25281         * m4/gethostname.m4: Look for gethostname in -lws2_32.
25282         * modules/gethostname: Depend on sys_socket & errno, for also
25283         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
25284         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
25285
25286 2009-07-31  Jim Meyering  <meyering@redhat.com>
25287
25288         getloadavg: fix symbol name in comment
25289         * lib/getloadavg.c: Correct a typo I introduced when adding
25290         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
25291         Matt Kraai spotted the problem.
25292
25293 2009-07-29  Matt Kraai  <mkraai@beckman.com>
25294
25295         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
25296         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
25297         code also if ! defined N_NAME_POINTER.
25298         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
25299         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
25300         but the n_name member is a 12-byte array.
25301
25302 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
25303
25304         update-copyright: generalize comment handling
25305         * build-aux/update-copyright: Handle copyright statements
25306         within more comment styles.
25307         Document usage.
25308         Report any file with an external copyright holder or parse failure.
25309
25310 2009-07-29  Jim Meyering  <meyering@redhat.com>
25311
25312         mktime: correct setting of REPLACE_MKTIME
25313         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
25314
25315         update-copyright: new module
25316         * modules/update-copyright: New file.
25317         * build-aux/update-copyright: New file.
25318         * MODULES.html.sh (maint+release support): Add update-copyright.
25319
25320 2009-07-27  Bruno Haible  <bruno@clisp.org>
25321
25322         Fix compilation error when <ctime> is used and mktime is replaced.
25323         * lib/time.in.h (mktime): New declaration.
25324         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
25325         REPLACE_MKTIME instead of defining mktime in config.h.
25326         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
25327         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
25328         Reported by Ross McFarland <rwmcfa1@neces.com>.
25329
25330 2009-07-27  Bruno Haible  <bruno@clisp.org>
25331
25332         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
25333         Reported by Matt Kraai <mkraai@beckman.com>.
25334
25335 2009-07-25  Jim Meyering  <meyering@redhat.com>
25336
25337         maint.mk: avoid warnings about missing files
25338         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
25339         diagnostic when .prev-version does not exist.
25340         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
25341         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
25342         nonexistent cfg.mk.
25343         Suggestions from Simon Josefsson.
25344
25345 2009-07-25  Bruno Haible  <bruno@clisp.org>
25346
25347         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
25348         defined as macros. Needed on QNX 6.4.1.
25349         Reported by Matt Kraai <mkraai@beckman.com>.
25350
25351 2009-07-23  Jim Meyering  <meyering@redhat.com>
25352
25353         maint.mk: invoke "make dist" with a working value of XZ_OPT
25354         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
25355
25356 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
25357
25358         Make fseeko.c compile on QNX.
25359         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
25360
25361 2009-07-22  Peter Simons  <simons@cryp.to>
25362
25363         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
25364         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
25365         * lib/md4.h: Likewise.
25366         * lib/md5.h: Likewise.
25367         * lib/sha1.h: Likewise.
25368         * lib/sha256.h: Likewise.
25369         * lib/sha512.h: Likewise.
25370
25371         tests-sha1: don't assign literal string to 'char *' variable
25372         * tests/test-sha1.c (main): Declare locals with "const" to match
25373         attributes of the right hand side.
25374
25375 2009-07-21  Eric Blake  <ebb9@byu.net>
25376
25377         dup2: fix more mingw problems
25378         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
25379         fd to itself.
25380         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25381         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
25382         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
25383         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
25384         care of mingw bugs.
25385
25386 2009-07-21  Jim Meyering  <meyering@redhat.com>
25387
25388         vc-list-files: avoid failure when /bin/sh is dash
25389         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
25390         On some Debian based systems, /bin/sh is a symlink to dash, and running
25391         this command would omit the "/" following each 'tests' prefix:
25392           dash -x build-aux/vc-list-files -C . tests
25393         That is because bash and dash work differently:
25394           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
25395           bash ok
25396           dash odd
25397
25398 2009-07-21  Eric Blake  <ebb9@byu.net>
25399
25400         dup2-tests: test previous patch
25401         * modules/dup2-tests: New file.
25402         * tests/test-dup2.c: Likewise.
25403         * tests/test-open.c (main): Avoid unspecified behavior.
25404         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
25405         test.
25406
25407         dup2: work around mingw and cygwin 1.5 bug
25408         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
25409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25410         * modules/unistd (Makefile.am): Substitute it.
25411         * lib/unistd.in.h (dup2): Declare the replacement.
25412         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
25413         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
25414         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
25415         * modules/execute (Depends-on): Add dup2.
25416         * modules/fseterr (Depends-on): Likewise.
25417         * modules/pipe (Depends-on): Likewise.
25418         * modules/posix_spawn-internal (Depends-on): Likewise.
25419
25420 2009-07-21  Bruno Haible  <bruno@clisp.org>
25421
25422         * modules/.gitattributes: New file.
25423
25424 2009-07-20  Bruno Haible  <bruno@clisp.org>
25425
25426         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
25427         (main): Use it.
25428
25429 2009-07-20  Eric Blake  <ebb9@byu.net>
25430
25431         test-pipe: make a bit more robust.
25432         * tests/test-pipe.c (myerr): Allow error messages regardless of
25433         what we do to stderr.
25434         (test_pipe): Rearrange to avoid deadlock.
25435         (child_main): Try a larger read, to ensure we avoided deadlock.
25436         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
25437         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
25438         if misused.
25439
25440 2009-07-19  Jim Meyering  <meyering@redhat.com>
25441
25442         fts: avoid false-positive cycle-detection
25443         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
25444         for each new command line argument.
25445
25446 2009-07-19  Bruno Haible  <bruno@clisp.org>
25447
25448         Fix build error on mingw with the modules sys_select and unistd.
25449         * modules/acl-tests (Depends-on): Add close.
25450         * modules/binary-io-tests (Depends-on): Likewise.
25451         * modules/closein-tests (Depends-on): Likewise.
25452         * modules/flock-tests (Depends-on): Likewise.
25453         * modules/fsync-tests (Depends-on): Likewise.
25454         * modules/lseek-tests (Depends-on): Likewise.
25455         * modules/pipe-tests (Depends-on): Likewise.
25456         * modules/posix_spawn-tests (Depends-on): Likewise.
25457         * modules/posix_spawnp-tests (Depends-on): Likewise.
25458         * modules/stat-time-tests (Depends-on): Likewise.
25459         * modules/yesno-tests (Depends-on): Likewise.
25460
25461 2009-07-19  Bruno Haible  <bruno@clisp.org>
25462
25463         Unify conditionals.
25464         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
25465         macros, not at the compiler macros.
25466         * lib/pipe.c: Likewise.
25467         * lib/execute.c: Likewise.
25468         * lib/spawni.c: Likewise.
25469
25470 2009-07-19  Bruno Haible  <bruno@clisp.org>
25471
25472         Fix handling of closed stdin/stdout/stderr on mingw.
25473         * lib/w32spawn.h: Include unistd.h.
25474         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
25475         file descriptor with O_NOINHERIT flag.
25476         (fd_safer_noinherit): New function, based on fd-safer.c.
25477         (dup_safer_noinherit): New function, based on dup-safer.c.
25478         (undup_safer_noinherit): New function.
25479         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
25480         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
25481         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
25482         instead of fd_safer.
25483         * tests/test-pipe.c: Include <windows.h>.
25484         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
25485
25486         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
25487         from main.
25488         (test_pipe): Pass an extra argument for disambiguation.
25489         (main): Invoke parent_main or child_main.
25490
25491         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
25492         consistently.
25493
25494 2009-07-18  Eric Blake  <ebb9@byu.net>
25495
25496         test-pipe: fix mingw build
25497         * tests/test-pipe.c (main): Avoid fcntl on mingw.
25498
25499 2009-07-18  Bruno Haible  <bruno@clisp.org>
25500
25501         * modules/pipe-tests (Makefile.am): Fix typo.
25502
25503 2009-07-18  Eric Blake  <ebb9@byu.net>
25504
25505         error: fix mingw build
25506         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
25507         Reported by Bruno Haible.
25508
25509         error: avoid undefined use of stdout
25510         * lib/error.c (error, error_at_line): Check that fd 1 is open
25511         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
25512         is handling faults and the close_stdout module wants to report the
25513         detection of closed stdout as an error.
25514
25515 2009-07-17  Eric Blake  <ebb9@byu.net>
25516
25517         pipe: be robust in face of closed fds
25518         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
25519         should cause child to misbehave.
25520         * modules/pipe-tests: New module.
25521         * tests/test-pipe.c: New file.
25522         * tests/test-pipe.sh: New file.
25523         Reported by Akim Demaille.
25524
25525 2009-07-14  Bruno Haible  <bruno@clisp.org>
25526
25527         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
25528         Reported by anonymous kc.
25529
25530 2009-07-07  Jim Meyering  <meyering@redhat.com>
25531
25532         maint.mk: don't look for translatable strings in *.m4 or *.mk
25533         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
25534         when searching for translatable strings.
25535
25536 2009-07-05  Jim Meyering  <meyering@redhat.com>
25537
25538         remove superfluous parentheses in STREQ definition
25539         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
25540         * lib/getugroups.c (STREQ): Likewise.
25541         * lib/fnmatch.c (STREQ): Likewise.
25542         Spotted by Bruno Haible.
25543
25544 2009-07-04  Jim Meyering  <meyering@redhat.com>
25545
25546         argv-iter: new module
25547         * MODULES.html.sh: Add argv-iter.
25548         * lib/argv-iter.c, lib/argv-iter.h: New files.
25549         * modules/argv-iter: New file.
25550         * modules/argv-iter-tests: New file.
25551         * tests/test-argv-iter.c: Test it.
25552
25553 2009-07-04  Bruno Haible  <bruno@clisp.org>
25554
25555         Fix assertion.
25556         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
25557         contains more exact copies of a given entry than file2, leave the extra
25558         copies unpaired rather than aborting.
25559         Reported by Eric Blake.
25560
25561 2009-07-02  Bruno Haible  <bruno@clisp.org>
25562
25563         Speedup git-merge-changelog for git cherry-pick.
25564         * lib/git-merge-changelog.c (struct entries_mapping): New type.
25565         (entries_mapping_get): New function, extracted from compute_mapping.
25566         (entries_mapping_reverse_get): New function.
25567         (compute_mapping): Add a 'full' argument. Return the result in a
25568         'struct entries_mapping'.
25569         (main): Update. Access the mappings through entries_mapping_get.
25570         Reported by Eric Blake.
25571
25572 2009-07-02  Bruno Haible  <bruno@clisp.org>
25573
25574         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
25575         best_i.
25576
25577 2009-07-02  Bruno Haible  <bruno@clisp.org>
25578
25579         Speed up approximate search for matching ChangeLog entries.
25580         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
25581         argument. Call fstrcmp_bounded instead of fstrcmp.
25582         (compute_mapping, try_split_merged_entry, main): Update callers.
25583
25584 2009-07-02  Bruno Haible  <bruno@clisp.org>
25585
25586         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
25587
25588 2009-06-30  Bruno Haible  <bruno@clisp.org>
25589
25590         Reduce the number of uc_is_cased calls.
25591         * lib/unicase.h (casing_suffix_context_t): Add
25592         'first_char_except_ignorable' field.
25593         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
25594         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
25595         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
25596         Update initializer.
25597         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
25598         case-ignorable characters.
25599         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
25600         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
25601         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
25602         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
25603         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
25604
25605 2009-06-30  Bruno Haible  <bruno@clisp.org>
25606
25607         Tests for module 'unicase/ignorable'.
25608         * modules/unicase/ignorable-tests: New file.
25609         * tests/unicase/test-ignorable.c: New file, generated by
25610         gen-uni-tables.
25611
25612         Tests for module 'unicase/cased'.
25613         * modules/unicase/cased-tests: New file.
25614         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
25615         * tests/unicase/test-predicate-part1.h: New file, derived from
25616         tests/unictype/test-predicate-part1.h.
25617         * tests/unicase/test-predicate-part2.h: New file, same as
25618         tests/unictype/test-predicate-part2.h.
25619
25620         Fix evaluation of "Before C" condition of FINAL_SIGMA.
25621         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
25622         (output_casing_properties): New function.
25623         (main): Call it.
25624         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
25625         * lib/unicase/cased.c: Include unictype/bitmap.h.
25626         (uc_is_cased): Define through a bitmap lookup.
25627         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
25628         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
25629         (uc_is_case_ignorable): Define through a bitmap lookup.
25630         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
25631         lib/unictype/bitmap.h.
25632         (Depends-on): Add inline. Clean up.
25633         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
25634         lib/unictype/bitmap.h.
25635         (Depends-on): Add inline. Clean up.
25636         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
25637         recognition.
25638         * tests/unicase/test-u16-tolower.c (main): Likewise.
25639         * tests/unicase/test-u32-tolower.c (main): Likewise.
25640
25641 2009-06-30  Bruno Haible  <bruno@clisp.org>
25642
25643         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
25644         * lib/unicase/u16-casemap.c: Likewise.
25645         * lib/unicase/u32-casemap.c: Likewise.
25646
25647 2009-06-29  Bruno Haible  <bruno@clisp.org>
25648
25649         Define u32_casefold as a wrapper around u32_ct_casefold.
25650         * lib/unicase/u32-casefold.c: Update.
25651         * modules/unicase/u32-casefold (Depends-on): Add
25652         unicase/u32-ct-casefold, unicase/empty-prefix-context,
25653         unicase/empty-suffix-context. Clean up.
25654
25655         Define u16_casefold as a wrapper around u16_ct_casefold.
25656         * lib/unicase/u16-casefold.c: Update.
25657         * modules/unicase/u16-casefold (Depends-on): Add
25658         unicase/u16-ct-casefold, unicase/empty-prefix-context,
25659         unicase/empty-suffix-context. Clean up.
25660
25661         Define u8_casefold as a wrapper around u8_ct_casefold.
25662         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
25663         * lib/unicase/u8-casefold.c: Update.
25664         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
25665         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25666
25667         Define u32_totitle as a wrapper around u32_ct_totitle.
25668         * lib/unicase/u32-totitle.c: Update.
25669         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
25670         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25671
25672         Define u16_totitle as a wrapper around u16_ct_totitle.
25673         * lib/unicase/u16-totitle.c: Update.
25674         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
25675         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25676
25677         Define u8_totitle as a wrapper around u8_ct_totitle.
25678         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
25679         functions.
25680         (FUNC): Delegate to U_CT_TOTITLE.
25681         * lib/unicase/u8-totitle.c: Update.
25682         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
25683         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
25684
25685         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
25686         invocation.
25687         * modules/unicase/u32-tolower (Depends-on): Add
25688         unicase/empty-prefix-context, unicase/empty-suffix-context.
25689
25690         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
25691         invocation.
25692         * modules/unicase/u16-tolower (Depends-on): Add
25693         unicase/empty-prefix-context, unicase/empty-suffix-context.
25694
25695         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
25696         * modules/unicase/u8-tolower (Depends-on): Add
25697         unicase/empty-prefix-context, unicase/empty-suffix-context.
25698
25699         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
25700         invocation.
25701         * modules/unicase/u32-toupper (Depends-on): Add
25702         unicase/empty-prefix-context, unicase/empty-suffix-context.
25703
25704         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
25705         invocation.
25706         * modules/unicase/u16-toupper (Depends-on): Add
25707         unicase/empty-prefix-context, unicase/empty-suffix-context.
25708
25709         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
25710         * modules/unicase/u8-toupper (Depends-on): Add
25711         unicase/empty-prefix-context, unicase/empty-suffix-context.
25712
25713         New module 'unicase/u32-ct-casefold'.
25714         * lib/unicase/u32-ct-casefold.c: New file.
25715         * modules/unicase/u32-ct-casefold: New file.
25716
25717         New module 'unicase/u16-ct-casefold'.
25718         * lib/unicase/u16-ct-casefold.c: New file.
25719         * modules/unicase/u16-ct-casefold: New file.
25720
25721         New module 'unicase/u8-ct-casefold'.
25722         * lib/unicase/u8-ct-casefold.c: New file.
25723         * lib/unicase/u-ct-casefold.h: New file, derived from
25724         lib/unicase/u-casefold.h.
25725         * modules/unicase/u8-ct-casefold: New file.
25726
25727         New module 'unicase/u32-ct-totitle'.
25728         * lib/unicase/u32-ct-totitle.c: New file.
25729         * modules/unicase/u32-ct-totitle: New file.
25730
25731         New module 'unicase/u16-ct-totitle'.
25732         * lib/unicase/u16-ct-totitle.c: New file.
25733         * modules/unicase/u16-ct-totitle: New file.
25734
25735         New module 'unicase/u8-ct-totitle'.
25736         * lib/unicase/u8-ct-totitle.c: New file.
25737         * lib/unicase/u-ct-totitle.h: New file, derived from
25738         lib/unicase/u-totitle.h.
25739         * modules/unicase/u8-ct-totitle: New file.
25740
25741         New module 'unicase/u32-ct-tolower'.
25742         * lib/unicase/u32-ct-tolower.c: New file.
25743         * modules/unicase/u32-ct-tolower: New file.
25744
25745         New module 'unicase/u16-ct-tolower'.
25746         * lib/unicase/u16-ct-tolower.c: New file.
25747         * modules/unicase/u16-ct-tolower: New file.
25748
25749         New module 'unicase/u8-ct-tolower'.
25750         * lib/unicase/u8-ct-tolower.c: New file.
25751         * modules/unicase/u8-ct-tolower: New file.
25752
25753         New module 'unicase/u32-ct-toupper'.
25754         * lib/unicase/u32-ct-toupper.c: New file.
25755         * modules/unicase/u32-ct-toupper: New file.
25756
25757         New module 'unicase/u16-ct-toupper'.
25758         * lib/unicase/u16-ct-toupper.c: New file.
25759         * modules/unicase/u16-ct-toupper: New file.
25760
25761         New module 'unicase/u8-ct-toupper'.
25762         * lib/unicase/u8-ct-toupper.c: New file.
25763         * modules/unicase/u8-ct-toupper: New file.
25764
25765         Add context arguments to u*_casemap functions.
25766         * lib/unicase/unicasemap.h: Include unicase.h.
25767         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
25768         suffix_context arguments.
25769         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
25770         functions.
25771         (FUNC): Add prefix_context and suffix_context arguments. Use
25772         uc_is_cased and uc_is_case_ignorable.
25773         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
25774         * lib/unicase/u16-casemap.c: Likewise.
25775         * lib/unicase/u32-casemap.c: Likewise.
25776         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
25777         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25778         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
25779         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25780         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
25781         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
25782
25783         New module 'unicase/u32-suffix-context'.
25784         * lib/unicase/u32-suffix-context.c: New file.
25785         * modules/unicase/u32-suffix-context: New file.
25786
25787         New module 'unicase/u16-suffix-context'.
25788         * lib/unicase/u16-suffix-context.c: New file.
25789         * modules/unicase/u16-suffix-context: New file.
25790
25791         New module 'unicase/u8-suffix-context'.
25792         * lib/unicase/u8-suffix-context.c: New file.
25793         * lib/unicase/u-suffix-context.h: New file.
25794         * modules/unicase/u8-suffix-context: New file.
25795
25796         New module 'unicase/empty-suffix-context'.
25797         * lib/unicase/empty-suffix-context.c: New file.
25798         * modules/unicase/empty-suffix-context: New file.
25799
25800         New module 'unicase/u32-prefix-context'.
25801         * lib/unicase/u32-prefix-context.c: New file.
25802         * modules/unicase/u32-prefix-context: New file.
25803
25804         New module 'unicase/u16-prefix-context'.
25805         * lib/unicase/u16-prefix-context.c: New file.
25806         * modules/unicase/u16-prefix-context: New file.
25807
25808         New module 'unicase/u8-prefix-context'.
25809         * lib/unicase/u8-prefix-context.c: New file.
25810         * lib/unicase/u-prefix-context.h: New file.
25811         * lib/unicase/context.h: New file.
25812         * modules/unicase/u8-prefix-context: New file.
25813
25814         New module 'unicase/empty-prefix-context'.
25815         * lib/unicase/empty-prefix-context.c: New file.
25816         * modules/unicase/empty-prefix-context: New file.
25817
25818         New module 'unicase/ignorable'.
25819         * lib/unicase/ignorable.c: New file.
25820         * modules/unicase/ignorable: New file.
25821
25822         New module 'unicase/cased'.
25823         * lib/unicase/caseprop.h: New file.
25824         * lib/unicase/cased.c: New file.
25825         * modules/unicase/cased: New file.
25826
25827         New functions for case mapping of substrings.
25828         * lib/unicase.h (casing_prefix_context_t): New type.
25829         (unicase_empty_prefix_context): New variable.
25830         (u8_casing_prefix_context, u16_casing_prefix_context,
25831         u32_casing_prefix_context, u8_casing_prefixes_context,
25832         u16_casing_prefixes_context, u32_casing_prefixes_context): New
25833         declarations.
25834         (casing_suffix_context_t): New type.
25835         (unicase_empty_suffix_context): New variable.
25836         (u8_casing_suffix_context, u16_casing_suffix_context,
25837         u32_casing_suffix_context, u8_casing_suffixes_context,
25838         u16_casing_suffixes_context, u32_casing_suffixes_context,
25839         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
25840         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
25841         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
25842         declarations.
25843
25844 2009-06-28  Jim Meyering  <meyering@redhat.com>
25845
25846         boostrap: indent only with spaces
25847         * build-aux/bootstrap: Indent only with spaces, never TABs.
25848
25849         bootstrap: split long lines
25850         * build-aux/bootstrap: Keep line length < 80.
25851
25852         bootstrap: sync from coreutils
25853         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
25854         just as autoreconf does.  Verify a list of prerequisite
25855         package-name,version-number pairs if defined in bootstrap.conf.
25856         Refer to README-prereq, if prerequisites are not satisfied.
25857
25858 2009-06-27  Eric Blake  <ebb9@byu.net>
25859
25860         tests: add test for bogus NULL definition
25861         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
25862         * tests/test-stdlib.c: Likewise.
25863         * tests/test-string.c: Likewise.
25864         * tests/test-locale.c: Likewise.
25865         * tests/test-unistd.c: Likewise.
25866         * modules/stdio-tests (Depends-on): Add verify.
25867         * modules/stdlib-tests (Depends-on): Likewise.
25868         * modules/string-tests (Depends-on): Likewise.
25869         * modules/locale-tests (Depends-on): Likewise.
25870         * modules/unistd-tests (Depends-on): Likewise.
25871
25872 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
25873
25874         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
25875         self-explaining comment.
25876         * m4/selinux-selinux-h: Update serial.
25877         (gl_LIBSELINUX): New macro, adding a warning for missing development
25878         packages to code extracted from...
25879         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
25880         Add warning for missing development packages here, too.
25881
25882 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
25883
25884         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
25885
25886 2009-06-25  Eric Blake  <ebb9@byu.net>
25887
25888         version-etc: fix regression
25889         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
25890         gcc.
25891         (version_etc): Use it, to catch bugs with trailing NULL.
25892         * lib/version-etc.c (version_etc_arn): Delete unused argument.
25893         (version_etc_va): Fix logic bug.
25894         * modules/version-etc-tests: Add test.
25895         * tests/test-version-etc.c: New file.
25896         * tests/test-version-etc.sh: Likewise.
25897
25898 2009-06-25  Sam Steingold  <sds@gnu.org>
25899
25900         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
25901         mbtowc declaration.
25902
25903 2009-06-25  Eric Blake  <ebb9@byu.net>
25904
25905         fpurge: migrate into <stdio.h>
25906         * lib/fpurge.h: Delete...
25907         * lib/stdio.in.h (fpurge): ...and declare here, instead.
25908         * lib/fpurge.c (fpurge): Change declaring header.
25909         * modules/fpurge (Files): Drop deleted file.
25910         (Depends-on): Add stdio.
25911         (configure.ac): Set witness.
25912         * modules/stdio (Makefile.am): Support fpurge macros.
25913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25914         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
25915         * lib/fflush.c: Update client.
25916         * tests/test-fpurge.c: Likewise.
25917         * NEWS: Mention the change.
25918
25919 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25920
25921         * lib/argp-version-etc.c (program_authors): Add const
25922         qualifier.
25923         * lib/version-etc.c: Fix typos in the comments.
25924         * modules/argp-version-etc: Depends on version-etc.
25925
25926 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25927
25928         argp-version-etc: new module.
25929
25930         * lib/argp-version-etc.c: New file.
25931         * lib/argp-version-etc.h: New file.
25932         * modules/argp-version-etc: New file.
25933         * modules/argp-version-etc-tests: New file.
25934         * tests/test-argp-version-etc.c: New test.
25935         * tests/test-argp-version-etc-1.sh: New test.
25936
25937 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
25938
25939         Provide additional interfaces and documentation for version-etc
25940         module.
25941
25942         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
25943         interfaces.
25944         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
25945         prototypes.
25946
25947 2009-06-24  Bruno Haible  <bruno@clisp.org>
25948
25949         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
25950         HAVE_LIB${NAME} macro.
25951         Reported by Sam Steingold <sds@gnu.org>.
25952
25953 2009-06-23  Simon Josefsson  <simon@josefsson.org>
25954
25955         * modules/hash-tests (test_hash_LDADD): Link to libintl when
25956         needed.
25957
25958 2009-06-21  Bruno Haible  <bruno@clisp.org>
25959
25960         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
25961         work.
25962         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
25963         together with LIB${NAME}, LTLIB${NAME}.
25964         Reported by Sam Steingold <sds@gnu.org>.
25965
25966 2009-06-20  Jim Meyering  <meyering@redhat.com>
25967
25968         tests: make sc_require_test_exit_idiom more generic
25969         * top/maint.mk (Exit_witness_file): New overridable variable.
25970         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
25971         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
25972
25973 2009-06-19  Jim Meyering  <meyering@redhat.com>
25974
25975         hash: reverse order of src/dst parameters in an internal interface
25976         * lib/hash.c (transfer_entries): Reverse order of parameters to
25977         put DST before SRC.  Adjust callers.
25978
25979         tests: test-hash: avoid wholesale duplication
25980         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
25981         Instead, use a loop and add a single conditional.
25982
25983         tests: test-hash: allow seed selection via a command line argument
25984         * tests/test-hash.c (get_seed): New function.
25985         (main): Use it.
25986
25987 2009-06-19  Eric Blake  <ebb9@byu.net>
25988
25989         hash: avoid memory leak on allocation failure
25990         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
25991         failure.  Factor repeated algorithm...
25992         (transfer_entries): ...into new helper routine.
25993         (hash_delete): React to hash_rehash return value.
25994
25995         hash: reduce memory pressure in hash_rehash no-op case
25996         * lib/hash.c (next_prime): Avoid overflow.
25997         (hash_initialize): Factor bucket size computation...
25998         (compute_bucket_size): ...into new helper function.
25999         (hash_rehash): Use new function and open coding to reduce memory
26000         pressure, and avoid a memory leak in USE_OBSTACK code.
26001         Reported by Jim Meyering.
26002
26003 2009-06-18  Eric Blake  <ebb9@byu.net>
26004
26005         hash: make rotation more obvious
26006         * modules/hash (Depends-on): Add bitrotate and stdint.
26007         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
26008         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
26009         (SIZE_MAX): Rely on headers for definition.
26010         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
26011         (raw_hasher): Use rotr_sz.
26012         Suggested by Jim Meyering.
26013
26014         hash: fix memory leak in last patch
26015         * lib/hash.c (hash_rehash): Avoid memory leak.
26016
26017         hash: avoid no-op rehashing
26018         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
26019
26020         hash: provide default callback functions
26021         * lib/hash.c (raw_hasher, raw_comparator): New functions.
26022         (hash_initialize): Use them as defaults.
26023         * tests/test-hash.c (main): Test this.
26024
26025         hash: minor optimization
26026         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
26027         when possible.
26028         (hash_initialize): Document this promise.
26029         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
26030         * tests/test-hash.c (hash_compare_strings): Test this.
26031
26032 2009-06-18  Bruno Haible  <bruno@clisp.org>
26033
26034         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
26035         going to be replaced anyway.
26036
26037 2009-06-18  Bruno Haible  <bruno@clisp.org>
26038
26039         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
26040         in one place.
26041         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
26042         be replaced anyway.
26043
26044 2009-06-18  Eric Blake  <ebb9@byu.net>
26045
26046         hash: check for resize before insertion
26047         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
26048         threshold before insertion, so that a pathological hash_rehash
26049         that fills every bucket can still trigger another rehash.
26050
26051 2009-06-18  Jim Meyering  <meyering@redhat.com>
26052
26053         hash-tests: add a loop around the small tests
26054         * tests/test-hash.c (main): Repeat small tests with selected
26055         small initial table sizes.
26056
26057 2009-06-17  Eric Blake  <ebb9@byu.net>
26058
26059         hash: minor cleanups
26060         * lib/hash.h (hash_entry): Make opaque, by moving...
26061         * lib/hash.c (hash_entry): ...here.
26062         (hash_insert): Clarify restrictions on what can be inserted.
26063         (hash_get_next): Clarify when it is safe to remove an element
26064         during traversal.
26065         (check_tuning): Skip verification when tuning is known safe.
26066         (hash_initialize): Clarify restrictions on tuning.
26067
26068 2009-06-17  Jim Meyering  <jim@meyering.net>
26069         and Eric Blake  <ebb9@byu.net>
26070
26071         hash-tests: new module
26072         * modules/hash-tests: New file.
26073         * tests/test-hash.c: New file.
26074
26075 2009-06-17  Eric Blake  <ebb9@byu.net>
26076
26077         strstr-simple: document new module
26078         * MODULES.html.sh: Document new module.
26079
26080         strstr, strcasestr: replace on platforms with broken memchr
26081         * modules/strstr: Split into...
26082         * modules/strstr-simple: ...new module that does not care about
26083         performance, but does care about glibc bug.
26084         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
26085         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
26086         if platform memchr is broken, per Debian bug 521737.
26087         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
26088         memchr.
26089         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
26090         * doc/posix-functions/strstr.texi (strstr): Document the fix.
26091         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26092         * modules/mountlist (Depends-on): Add strstr-simple.
26093         * modules/gen-uni-tables (Depends-on): Likewise.
26094         * modules/argz (Depends-on): Add strstr.
26095
26096 2009-06-17  Bruno Haible  <bruno@clisp.org>
26097
26098         * modules/posix_spawn-internal (Depends-on): Add errno.
26099
26100 2009-06-17  Bruno Haible  <bruno@clisp.org>
26101
26102         Define missing ESTALE on Interix 3.5.
26103         * lib/errno.in.h (ESTALE): Assign a value if missing.
26104         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
26105         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
26106         missing.
26107         * doc/posix-headers/errno.texi: Mention the Interix bug.
26108         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
26109
26110 2009-06-15  Eric Blake  <ebb9@byu.net>
26111
26112         memchr, memchr2: add valgrind exception
26113         * lib/memchr.valgrind: New file.
26114         * lib/memchr2.valgrind: New file.
26115         * modules/memchr (Files): Distribute valgrind file.
26116         * modules/memchr2 (Files): Likewise.
26117
26118         docs: memchr is no longer obsolete
26119         * MODULES.html.sh: Move memchr from obsolete to string.h section.
26120         * lib/string.in.h (memchr): Simplify logic.
26121
26122 2009-06-14  Jim Meyering  <meyering@redhat.com>
26123
26124         link-follow: fix the "checking..." message to not mention trailing slash
26125         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
26126         never considered trailing slashes.
26127
26128 2009-06-14  Bruno Haible  <bruno@clisp.org>
26129
26130         * m4/memchr.m4: Mention also the bug on IA-64.
26131         * doc/posix-functions/memchr.texi: Likewise.
26132
26133 2009-06-12  Eric Blake  <ebb9@byu.net>
26134
26135         memchr: detect broken x86_64 and alpha implementations
26136         * modules/memchr-tests (Depends-on): Move mmap detection...
26137         * modules/memchr (Depends-on): ...here.
26138         (configure.ac): Set indicator.
26139         * lib/string.in.h (memchr): Declare replacement.
26140         * modules/string (Makefile.am): Trigger replacement.
26141         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
26142         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
26143         bugs.
26144         * doc/posix-functions/memchr.texi (memchr): Document the bug.
26145         * modules/getpagesize (License): Relax license.
26146
26147 2009-06-11  Bruno Haible  <bruno@clisp.org>
26148
26149         * lib/idpriv.h: Add more references.
26150
26151 2009-06-08  Bruno Haible  <bruno@clisp.org>
26152
26153         Tests for module 'idpriv-droptemp'.
26154         * modules/idpriv-droptemp-tests: New file.
26155         * tests/test-idpriv-droptemp.sh: New file.
26156         * tests/test-idpriv-droptemp.su.sh: New file.
26157         * tests/test-idpriv-droptemp.c: New file.
26158
26159         New module 'idpriv-droptemp'.
26160         * lib/idpriv-droptemp.c: New file.
26161         * modules/idpriv-droptemp: New file.
26162
26163 2009-06-08  Bruno Haible  <bruno@clisp.org>
26164
26165         Tests for module 'idpriv-drop'.
26166         * modules/idpriv-drop-tests: New file.
26167         * tests/test-idpriv-drop.sh: New file.
26168         * tests/test-idpriv-drop.su.sh: New file.
26169         * tests/test-idpriv-drop.c: New file.
26170
26171         New module 'idpriv-drop'.
26172         * lib/idpriv.h: New file.
26173         * lib-idpriv-drop.c: New file.
26174         * m4/idpriv.m4: New file.
26175         * modules/idpriv-drop: New file.
26176
26177 2009-06-08  Bruno Haible  <bruno@clisp.org>
26178
26179         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
26180         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26181         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26182         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26183         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26184         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26185         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26186
26187 2009-06-08  Eric Blake  <ebb9@byu.net>
26188
26189         test-strstr: use memory fence, when possible
26190         * tests/test-strstr.c (main): Use memory fence, in order to be
26191         more likely to trigger Debian bug 521737.
26192         * modules/strstr-tests (Files): Pull in additional files.
26193
26194         memchr: no longer obsolete, for wider field testing
26195         * modules/memchr (Status, Notice): Delete, this module is no
26196         longer obsolete.
26197         * modules/vasnprintf (Depends-on): Add memchr.
26198
26199 2009-06-07  Jim Meyering  <meyering@redhat.com>
26200
26201         hash: declare some functions with the warn_unused_result attribute
26202         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
26203
26204 2009-06-07  Bruno Haible  <bruno@clisp.org>
26205
26206         * tests/test-alignof.c: Don't test int64_t if it does not exist.
26207         Reported by Eric Blake.
26208
26209 2009-06-06  Eric Blake  <ebb9@byu.net>
26210
26211         test-alignof: fix typo with long double
26212         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
26213         compiler error.
26214
26215 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
26216
26217         Escape non-texinfo { and }s.
26218         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
26219         markup error.
26220
26221 2009-06-04  Jim Meyering  <meyering@redhat.com>
26222
26223         gitlog-to-changelog: don't infloop on an empty commit log
26224         * build-aux/gitlog-to-changelog: Warn about an empty log message.
26225         Reported by Boris Petersen <transacid@centerim.org>.
26226
26227 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
26228
26229         version-etc: extend for packagers
26230         Add three new configure options, intended for packagers:
26231           --with-packager="packager name"
26232           --with-packager-version="packager-specific version"
26233           --with-packager-bug-reports="packager bug reporting"
26234         An example with coreutils:
26235           $ ./configure \
26236             --with-packager=Gentoo \
26237             --with-packager-bug-report=http://bugs.gentoo.org/ \
26238             --with-packager-version="patchset 1.6"
26239           $ ./src/ls --version | head -n2
26240           ls (GNU coreutils) 7.1-dirty
26241           Packaged by Gentoo (patchset 1.6)
26242         Note that the bug reporting info via --help doesn't show up because
26243         coreutils uses its own custom emit_bug_reporting_address() implementation
26244         in src/system.h.  If it didn't, it'd look like:
26245           $ ./src/ls --help | tail -n4
26246           Report bugs to <bug-coreutils@gnu.org>.
26247           Report Gentoo bugs to <http://bugs.gentoo.org/>.
26248           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
26249           General help using GNU software: <http://www.gnu.org/gethelp/>.
26250         * lib/version-etc.c: Print new information, if provided.
26251         * m4/version-etc.m4: New file.
26252         * modules/version-etc (Files): Add m4/version-etc.m4.
26253         (configure.ac): Add gl_VERSION_ETC.
26254
26255 2009-05-31  Bruno Haible  <bruno@clisp.org>
26256
26257         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
26258         and 'int64_t'.
26259         * modules/alignof-tests (Dependencies): Add stdint.
26260         Reported by Eric Blake.
26261
26262 2009-05-31  Bruno Haible  <bruno@clisp.org>
26263
26264         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
26265         restriction due to compiler bugs.
26266         Reported by Eric Blake.
26267
26268 2009-05-31  Simon Josefsson  <simon@josefsson.org>
26269             Bruno Haible  <bruno@clisp.org>
26270
26271         Fix test-alignof failure.
26272         * lib/alignof.h (alignof_slot): New macro.
26273         (alignof_type): New macro, with the same semantics as the previous
26274         'alignof'.
26275         (alignof): Alias to alignof_slot.
26276         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
26277         check that the results are usable as constant expressions.
26278
26279 2009-05-31  Bruno Haible  <bruno@clisp.org>
26280
26281         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
26282         * tests/test-memchr.c (main): Check that memchr does not read past the
26283         first occurrence of the byte.
26284         * tests/test-strstr.c (main): Update comment.
26285         Suggested by Eric Blake.
26286
26287 2009-05-30  Bruno Haible  <bruno@clisp.org>
26288
26289         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
26290         detail how to use dumpbin.
26291         Reported by David Byron <dbyron@dbyron.com>.
26292
26293 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26294
26295         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
26296
26297 2009-06-02  Simon Josefsson  <simon@josefsson.org>
26298
26299         * m4/manywarnings.m4: Add GCC 4.4 warnings.
26300
26301 2009-05-28  Bruno Haible  <bruno@clisp.org>
26302
26303         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
26304         build-aux/ files.
26305
26306 2009-05-28  Simon Josefsson  <simon@josefsson.org>
26307
26308         * gnulib-tool (func_import): Transform license on build-aux/ files too.
26309
26310 2009-05-27  Simon Josefsson  <simon@josefsson.org>
26311
26312         * gnulib-tool (sed_transform_main_lib_file)
26313         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
26314         regexps.
26315
26316 2009-05-26  Simon Josefsson  <simon@josefsson.org>
26317
26318         * tests/test-strstr.c: Add another self-test.
26319         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
26320         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
26321
26322 2009-05-23  Bruno Haible  <bruno@clisp.org>
26323
26324         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
26325         change.
26326
26327 2009-05-21  Bruno Haible  <bruno@clisp.org>
26328
26329         Simplify use of mode_t varargs.
26330         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
26331         uses 'mode_t' or 'int'.
26332         * lib/openat.c (openat): Likewise.
26333         * lib/open-safer.c (open_safer): Likewise.
26334         * m4/mode_t.m4: New file.
26335         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
26336         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
26337         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
26338         * modules/open (Files): Add m4/mode_t.m4.
26339         * modules/openat (Files): Likewise.
26340         * modules/fcntl-safer (Files): Likewise.
26341         Suggested by Eric Blake.
26342
26343 2009-05-21  Pádraig Brady  <P@draigbrady.com>
26344
26345         * doc/glibc-functions/fallocate.texi: New file.
26346         * doc/gnulib.texi: Include it.
26347
26348 2009-05-21  Eric Blake  <ebb9@byu.net>
26349             Bruno Haible  <bruno@clisp.org>
26350
26351         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
26352         invocations.
26353         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
26354
26355 2009-05-21  Eric Blake  <ebb9@byu.net>
26356             Bruno Haible  <bruno@clisp.org>
26357
26358         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
26359         include_next. Fix of 2008-11-20 commit.
26360         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
26361         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
26362         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
26363         NEXT_MATH_H.
26364         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
26365         instead of NEXT_MATH_H.
26366
26367 2009-05-21  Bruno Haible  <bruno@clisp.org>
26368
26369         Avoid redefinition warnings for SIZE_MAX.
26370         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
26371         Reported by Simon Josefsson.
26372
26373 2009-05-21  Bruno Haible  <bruno@clisp.org>
26374
26375         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
26376         AC_CACHE_VAL.
26377
26378 2009-05-20  Bruno Haible  <bruno@clisp.org>
26379
26380         Make zeroptr.h work on mingw.
26381         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
26382         mprotect.
26383         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
26384         * modules/memchr2-tests (configure.ac): Likewise.
26385         * modules/memcmp-tests (configure.ac): Likewise.
26386         * modules/memmem-tests (configure.ac): Likewise.
26387         * modules/memrchr-tests (configure.ac): Likewise.
26388         Reported by Simon Josefsson.
26389
26390 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26391
26392         * tests/test-glob.c: Include string.h for strcmp prototype.
26393
26394 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26395
26396         * modules/getdelim (Depends-on): Add explicit stdint, although it
26397         was implicitly already pulled in via realloc-posix.
26398         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
26399
26400 2009-05-20  Simon Josefsson  <simon@josefsson.org>
26401
26402         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
26403         G. Christensen" <tgc@jupiterrise.com>.
26404         * m4/sys_socket_h.m4: Check for sa_family_t.
26405         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
26406         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
26407         * tests/test-sys_socket.c: Check that sa_family_t works.
26408
26409 2009-05-18  Eric Blake  <ebb9@byu.net>
26410
26411         maint.mk: allow gnulib_dir in VPATH build
26412         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
26413
26414 2009-05-15  Jim Meyering  <meyering@redhat.com>
26415
26416         maint.mk: Give gnulib_dir a default definition.
26417         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
26418         Thus, most packages no longer need to specify this variable in cfg.mk
26419
26420 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
26421
26422         rename.m4: fix typos that would make non-mingw cross-configure fail
26423         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
26424
26425 2009-05-13  Eric Blake  <ebb9@byu.net>
26426
26427         mmap-anon: avoid out-of-order autoconf expansion
26428         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
26429         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
26430         * modules/memchr-tests (Depends-on): Add extensions.
26431         * modules/memchr2-tests (Depends-on): Add extensions.
26432         * modules/memcmp-tests (Depends-on): Add extensions.
26433         * modules/memmem-tests (Depends-on): Add extensions.
26434         * modules/memrchr-tests (Depends-on): Add extensions.
26435
26436 2009-05-13  Bruno Haible  <bruno@clisp.org>
26437
26438         Make some tests ISO C 99 compliant.
26439         * tests/zerosize-ptr.h: New file.
26440         * tests/test-memchr.c: Include zerosize-ptr.h.
26441         (main): Use a zero-size object pointer instead of NULL.
26442         * tests/test-memchr2.c: Include zerosize-ptr.h.
26443         (main): Use a zero-size object pointer instead of NULL.
26444         * tests/test-memcmp.c: Include zerosize-ptr.h.
26445         (main): Use a zero-size object pointer instead of NULL.
26446         * tests/test-memmem.c: Include zerosize-ptr.h.
26447         (main): Use a zero-size object pointer instead of NULL.
26448         * tests/test-memrchr.c: Include zerosize-ptr.h.
26449         (main): Use a zero-size object pointer instead of NULL.
26450         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
26451         m4/mmap-anon.m4.
26452         (Depends-on): Add getpagesize.
26453         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26454         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
26455         m4/mmap-anon.m4.
26456         (Depends-on): Add getpagesize.
26457         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26458         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
26459         m4/mmap-anon.m4.
26460         (Depends-on): Add getpagesize.
26461         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26462         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
26463         m4/mmap-anon.m4.
26464         (Depends-on): Add getpagesize.
26465         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26466         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
26467         m4/mmap-anon.m4.
26468         (Depends-on): Add getpagesize.
26469         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
26470
26471 2009-05-12  Bruno Haible  <bruno@clisp.org>
26472
26473         Tests for module 'alignof'.
26474         * modules/alignof-tests: New file.
26475         * tests/test-alignof.c: New file.
26476
26477 2009-05-12  Bruno Haible  <bruno@clisp.org>
26478
26479         Fix alignof macro.
26480         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
26481         vendor compilers that are always correct.
26482
26483 2009-05-12  Bruno Haible  <bruno@clisp.org>
26484
26485         Make the MAP_ANONYMOUS detection work on HP-UX 11.
26486         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
26487         not whether its fully works.
26488
26489 2009-05-12  Bruno Haible  <bruno@clisp.org>
26490
26491         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
26492
26493 2009-05-12  Jim Meyering  <meyering@redhat.com>
26494
26495         * top/maint.mk: Adjust backslash alignment.
26496
26497 2009-05-11  Simon Josefsson  <simon@josefsson.org>
26498
26499         * top/maint.mk: Make $(srcdir)/build-aux configurable.
26500
26501 2009-05-11  Eric Blake  <ebb9@byu.net>
26502
26503         argp: avoid undefined behavior
26504         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
26505         macros.
26506
26507 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26508
26509         * tests/test-vc-list-files-git.sh: Do git config of user.email and
26510         user.name to prevent git commit from complaining.
26511
26512 2009-05-10  Bruno Haible  <bruno@clisp.org>
26513
26514         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
26515         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
26516         it rewrites every file name only once.
26517         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
26518
26519 2009-05-08  Bruno Haible  <bruno@clisp.org>
26520
26521         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
26522         instead of 'max'.
26523
26524 2009-05-08  Simon Josefsson  <simon@josefsson.org>
26525
26526         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
26527         sockaddr_storage test.
26528
26529 2009-05-07  Simon Josefsson  <simon@josefsson.org>
26530
26531         * modules/sys_socket (Makefile.am): Substitute
26532         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
26533         * m4/sys_socket_h.m4: Check for sockaddr_storage.
26534         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
26535         * tests/test-sys_socket.c: Check sockaddr_storage.
26536
26537 2009-05-08  Bruno Haible  <bruno@clisp.org>
26538
26539         New module 'alignof'.
26540         * lib/alignof.h: New file.
26541         * modules/alignof: New file.
26542
26543 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26544             Bruno Haible  <bruno@clisp.org>
26545
26546         Fix test-file-has-acl on FreeBSD.
26547         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
26548         mask is implicitly added.
26549         * tests/test-file-has-acl.c: Include <signal.h>.
26550         (main): Terminate the test after 5 seconds.
26551         * modules/acl-tests (configure.ac): Check for alarm function.
26552
26553 2009-05-04  Bruno Haible  <bruno@clisp.org>
26554
26555         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
26556         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
26557         * modules/errno (configure.ac): Drop AC_REQUIRE.
26558         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
26559         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
26560
26561 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26562
26563         * modules/glob-tests: New module.
26564         * tests/test-glob.c: Add.
26565
26566 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26567
26568         * modules/fnmatch-tests: New module.
26569         * tests/test-fnmatch.c: Add.
26570
26571 2009-05-04  Eric Blake  <ebb9@byu.net>
26572
26573         maint: make the new no-submodule-changes rule VPATH-safe
26574         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
26575
26576 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26577             Bruno Haible  <bruno@clisp.org>
26578
26579         acl: Fix infinite loop on FreeBSD.
26580         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
26581         of return value from acl_get_entry.
26582         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
26583         Likewise.
26584
26585 2009-05-03  Bruno Haible  <bruno@clisp.org>
26586
26587         * lib/acl-internal.h (acl_entries): Clarify return value.
26588         * lib/acl_entries.c (acl_entries): Likewise.
26589
26590 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26591
26592         Bug fix in acl module.
26593         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
26594
26595 2009-05-03  Bruno Haible  <bruno@clisp.org>
26596
26597         Create gperf-generated file in the source dir, not in the build dir.
26598         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
26599         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
26600         * modules/unicase/locale-language (unicase/locale-languages.h):
26601         Likewise.
26602         * modules/unicase/special-casing (unicase/special-casing-table.h):
26603         Likewise.
26604         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
26605         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
26606         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
26607         Reported by Ralf Wildenhues.
26608
26609 2009-05-03  Bruno Haible  <bruno@clisp.org>
26610
26611         * modules/fnmatch (Description, configure.ac): Taken from
26612         fnmatch-posix.
26613         * modules/fnmatch-posix: Turn into a symbolic reference to the
26614         'fnmatch' module, and deprecate.
26615         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
26616
26617 2009-05-03  Bruno Haible  <bruno@clisp.org>
26618
26619         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
26620         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
26621         Reported by Ralf Wildenhues.
26622
26623 2009-05-04  Simon Josefsson  <simon@josefsson.org>
26624
26625         * m4/fnmatch.m4: Fix fnmatch re-define.
26626
26627 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
26628
26629         priv-set: new module and tests; adapt write-any-file
26630         * lib/priv-set.c: New file.
26631         * lib/priv-set.h: New file.
26632         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
26633         * lib/write-any-file.c: Simplify by using priv-set module.
26634         * m4/priv-set.m4: New file.
26635         * modules/priv-set: New file.
26636         * modules/unlinkdir: Add dependency on priv-set module.
26637         * modules/write-any-file: Likewise.
26638
26639         Tests for module 'priv-set'.
26640         * modules/priv-set-tests: New file.
26641         * tests/test-priv-set.c: New file.
26642
26643 2009-05-03  Jim Meyering  <meyering@redhat.com>
26644             Bruno Haible  <bruno@clisp.org>
26645
26646         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
26647         use the converted UTF-8 variant of the name instead.
26648
26649 2009-05-03  Jim Meyering  <meyering@redhat.com>
26650
26651         tests: tighten some getdate tests
26652         * tests/test-getdate.c (main): Tighten tests: require equality,
26653         not just greater than.  Set TZ envvar to UTC0.
26654
26655 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
26656
26657         getdate: correctly interpret "next monday" when run on a Monday
26658         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
26659         that e.g., "next tues" (when run on a tuesday) results in a date
26660         that is one week in the future, and not today's date.
26661         I.e., add a week when the wday is the same as the current one.
26662         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
26663         and earlier by Martin Bernreuther and Jan Minář.
26664         * tests/test-getdate.c (main): Check that "next DAY" is always in
26665         the future and that "last DAY" is always in the past.
26666
26667 2009-05-02  Jim Meyering  <meyering@redhat.com>
26668
26669         build: ensure that a release build fails when a submodule is unclean
26670         * top/maint.mk (no-submodule-changes): New rule.
26671         (alpha beta major): Depend on it.
26672
26673 2009-05-02  Bruno Haible  <bruno@clisp.org>
26674
26675         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
26676         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
26677         shell variable gl_fnmatch_required to detect which variant is
26678         requested.
26679         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
26680         gl_FUNC_FNMATCH_POSIX.
26681         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
26682         exclude fnmatch-posix.
26683
26684 2009-05-02  Bruno Haible  <bruno@clisp.org>
26685
26686         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
26687         * modules/mbsrtowcs (License): Change to LGPLv2+.
26688         * modules/strnlen1 (License): Likewise.
26689         Reported by Simon Josefsson.
26690
26691 2009-05-02  Bruno Haible  <bruno@clisp.org>
26692
26693         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
26694         "cross".
26695         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
26696         gnulib-tool was called with option --source-base=lib.
26697
26698 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26699
26700         Use automake *-local hooks without commands, for extensibility.
26701         * modules/localcharset (Makefile.am): Rename install-exec-local
26702         rule to install-exec-localcharset, and make it a prerequisite of
26703         install-exec-local.  Likewise, rename the uninstall-local rule to
26704         uninstall-localcharset, and make it a prerequisite of the former.
26705
26706 2009-05-01  Bruno Haible  <bruno@clisp.org>
26707
26708         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
26709         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26710         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
26711         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
26712         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
26713         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26714         m4/locale-zh.m4, m4/codeset.m4.
26715
26716         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
26717         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
26718         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
26719         m4/locale-zh.m4.
26720
26721         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
26722         REPLACE_WCRTOMB if mbstate_t must be replaced.
26723         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
26724         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
26725
26726 2009-05-01  Bruno Haible  <bruno@clisp.org>
26727
26728         Avoid compiler warnings when redefining macros defined by <libintl.h>.
26729         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
26730         dngettext, dcngettext, textdomain, bindtextdomain,
26731         bind_textdomain_codeset): Undefine before redefining.
26732
26733 2009-04-30  Bruno Haible  <bruno@clisp.org>
26734
26735         Fix bug introduced on 2009-04-25.
26736         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
26737         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
26738         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
26739         is defined.
26740         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
26741         is defined.
26742         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
26743         is defined.
26744         Reported by Elbert_Pol <elbert.pol@gmail.com>.
26745
26746 2009-04-28  Bruno Haible  <bruno@clisp.org>
26747
26748         Comment tweaks.
26749         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
26750         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
26751         * lib/unicase.h (u*_casexfrm): Likewise.
26752         Reported by Paolo Bonzini.
26753
26754 2009-04-28  Bruno Haible  <bruno@clisp.org>
26755
26756         Fix a compilation error.
26757         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
26758         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
26759         Reported by Jim Meyering.
26760
26761 2009-04-27  Bruno Haible  <bruno@clisp.org>
26762
26763         New module 'libunistring'.
26764         * modules/libunistring: New file.
26765         * m4/libunistring.m4: New file.
26766         * MODULES.html.sh (Unicode string functions): Add it.
26767
26768 2009-04-27  Eric Blake  <ebb9@byu.net>
26769
26770         maint.mk: allow package-specific header to provide <config.h>
26771         * top/maint.mk (sc_require_config_h): New variable.
26772         (sc_require_config_h, sc_require_config_h_first): Use it.
26773
26774 2009-04-27  Simon Josefsson  <simon@josefsson.org>
26775
26776         * top/maint.mk (sc_avoid_if_before_free): Except
26777         useless-if-before-free script.
26778
26779 2009-04-27  Eric Blake  <ebb9@byu.net>
26780
26781         maintainer-makefile: depend on all required helper scripts
26782         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
26783         useless-if-before-free.
26784         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
26785         version, rather than assuming gnulib checkout is available.
26786         Reported by Simen Josefsson.
26787
26788 2009-04-26  Bruno Haible  <bruno@clisp.org>
26789
26790         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
26791         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
26792         "../" or "..".
26793
26794 2009-04-26  Bruno Haible  <bruno@clisp.org>
26795
26796         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
26797         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
26798         AC_LIB_HAVE_LINKFLAGS.
26799
26800 2009-04-26  Bruno Haible  <bruno@clisp.org>
26801
26802         Simplify calling convention of u*_conv_from_encoding.
26803         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
26804         u32_conv_from_encoding): Expect a resultbuf argument and return the
26805         result directly as a pointer.
26806         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
26807         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
26808         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
26809         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
26810         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
26811         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26812         Update.
26813         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
26814         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
26815         * lib/vasnprintf.c (VASNPRINTF): Update.
26816         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
26817         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
26818         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
26819         * NEWS: Mention the change.
26820
26821 2009-04-26  Bruno Haible  <bruno@clisp.org>
26822
26823         Simplify calling convention of u*_conv_to_encoding.
26824         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26825         u32_conv_to_encoding): Expect a resultbuf argument and return the
26826         result directly as a pointer.
26827         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26828         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
26829         freeing scaled_offsets if mem_iconveha failed.
26830         * lib/unicase/u-casexfrm.h (FUNC): Update.
26831         * lib/uninorm/u-normxfrm.h (FUNC): Update.
26832         * lib/vasnprintf.c (VASNPRINTF): Update.
26833         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
26834         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
26835         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
26836         * NEWS: Mention the change.
26837
26838 2009-04-26  Bruno Haible  <bruno@clisp.org>
26839
26840         Avoid test failures on AIX and OSF/1.
26841         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
26842         malloc(0).
26843         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26844         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
26845         Likewise.
26846         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
26847         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
26848         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
26849         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
26850         * doc/posix-functions/malloc.texi: Document the portability problem
26851         related to malloc(0).
26852
26853 2009-04-26  Bruno Haible  <bruno@clisp.org>
26854
26855         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
26856         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
26857         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
26858
26859 2009-04-25  Bruno Haible  <bruno@clisp.org>
26860
26861         Avoid link error when creating a namespace clean library.
26862         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
26863         as macro with arguments if already defined as an alias.
26864         * lib/signbitf.c (gl_signbitf): Don't undefine.
26865         * lib/signbitd.c (gl_signbitd): Don't undefine.
26866         * lib/signbitl.c (gl_signbitl): Don't undefine.
26867
26868 2009-04-25  Jim Meyering  <meyering@redhat.com>
26869
26870         vc-list-files: fix another quoting bug
26871         * build-aux/vc-list-files: Avoid sed backslash expansion
26872         of pathological directory names.
26873
26874 2009-04-25  Eric Blake  <ebb9@byu.net>
26875
26876         vc-list-files: fix shell quoting error
26877         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
26878         timestamp.
26879
26880 2009-04-25  Jim Meyering  <meyering@redhat.com>
26881
26882         vc-list-files: restore lost functionality with subdir argument
26883         * build-aux/vc-list-files: When given a non-"." sub-directory
26884         argument, substitute the $dir/ prefix back onto each resulting name.
26885         Otherwise, coreutils' root_tests check would fail.
26886
26887 2009-04-24  Eric Blake  <ebb9@byu.net>
26888
26889         vc-list-files: ignore git symlinks
26890         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
26891         than ls-files, to ignore git symlinks.
26892
26893         maint.mk: import improvements from m4
26894         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
26895         (move_if_change): Delete unused macro.
26896         (news-date-check, vc-diff-check): Support VPATH builds.
26897         (announcement): Likewise.  Split --bootstrap-tools list...
26898         (boostrap-tools): ...into separate list, which can be overridden
26899         in cfg.mk.
26900         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
26901         requiring dependency on useless-if-before-free module.
26902         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
26903         Support VPATH builds.
26904
26905 2009-04-24  Jim Meyering  <meyering@redhat.com>
26906
26907         maint.mk: remove coreutils-specific rules and variables
26908         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
26909         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
26910         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
26911
26912         maint.mk: remove obsolete rule
26913         * top/maint.mk (rel-check): Remove rule.
26914         (WGET, WGETFLAGS): Remove now-unused variables.
26915
26916 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26917
26918         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
26919         consistency.
26920
26921         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
26922         '$(PATH_SEPARATOR)' instead of ':'.
26923
26924 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26925
26926         * lib/getopt1.c (main): Use 'const' for static array.
26927
26928 2009-04-24  Simon Josefsson  <simon@josefsson.org>
26929
26930         * top/maint.mk: Sync with coreutils.
26931         * NEWS: Explain incompatibilities.
26932
26933 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26934             Bruno Haible  <bruno@clisp.org>
26935
26936         Fix cross-compilation results.
26937         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
26938         statement, as third argument of AC_TRY_RUN.
26939         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26940         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
26941         Likewise.
26942         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26943         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26944         Likewise.
26945         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26946         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
26947         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
26948
26949 2009-04-20  Bruno Haible  <bruno@clisp.org>
26950
26951         Avoid test failure on mingw.
26952         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
26953
26954 2009-04-20  Bruno Haible  <bruno@clisp.org>
26955
26956         Avoid compilation error on mingw.
26957         * modules/localename-tests (Depends-on): Add locale.
26958
26959 2009-04-19  Bruno Haible  <bruno@clisp.org>
26960
26961         Support for building a shared library on Windows platforms.
26962         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
26963         (main): Test the presence of UNINORM_NFC here.
26964         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
26965         (main): Test the presence of UNINORM_NFD here.
26966         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
26967         (main): Test the presence of UNINORM_NFKC here.
26968         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
26969         (main): Test the presence of UNINORM_NFKD here.
26970
26971 2009-04-19  Bruno Haible  <bruno@clisp.org>
26972
26973         Avoid a compiler warning.
26974         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
26975         Change type of variable 'sequence'.
26976
26977 2009-04-19  Bruno Haible  <bruno@clisp.org>
26978
26979         * modules/configmake (Makefile.am): When the contents of configmake.h
26980         does not change, arrange to preserve its modification time.
26981
26982 2009-04-17  Simon Josefsson  <simon@josefsson.org>
26983
26984         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
26985         gettext domain.
26986
26987 2009-04-16  Jim Meyering  <meyering@redhat.com>
26988
26989         useless-if-before-free: improve conversion code
26990         * build-aux/useless-if-before-free: Adjust code-in-comment to match
26991         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
26992
26993 2009-04-14  Bruno Haible  <bruno@clisp.org>
26994
26995         * modules/fcntl (Depends-on): Add extensions.
26996         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
26997
26998 2009-04-12  Ben Pfaff  <blp@gnu.org>
26999
27000         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
27001         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
27002
27003 2009-03-20  Ben Pfaff  <blp@gnu.org>
27004
27005         Make rename replace existing destinations on Windows.
27006         * m4/rename.m4: Add test for Mingw.
27007         * lib/rename.c: Add rename replacement that uses MoveFileEx with
27008         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
27009         * doc/posix-functions/rename.texi: Document.
27010
27011 2009-04-10  Bruno Haible  <bruno@clisp.org>
27012
27013         New include file "iconveh.h".
27014         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
27015         * lib/striconveh.h: Include it.
27016         (enum iconv_ilseq_handler): Remove definition.
27017         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
27018         striconveh.h.
27019         * lib/striconveha.c: Include striconveh.h.
27020         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
27021         * modules/striconveh (Files): Add lib/iconveh.h.
27022         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
27023         lib/striconveh.h.
27024
27025 2009-04-10  Bruno Haible  <bruno@clisp.org>
27026
27027         * lib/uniconv.h: Update comment.
27028
27029 2009-04-10  Bruno Haible  <bruno@clisp.org>
27030
27031         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
27032         always.
27033         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
27034         * lib/unistr/u16-mbtouc-aux.c: Likewise.
27035         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
27036         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
27037         "unistring-notinline.h", so that the function gets defined always.
27038         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
27039         * lib/unistr/u8-uctomb.c: Likewise.
27040         * lib/unistr/u16-mbtouc.c: Likewise.
27041         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
27042         * lib/unistr/u16-uctomb.c: Likewise.
27043         * lib/unistr/u32-mbtouc.c: Likewise.
27044         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
27045         * lib/unistr/u32-uctomb.c: Likewise.
27046
27047 2009-04-10  Bruno Haible  <bruno@clisp.org>
27048
27049         Mark 'utime' obsolete.
27050         * modules/utime (Status, Notice): New sections.
27051         Suggested by Jim Meyering.
27052
27053         Fix cross-compile guess for utime test.
27054         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
27055         autoconf.
27056         * doc/posix-functions/utime.texi: Give more precisions.
27057         Reported by Jan <ipif@ymail.com>.
27058
27059 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
27060
27061         filevercmp: correct today's change
27062         * lib/filevercmp.c: Also handle coreutils' test inputs.
27063         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
27064
27065         Fix regression in 'filevercmp' module. Thanks Sven Joachim
27066         for reporting it.
27067         * lib/filevercmp.c: Special handle for "", "." and "..".
27068         * tests/test-filevercmp.c: Enlarge the set suite.
27069
27070 2009-04-07  Jim Meyering  <meyering@redhat.com>
27071
27072         useless-if-before-free: show how to remove braced useless free, too
27073         * build-aux/useless-if-before-free: still only in a comment, though.
27074
27075 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
27076
27077         maint.mk: import changes to syntax-check macros from coreutils
27078         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
27079         Use them in the relevant macros.
27080
27081 2009-04-06  Bruno Haible  <bruno@clisp.org>
27082
27083         Fix unportable use of bit-fields.
27084         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
27085         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
27086         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
27087
27088 2009-04-06  Bruno Haible  <bruno@clisp.org>
27089
27090         Avoid test failures on AIX and OSF/1.
27091         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
27092         that malloc(0) = NULL.
27093         * tests/unicase/test-u8-tolower.c (check): Likewise.
27094         * tests/unicase/test-u8-totitle.c (check): Likewise.
27095         * tests/unicase/test-u8-toupper.c (check): Likewise.
27096         * tests/unicase/test-u16-casefold.c (check): Likewise.
27097         * tests/unicase/test-u16-tolower.c (check): Likewise.
27098         * tests/unicase/test-u16-totitle.c (check): Likewise.
27099         * tests/unicase/test-u16-toupper.c (check): Likewise.
27100         * tests/unicase/test-u32-casefold.c (check): Likewise.
27101         * tests/unicase/test-u32-tolower.c (check): Likewise.
27102         * tests/unicase/test-u32-totitle.c (check): Likewise.
27103         * tests/unicase/test-u32-toupper.c (check): Likewise.
27104         * tests/uninorm/test-u8-nfc.c (check): Likewise.
27105         * tests/uninorm/test-u8-nfd.c (check): Likewise.
27106         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
27107         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
27108         * tests/uninorm/test-u16-nfc.c (check): Likewise.
27109         * tests/uninorm/test-u16-nfd.c (check): Likewise.
27110         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
27111         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
27112         * tests/uninorm/test-u32-nfc.c (check): Likewise.
27113         * tests/uninorm/test-u32-nfd.c (check): Likewise.
27114         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
27115         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
27116
27117 2009-04-05  Bruno Haible  <bruno@clisp.org>
27118
27119         Work around an autoconf limitation.
27120         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
27121         comment line if it would be longer than 3 KB.
27122
27123 2009-04-05  Bruno Haible  <bruno@clisp.org>
27124
27125         Avoid test failure with libiconv-1.13.
27126         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
27127         of the expected test results.
27128
27129 2009-04-05  Bruno Haible  <bruno@clisp.org>
27130
27131         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
27132         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
27133         that it should be installed.
27134
27135 2009-04-05  Bruno Haible  <bruno@clisp.org>
27136
27137         * gnulib-tool: New option --copy-file.
27138         (func_usage): Document it.
27139         (func_dest_tmpfilename): Moved out of func_import.
27140         (func_add_file, func_update_file): New functions, extracted from
27141         func_import.
27142         (func_import): Update.
27143
27144 2009-04-05  Karl Berry  <karl@gnu.org>
27145
27146         * README: prominently mention gnulib-tool.
27147         Rearrange sections so getting the code is near the top.
27148
27149 2009-04-05  Bruno Haible  <bruno@clisp.org>
27150
27151         * lib/unicase.h: Mention u*_cmp2.
27152         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27153         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
27154         * lib/unicase/ulc-casecmp.c: Likewise.
27155         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
27156         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
27157         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
27158         unistr/u8-cmp.
27159         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
27160         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
27161         unistr/u16-cmp.
27162         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
27163         unistr/u32-cmp.
27164
27165         * lib/uninorm.h: Mention u*_cmp2.
27166         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
27167         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
27168         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
27169         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
27170         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
27171         unistr/u8-cmp.
27172         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
27173         unistr/u16-cmp.
27174         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
27175         unistr/u32-cmp.
27176
27177         New module 'unistr/u32-cmp2'.
27178         * lib/unistr/u32-cmp2.c: New file.
27179         * modules/unistr/u32-cmp2: New file.
27180
27181         New module 'unistr/u16-cmp2'.
27182         * lib/unistr/u16-cmp2.c: New file.
27183         * modules/unistr/u16-cmp2: New file.
27184
27185         New module 'unistr/u8-cmp2'.
27186         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
27187         * lib/unistr/u8-cmp2.c: New file.
27188         * lib/unistr/u-cmp2.h: New file.
27189         * modules/unistr/u8-cmp2: New file.
27190
27191 2009-04-05  Bruno Haible  <bruno@clisp.org>
27192
27193         * lib/unictype.h (uc_property_is_valid): New macro.
27194         * tests/unictype/test-pr_byname.c (main): Use it.
27195
27196         * lib/unistr.h: Doc fixes.
27197         * lib/uniconv.h: Doc fixes.
27198         * lib/unictype.h: Doc fixes.
27199
27200 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
27201
27202         Port coreutils 7.2 to Solaris 8.
27203
27204         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
27205         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
27206         for Solaris 8.  This is a bit of a hack, as it means it's the
27207         caller's responsibility to add -lnsl if needed, but most likely it
27208         won't be needed since only getaddrinfo uses this and getaddrinfo
27209         isn't needed on Solaris 8.
27210
27211         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
27212         problem to Solaris 8 encountered with coreutils 7.2, which
27213         resulted in a message "fnmatch.c:292: warning: passing argument 4
27214         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
27215         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
27216
27217 2009-04-03  Simon Josefsson  <simon@josefsson.org>
27218
27219         * m4/ld-version-script.m4: Add FIXME comment.
27220
27221 2009-04-02  Simon Josefsson  <simon@josefsson.org>
27222
27223         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
27224         SOVERSION variable.
27225
27226 2009-04-02  Bruno Haible  <bruno@clisp.org>
27227
27228         * Makefile (info, html, dvi, pdf): Combine the rules.
27229         Suggested by Jim Meyering.
27230
27231 2009-04-01  Bruno Haible  <bruno@clisp.org>
27232
27233         * Makefile (info, html, dvi, pdf): New targets.
27234         Reported by Reuben Thomas <rrt@sc3d.org>.
27235
27236 2009-04-01  Bruno Haible  <bruno@clisp.org>
27237
27238         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
27239         can be put into PATH.
27240         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
27241
27242 2009-04-01  Bruno Haible  <bruno@clisp.org>
27243
27244         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
27245
27246 2009-04-01  Bruno Haible  <bruno@clisp.org>
27247
27248         Rename module 'visibility'.
27249         * modules/lib-symbol-visibility: Renamed from modules/visibility.
27250         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
27251         * doc/gnulib.texi: Update.
27252         * MODULES.html.sh (Misc): Update.
27253         * NEWS: Mention the change.
27254
27255 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27256
27257         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
27258         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
27259         Eric Blake <ebb9@byu.net> for review.
27260         * MODULES.html.sh: Add lib-msvc-compat.
27261         * doc/gnulib.texi: Link to new section.
27262         * m4/ld-output-def.m4: New file.
27263         * doc/ld-output-def.texi: New file.
27264
27265 2009-04-01  Simon Josefsson  <simon@josefsson.org>
27266
27267         Rename ld-version-script to lib-symbol-versions.  Suggested by
27268         Bruno Haible <bruno@clisp.org>.
27269         * modules/ld-version-script: Renamed to lib-symbol-versions.
27270         * doc/ld-version-script.texi: Fix module name.
27271         * MODULES.html.sh: Add lib-symbol-versions.
27272
27273 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27274
27275         * modules/u64-tests: New file.
27276         * tests/test-u64.c: New file.
27277
27278 2009-03-04  Simon Josefsson  <simon@josefsson.org>
27279
27280         * MODULES.html.sh: Mention u64.
27281         * modules/u64: New module.
27282         * modules/crypto/sha512: Depend on u64 module instead of providing
27283         u64.h.
27284
27285 2009-03-27  Eric Blake  <ebb9@byu.net>
27286
27287         test-strerror: make debugging EAI_SYSTEM easier
27288         * modules/getaddrinfo-tests (Depends-on): Add strerror.
27289         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
27290         failure was EAI_SYSTEM.
27291
27292 2009-03-25  Bruno Haible  <bruno@clisp.org>
27293
27294         Fix a problem with --enable-relocatable on Solaris 7.
27295         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
27296         since 2008-02-24.
27297
27298 2009-03-25  Eric Blake  <ebb9@byu.net>
27299
27300         test-sockets: avoid gcc warning
27301         * tests/test-sockets.c (main): Silence compiler warning.
27302
27303 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
27304
27305         New modules nproc, pthread, contributed by Glen Lenker.
27306
27307         * MODULES.html.sh: Add pthread, nproc.
27308         * lib/nproc.c: New file.
27309         * lib/nproc.h: New file.
27310         * lib/pthread.in.h: New file.
27311         * m4/pthread.m4: New file.
27312         * modules/nproc: New file.
27313         * modules/pthread: New file.
27314
27315 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27316
27317         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
27318         New variable.
27319
27320 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
27321
27322         filevercmp: handle simple~ and numbered.~3~ backup suffixes
27323         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
27324         * tests/test-filevercmp.c: Add tests for backup suffixes.
27325
27326 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27327
27328         * modules/stdlib (Depends-on): Add stdint, needed when defining
27329         struct random_data on, for example, HP-UX 10.20.  Reported by
27330         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27331
27332 2009-03-24  Simon Josefsson  <simon@josefsson.org>
27333
27334         * lib/readline.c (readline): Call fflush on stdout after printing
27335         prompt.
27336
27337 2009-03-20  Bruno Haible  <bruno@clisp.org>
27338
27339         Remove dependency from 'close' module to -lws2_32 on native Windows.
27340         * lib/close-hook.h: New file.
27341         * lib/close-hook.c: New file.
27342         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
27343         w32sock.h.
27344         (_gl_close_fd_maybe_socket): Remove function.
27345         (rpl_close): Invoke execute_all_close_hooks instead of
27346         _gl_close_fd_maybe_socket.
27347         * lib/sockets.c: Include close-hook.h, w32sock.h.
27348         (close_fd_maybe_socket): New function, essentially from lib/close.c.
27349         (close_sockets_hook): New variable.
27350         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
27351         (gl_sockets_cleanup): Unregister it.
27352         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
27353         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
27354         * modules/close-hook: New file.
27355         * modules/close (Files): Remove lib/w32sock.h.
27356         (Depends-on): Add close-hook.
27357         (Link): Remove section.
27358         * modules/sockets (Files): Add lib/w32sock.h.
27359         (Depends-on): Add close-hook.
27360         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
27361         invocation.
27362         * NEWS: Mention that LIB_CLOSE is gone.
27363
27364 2009-03-23  Eric Blake  <ebb9@byu.net>
27365
27366         signal-tests: test previous patch
27367         * tests/test-signal.c: New file.
27368         * modules/signal-tests: Likewise.
27369
27370         signal.h: always support 'volatile sig_atomic_t'
27371         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
27372         (gl_SIGNAL_H_DEFAULTS): Add a default.
27373         * modules/signal (Makefile.am): Substitute if needed.
27374         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
27375         users can blindly add volatile.
27376         * doc/posix-headers/signal.texi (signal.h): Document it.
27377         Reported by Matthew Woehlke.
27378
27379 2009-03-23  Jim Meyering  <meyering@redhat.com>
27380
27381         pathmax: PATH_MAX: use pathconf only when available
27382         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
27383         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
27384         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
27385         This avoids a link failure in a PSP cross-compilation environment
27386         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
27387
27388         * lib/vasnprintf.c (divide): Fix typo in comment.
27389
27390 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27391
27392         * gnulib-tool (func_filter_filelist): Fix comment.
27393
27394 2009-03-20  Bruno Haible  <bruno@clisp.org>
27395
27396         Make sockets.h self-contained.
27397         * lib/sockets.c: Include sockets.h first.
27398         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
27399
27400 2009-03-19  Eric Blake  <ebb9@byu.net>
27401
27402         doc: mention more functions added in cygwin 1.7.0
27403         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
27404         addition.
27405         * doc/posix-functions/log2f.texi: Likewise.
27406
27407 2009-03-19  Jim Meyering  <meyering@redhat.com>
27408
27409         fsusage: avoid syntax error due to statement-before-declaration
27410         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
27411         after all declarations.  Reported by Matthew Woehlke in
27412         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
27413
27414 2009-03-18  Eric Blake  <ebb9@byu.net>
27415
27416         build-aux/compile: sync from automake
27417         * build-aux/compile: New file, from automake.
27418         * config/srclist.txt: Mention build-aux/compile.
27419
27420 2009-03-17  Bruno Haible  <bruno@clisp.org>
27421
27422         * lib/git-merge-changelog.c: Fix typo in comment.
27423         Reported by Reuben Thomas <rrt@sc3d.org>.
27424
27425 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
27426
27427         * m4/regex.m4: update and improve help for
27428         --without-included-regex.
27429
27430 2009-03-17  Simon Josefsson  <simon@josefsson.org>
27431
27432         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
27433         failure on missing include files.
27434
27435 2009-03-17  Eric Blake  <ebb9@byu.net>
27436
27437         doc: mention more functions added in cygwin 1.7.0
27438         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
27439         addition.
27440         * doc/posix-functions/fwscanf.texi: Likewise.
27441         * doc/posix-functions/swprintf.texi: Likewise.
27442         * doc/posix-functions/swscanf.texi: Likewise.
27443         * doc/posix-functions/vfwprintf.texi: Likewise.
27444         * doc/posix-functions/vfwscanf.texi: Likewise.
27445         * doc/posix-functions/vswprintf.texi: Likewise.
27446         * doc/posix-functions/vswscanf.texi: Likewise.
27447         * doc/posix-functions/vwprintf.texi: Likewise.
27448         * doc/posix-functions/vwscanf.texi: Likewise.
27449         * doc/posix-functions/wcscasecmp.texi: Likewise.
27450         * doc/posix-functions/wcsdup.texi: Likewise.
27451         * doc/posix-functions/wcsftime.texi: Likewise.
27452         * doc/posix-functions/wcsncasecmp.texi: Likewise.
27453         * doc/posix-functions/wprintf.texi: Likewise.
27454         * doc/posix-functions/wscanf.texi: Likewise.
27455         * doc/glibc-functions/gethostbyname2.texi: Likewise.
27456
27457 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27458
27459         maint.mk: really add $(AM_MAKEFLAGS)
27460         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
27461         was inadvertently omitted in the last commit.
27462         Spotted by Bruno Haible.
27463
27464         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
27465         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
27466         $(AM_MAKEFLAGS)' rather than plain `make'.
27467
27468         gnulib-tool: execute $MAKE not make
27469         * gnulib-tool: Default $MAKE to 'make'.
27470         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
27471         than make.  Initialize $MAKE in the do-autobuild script.
27472
27473         gnulib-tool: use $MAKE not make in generated files
27474         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
27475         make, in generated files.  Initialize $MAKE in the do-autobuild
27476         script.
27477
27478         * top/GNUmakefile (_have-git-version-gen): Fix typo.
27479
27480         GNUmakefile: disable parallelism only for multiple, recursive targets
27481         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
27482         additions in the Makefile.
27483         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
27484         by Automake.
27485         (.NOTPARALLEL): Only disable parallel builds if multiple targets
27486         are listed on the command line and at least one of them is
27487         listed in $(ALL_RECURSIVE_TARGETS).
27488
27489 2009-03-14  Bruno Haible  <bruno@clisp.org>
27490
27491         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
27492         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
27493         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
27494         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
27495         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
27496         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
27497         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
27498         unistr/u8-uctomb.
27499         * modules/unistr/u8-strchr (Depends-on): Likewise.
27500         * modules/unistr/u8-strrchr (Depends-on): Likewise.
27501         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
27502         unistr/u16-uctomb.
27503         * modules/unistr/u16-strchr (Depends-on): Likewise.
27504         * modules/unistr/u16-strrchr (Depends-on): Likewise.
27505
27506 2009-03-12  Bruno Haible  <bruno@clisp.org>
27507
27508         Work around select() bug on Interix 3.5.
27509         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
27510         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
27511         * m4/select.m4: New file.
27512         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
27513         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
27514         * modules/select (Files): Add m4/select.m4.
27515         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
27516         * modules/nanosleep (Depends-on): Add select.
27517         * modules/poll (Depends-on): Likewise.
27518         * doc/posix-functions/select.texi: Mention the Interix bug.
27519         Reported by Markus Duft <mduft@gentoo.org>.
27520
27521         * lib/select.c: Renamed from lib/winsock-select.c.
27522         * modules/select (Files): Add lib/select.c, remove
27523         lib/winsock-select.c.
27524         (configure.ac): Update.
27525
27526 2009-03-12  Jim Meyering  <meyering@redhat.com>
27527
27528         avoid gcc warnings about unused macro definitions
27529         * lib/readtokens.c (STREQ): Remove unused definition.
27530         * lib/xmalloc.c (SIZE_MAX): Likewise.
27531         * lib/openat-die.c (N_): Likewise.
27532         * lib/mountlist.c (SIZE_MAX): Remove definition.
27533         Instead, include <stdint.h>.
27534         * lib/readutmp.c: Likewise.
27535         * modules/readutmp (Depends-on): Add stdint.
27536         * modules/mountlist (Depends-on): Add stdint.
27537         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
27538
27539 2009-03-10  Bruno Haible  <bruno@clisp.org>
27540
27541         Tests for module 'mbmemcasecoll'.
27542         * modules/mbmemcasecoll-tests: New file.
27543         * tests/test-mbmemcasecoll1.sh: New file.
27544         * tests/test-mbmemcasecoll2.sh: New file.
27545         * tests/test-mbmemcasecoll3.sh: New file.
27546         * tests/test-mbmemcasecoll.c: New file.
27547
27548         New module 'mbmemcasecoll'.
27549         * lib/mbmemcasecoll.h: New file.
27550         * lib/mbmemcasecoll.c: New file.
27551         * modules/mbmemcasecoll: New file.
27552
27553         * tests/test-mbmemcasecmp.h: New file, extracted from
27554         tests/test-mbmemcasecmp.c.
27555         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
27556         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
27557         (main): Update.
27558         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
27559
27560 2009-03-09  Bruno Haible  <bruno@clisp.org>
27561
27562         Tests for module 'mbmemcasecmp'.
27563         * modules/mbmemcasecmp-tests: New file.
27564         * tests/test-mbmemcasecmp1.sh: New file.
27565         * tests/test-mbmemcasecmp2.sh: New file.
27566         * tests/test-mbmemcasecmp3.sh: New file.
27567         * tests/test-mbmemcasecmp.c: New file.
27568
27569         New module 'mbmemcasecmp'.
27570         * lib/mbmemcasecmp.h: New file.
27571         * lib/mbmemcasecmp.c: New file.
27572         * modules/mbmemcasecmp: New file.
27573
27574 2009-03-09  Bruno Haible  <bruno@clisp.org>
27575
27576         Tests for module 'unicase/ulc-casecoll'.
27577         * modules/unicase/ulc-casecoll-tests: New file.
27578         * tests/unicase/test-ulc-casecoll1.sh: New file.
27579         * tests/unicase/test-ulc-casecoll2.sh: New file.
27580         * tests/unicase/test-ulc-casecoll.c: New file.
27581
27582         New module 'unicase/ulc-casecoll'.
27583         * lib/unicase.h (ulc_casecoll): New declaration.
27584         * lib/unicase/ulc-casecoll.c: New file.
27585         * modules/unicase/ulc-casecoll: New file.
27586
27587         New module 'unicase/ulc-casexfrm'.
27588         * lib/unicase.h (ulc_casexfrm): New declaration.
27589         * lib/unicase/ulc-casexfrm.c: New file.
27590         * modules/unicase/ulc-casexfrm: New file.
27591
27592 2009-03-09  Bruno Haible  <bruno@clisp.org>
27593
27594         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
27595         invocations.
27596
27597         * m4/mbscasecmp.m4: Remove file.
27598         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
27599         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
27600
27601         * m4/mbscasestr.m4: Remove file.
27602         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
27603         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
27604
27605         * m4/mbschr.m4: Remove file.
27606         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
27607         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
27608
27609         * m4/mbscspn.m4: Remove file.
27610         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
27611         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
27612
27613         * m4/mbslen.m4: Remove file.
27614         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
27615         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
27616
27617         * m4/mbsncasecmp.m4: Remove file.
27618         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
27619         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
27620
27621         * m4/mbsnlen.m4: Remove file.
27622         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
27623         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
27624
27625         * m4/mbspbrk.m4: Remove file.
27626         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
27627         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
27628
27629         * m4/mbspcasecmp.m4: Remove file.
27630         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
27631         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
27632
27633         * m4/mbsrchr.m4: Remove file.
27634         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
27635         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
27636
27637         * m4/mbssep.m4: Remove file.
27638         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
27639         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
27640
27641         * m4/mbsspn.m4: Remove file.
27642         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
27643         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
27644
27645         * m4/mbsstr.m4: Remove file.
27646         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
27647         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
27648
27649         * m4/mbstok_r.m4: Remove file.
27650         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
27651         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
27652
27653         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
27654
27655         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
27656         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
27657
27658         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
27659
27660 2009-03-08  Bruno Haible  <bruno@clisp.org>
27661
27662         Tests for module 'unicase/ulc-casecmp'.
27663         * modules/unicase/ulc-casecmp-tests: New file.
27664         * tests/unicase/test-ulc-casecmp1.sh: New file.
27665         * tests/unicase/test-ulc-casecmp2.sh: New file.
27666         * tests/unicase/test-ulc-casecmp.c: New file.
27667
27668         New module 'unicase/ulc-casecmp'.
27669         * lib/unicase.h (ulc_casecmp): New declaration.
27670         * lib/unicase/ulc-casecmp.c: New file.
27671         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
27672         'const SRC_UNIT *'.
27673         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
27674         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
27675         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
27676         * modules/unicase/ulc-casecmp: New file.
27677
27678         Tests for module 'unicase/u32-is-cased'.
27679         * modules/unicase/u32-is-cased-tests: New file.
27680         * tests/unicase/test-u32-is-cased.c: New file.
27681
27682         Tests for module 'unicase/u16-is-cased'.
27683         * modules/unicase/u16-is-cased-tests: New file.
27684         * tests/unicase/test-u16-is-cased.c: New file.
27685
27686         Tests for module 'unicase/u8-is-cased'.
27687         * modules/unicase/u8-is-cased-tests: New file.
27688         * tests/unicase/test-u8-is-cased.c: New file.
27689         * tests/unicase/test-is-cased.h: New file.
27690
27691         New module 'unicase/u32-is-cased'.
27692         * lib/unicase/u32-is-cased.c: New file.
27693         * modules/unicase/u32-is-cased: New file.
27694
27695         New module 'unicase/u16-is-cased'.
27696         * lib/unicase/u16-is-cased.c: New file.
27697         * modules/unicase/u16-is-cased: New file.
27698
27699         New module 'unicase/u8-is-cased'.
27700         * lib/unicase/u8-is-cased.c: New file.
27701         * lib/unicase/u-is-cased.h: New file.
27702         * modules/unicase/u8-is-cased: New file.
27703
27704         Tests for module 'unicase/u32-is-casefolded'.
27705         * modules/unicase/u32-is-casefolded-tests: New file.
27706         * tests/unicase/test-u32-is-casefolded.c: New file.
27707
27708         Tests for module 'unicase/u16-is-casefolded'.
27709         * modules/unicase/u16-is-casefolded-tests: New file.
27710         * tests/unicase/test-u16-is-casefolded.c: New file.
27711
27712         Tests for module 'unicase/u8-is-casefolded'.
27713         * modules/unicase/u8-is-casefolded-tests: New file.
27714         * tests/unicase/test-u8-is-casefolded.c: New file.
27715         * tests/unicase/test-is-casefolded.h: New file.
27716
27717         New module 'unicase/u32-is-casefolded'.
27718         * lib/unicase/u32-is-casefolded.c: New file.
27719         * modules/unicase/u32-is-casefolded: New file.
27720
27721         New module 'unicase/u16-is-casefolded'.
27722         * lib/unicase/u16-is-casefolded.c: New file.
27723         * modules/unicase/u16-is-casefolded: New file.
27724
27725         New module 'unicase/u8-is-casefolded'.
27726         * lib/unicase/u8-is-casefolded.c: New file.
27727         * modules/unicase/u8-is-casefolded: New file.
27728
27729         Tests for module 'unicase/u32-is-titlecase'.
27730         * modules/unicase/u32-is-titlecase-tests: New file.
27731         * tests/unicase/test-u32-is-titlecase.c: New file.
27732
27733         Tests for module 'unicase/u16-is-titlecase'.
27734         * modules/unicase/u16-is-titlecase-tests: New file.
27735         * tests/unicase/test-u16-is-titlecase.c: New file.
27736
27737         Tests for module 'unicase/u8-is-titlecase'.
27738         * modules/unicase/u8-is-titlecase-tests: New file.
27739         * tests/unicase/test-u8-is-titlecase.c: New file.
27740         * tests/unicase/test-is-titlecase.h: New file.
27741
27742         New module 'unicase/u32-is-titlecase'.
27743         * lib/unicase/u32-is-titlecase.c: New file.
27744         * modules/unicase/u32-is-titlecase: New file.
27745
27746         New module 'unicase/u16-is-titlecase'.
27747         * lib/unicase/u16-is-titlecase.c: New file.
27748         * modules/unicase/u16-is-titlecase: New file.
27749
27750         New module 'unicase/u8-is-titlecase'.
27751         * lib/unicase/u8-is-titlecase.c: New file.
27752         * modules/unicase/u8-is-titlecase: New file.
27753
27754         Tests for module 'unicase/u32-is-lowercase'.
27755         * modules/unicase/u32-is-lowercase-tests: New file.
27756         * tests/unicase/test-u32-is-lowercase.c: New file.
27757
27758         Tests for module 'unicase/u16-is-lowercase'.
27759         * modules/unicase/u16-is-lowercase-tests: New file.
27760         * tests/unicase/test-u16-is-lowercase.c: New file.
27761
27762         Tests for module 'unicase/u8-is-lowercase'.
27763         * modules/unicase/u8-is-lowercase-tests: New file.
27764         * tests/unicase/test-u8-is-lowercase.c: New file.
27765         * tests/unicase/test-is-lowercase.h: New file.
27766
27767         New module 'unicase/u32-is-lowercase'.
27768         * lib/unicase/u32-is-lowercase.c: New file.
27769         * modules/unicase/u32-is-lowercase: New file.
27770
27771         New module 'unicase/u16-is-lowercase'.
27772         * lib/unicase/u16-is-lowercase.c: New file.
27773         * modules/unicase/u16-is-lowercase: New file.
27774
27775         New module 'unicase/u8-is-lowercase'.
27776         * lib/unicase/u8-is-lowercase.c: New file.
27777         * modules/unicase/u8-is-lowercase: New file.
27778
27779         Tests for module 'unicase/u32-is-uppercase'.
27780         * modules/unicase/u32-is-uppercase-tests: New file.
27781         * tests/unicase/test-u32-is-uppercase.c: New file.
27782
27783         Tests for module 'unicase/u16-is-uppercase'.
27784         * modules/unicase/u16-is-uppercase-tests: New file.
27785         * tests/unicase/test-u16-is-uppercase.c: New file.
27786
27787         Tests for module 'unicase/u8-is-uppercase'.
27788         * modules/unicase/u8-is-uppercase-tests: New file.
27789         * tests/unicase/test-u8-is-uppercase.c: New file.
27790         * tests/unicase/test-is-uppercase.h: New file.
27791
27792         New module 'unicase/u32-is-uppercase'.
27793         * lib/unicase/u32-is-uppercase.c: New file.
27794         * modules/unicase/u32-is-uppercase: New file.
27795
27796         New module 'unicase/u16-is-uppercase'.
27797         * lib/unicase/u16-is-uppercase.c: New file.
27798         * modules/unicase/u16-is-uppercase: New file.
27799
27800         New module 'unicase/u8-is-uppercase'.
27801         * lib/unicase/u8-is-uppercase.c: New file.
27802         * modules/unicase/u8-is-uppercase: New file.
27803
27804         New module 'unicase/u32-is-invariant'.
27805         * lib/unicase/u32-is-invariant.c: New file.
27806         * modules/unicase/u32-is-invariant: New file.
27807
27808         New module 'unicase/u16-is-invariant'.
27809         * lib/unicase/u16-is-invariant.c: New file.
27810         * modules/unicase/u16-is-invariant: New file.
27811
27812         New module 'unicase/u8-is-invariant'.
27813         * lib/unicase/u8-is-invariant.c: New file.
27814         * lib/unicase/invariant.h: New file.
27815         * lib/unicase/u-is-invariant.h: New file.
27816         * modules/unicase/u8-is-invariant: New file.
27817
27818         Tests for module 'unicase/u32-casecoll'.
27819         * modules/unicase/u32-casecoll-tests: New file.
27820         * tests/unicase/test-u32-casecoll.c: New file.
27821
27822         Tests for module 'unicase/u16-casecoll'.
27823         * modules/unicase/u16-casecoll-tests: New file.
27824         * tests/unicase/test-u16-casecoll.c: New file.
27825
27826         Tests for module 'unicase/u8-casecoll'.
27827         * modules/unicase/u8-casecoll-tests: New file.
27828         * tests/unicase/test-u8-casecoll.c: New file.
27829
27830         New module 'unicase/u32-casecoll'.
27831         * lib/unicase/u32-casecoll.c: New file.
27832         * modules/unicase/u32-casecoll: New file.
27833
27834         New module 'unicase/u16-casecoll'.
27835         * lib/unicase/u16-casecoll.c: New file.
27836         * modules/unicase/u16-casecoll: New file.
27837
27838         New module 'unicase/u8-casecoll'.
27839         * lib/unicase/u8-casecoll.c: New file.
27840         * lib/unicase/u-casecoll.h: New file.
27841         * modules/unicase/u8-casecoll: New file.
27842
27843         New module 'unicase/u32-casexfrm'.
27844         * lib/unicase/u32-casexfrm.c: New file.
27845         * modules/unicase/u32-casexfrm: New file.
27846
27847         New module 'unicase/u16-casexfrm'.
27848         * lib/unicase/u16-casexfrm.c: New file.
27849         * modules/unicase/u16-casexfrm: New file.
27850
27851         New module 'unicase/u8-casexfrm'.
27852         * lib/unicase/u8-casexfrm.c: New file.
27853         * lib/unicase/u-casexfrm.h: New file.
27854         * modules/unicase/u8-casexfrm: New file.
27855
27856         Tests for module 'unicase/u32-casecmp'.
27857         * modules/unicase/u32-casecmp-tests: New file.
27858         * tests/unicase/test-u32-casecmp.c: New file.
27859
27860         Tests for module 'unicase/u16-casecmp'.
27861         * modules/unicase/u16-casecmp-tests: New file.
27862         * tests/unicase/test-u16-casecmp.c: New file.
27863
27864         Tests for module 'unicase/u8-casecmp'.
27865         * modules/unicase/u8-casecmp-tests: New file.
27866         * tests/unicase/test-u8-casecmp.c: New file.
27867         * tests/unicase/test-casecmp.h: New file.
27868
27869         New module 'unicase/u32-casecmp'.
27870         * lib/unicase/u32-casecmp.c: New file.
27871         * modules/unicase/u32-casecmp: New file.
27872
27873         New module 'unicase/u16-casecmp'.
27874         * lib/unicase/u16-casecmp.c: New file.
27875         * modules/unicase/u16-casecmp: New file.
27876
27877         New module 'unicase/u8-casecmp'.
27878         * lib/unicase/u8-casecmp.c: New file.
27879         * lib/unicase/u-casecmp.h: New file.
27880         * modules/unicase/u8-casecmp: New file.
27881
27882         Tests for module 'unicase/u32-casefold'.
27883         * modules/unicase/u32-casefold-tests: New file.
27884         * tests/unicase/test-u32-casefold.c: New file.
27885
27886         Tests for module 'unicase/u16-casefold'.
27887         * modules/unicase/u16-casefold-tests: New file.
27888         * tests/unicase/test-u16-casefold.c: New file.
27889
27890         Tests for module 'unicase/u8-casefold'.
27891         * modules/unicase/u8-casefold-tests: New file.
27892         * tests/unicase/test-u8-casefold.c: New file.
27893
27894         New module 'unicase/u32-casefold'.
27895         * lib/unicase/u32-casefold.c: New file.
27896         * modules/unicase/u32-casefold: New file.
27897
27898         New module 'unicase/u16-casefold'.
27899         * lib/unicase/u16-casefold.c: New file.
27900         * modules/unicase/u16-casefold: New file.
27901
27902         New module 'unicase/u8-casefold'.
27903         * lib/unicase/u8-casefold.c: New file.
27904         * lib/unicase/u-casefold.h: New file.
27905         * modules/unicase/u8-casefold: New file.
27906
27907         New module 'unicase/tocasefold'.
27908         * lib/unicase/casefold.h: New file.
27909         * lib/unicase/tocasefold.c: New file.
27910         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
27911         * modules/unicase/tocasefold: New file.
27912
27913         Tests for module 'unicase/u32-totitle'.
27914         * modules/unicase/u32-totitle-tests: New file.
27915         * tests/unicase/test-u32-totitle.c: New file.
27916
27917         Tests for module 'unicase/u16-totitle'.
27918         * modules/unicase/u16-totitle-tests: New file.
27919         * tests/unicase/test-u16-totitle.c: New file.
27920
27921         Tests for module 'unicase/u8-totitle'.
27922         * modules/unicase/u8-totitle-tests: New file.
27923         * tests/unicase/test-u8-totitle.c: New file.
27924
27925         New module 'unicase/u32-totitle'.
27926         * lib/unicase/u32-totitle.c: New file.
27927         * modules/unicase/u32-totitle: New file.
27928
27929         New module 'unicase/u16-totitle'.
27930         * lib/unicase/u16-totitle.c: New file.
27931         * modules/unicase/u16-totitle: New file.
27932
27933         New module 'unicase/u8-totitle'.
27934         * lib/unicase/u8-totitle.c: New file.
27935         * lib/unicase/u-totitle.h: New file.
27936         * modules/unicase/u8-totitle: New file.
27937
27938         Tests for module 'unicase/u32-tolower'.
27939         * modules/unicase/u32-tolower-tests: New file.
27940         * tests/unicase/test-u32-tolower.c: New file.
27941
27942         Tests for module 'unicase/u16-tolower'.
27943         * modules/unicase/u16-tolower-tests: New file.
27944         * tests/unicase/test-u16-tolower.c: New file.
27945
27946         Tests for module 'unicase/u8-tolower'.
27947         * modules/unicase/u8-tolower-tests: New file.
27948         * tests/unicase/test-u8-tolower.c: New file.
27949
27950         New module 'unicase/u32-tolower'.
27951         * lib/unicase/u32-tolower.c: New file.
27952         * modules/unicase/u32-tolower: New file.
27953
27954         New module 'unicase/u16-tolower'.
27955         * lib/unicase/u16-tolower.c: New file.
27956         * modules/unicase/u16-tolower: New file.
27957
27958         New module 'unicase/u8-tolower'.
27959         * lib/unicase/u8-tolower.c: New file.
27960         * modules/unicase/u8-tolower: New file.
27961
27962         Tests for module 'unicase/u32-toupper'.
27963         * modules/unicase/u32-toupper-tests: New file.
27964         * tests/unicase/test-u32-toupper.c: New file.
27965
27966         Tests for module 'unicase/u16-toupper'.
27967         * modules/unicase/u16-toupper-tests: New file.
27968         * tests/unicase/test-u16-toupper.c: New file.
27969
27970         Tests for module 'unicase/u8-toupper'.
27971         * modules/unicase/u8-toupper-tests: New file.
27972         * tests/unicase/test-u8-toupper.c: New file.
27973
27974         New module 'unicase/u32-toupper'.
27975         * lib/unicase/u32-toupper.c: New file.
27976         * modules/unicase/u32-toupper: New file.
27977
27978         New module 'unicase/u16-toupper'.
27979         * lib/unicase/u16-toupper.c: New file.
27980         * modules/unicase/u16-toupper: New file.
27981
27982         New module 'unicase/u8-toupper'.
27983         * lib/unicase/u8-toupper.c: New file.
27984         * modules/unicase/u8-toupper: New file.
27985
27986         New module 'unicase/u32-casemap'.
27987         * lib/unicase/u32-casemap.c: New file.
27988         * modules/unicase/u32-casemap: New file.
27989
27990         New module 'unicase/u16-casemap'.
27991         * lib/unicase/u16-casemap.c: New file.
27992         * modules/unicase/u16-casemap: New file.
27993
27994         New module 'unicase/u8-casemap'.
27995         * lib/unicase/unicasemap.h: New file.
27996         * lib/unicase/u8-casemap.c: New file.
27997         * lib/unicase/u-casemap.h: New file.
27998         * modules/unicase/u8-casemap: New file.
27999
28000         New module 'unicase/special-casing'.
28001         * lib/unicase/special-casing.h: New file.
28002         * lib/unicase/special-casing.c: New file.
28003         * lib/unicase/special-casing-table.gperf: New file, generated by
28004         gen-uni-tables.c.
28005         * modules/unicase/special-casing: New file.
28006
28007         Tests for module 'unicase/locale-language'.
28008         * modules/unicase/locale-language-tests: New file.
28009         * tests/unicase/test-locale-language.sh: New file.
28010         * tests/unicase/test-locale-language.c: New file.
28011
28012         New module 'unicase/locale-language'.
28013         * lib/unicase/locale-language.c: New file.
28014         * lib/unicase/locale-languages.gperf: New file.
28015         * modules/unicase/locale-language: New file.
28016
28017         Generate more tables for case conversion and case folding.
28018         * lib/gen-uni-tables.c (SCC_*): New enum items.
28019         (struct special_casing_rule): New type.
28020         (casing_rules, num_casing_rules, allocated_casing_rules): New
28021         variables.
28022         (add_casing_rule, fill_casing_rules): New functions.
28023         (struct casefold_rule): New type.
28024         (casefolding_rules, num_casefolding_rules,
28025         allocated_casefolding_rules): New variables.
28026         (fill_casefolding_rules): New function.
28027         (unicode_casefold): New variable.
28028         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
28029         sort_casing_rules, output_casing_rules): New functions.
28030         (main): Accept to more arguments: SpecialCasing.txt and
28031         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
28032         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
28033         Output mapping for casefolding.
28034
28035         * lib/unicase.h: Include stdbool.h, uninorm.h.
28036         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
28037         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
28038         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
28039         arguments.
28040         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
28041         resultp arguments.
28042         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
28043         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
28044         resultp arguments.
28045         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
28046         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
28047         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
28048         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
28049         declarations.
28050         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
28051
28052 2009-03-08  Bruno Haible  <bruno@clisp.org>
28053
28054         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28055         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
28056         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
28057         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28058
28059 2009-03-07  Bruno Haible  <bruno@clisp.org>
28060
28061         Adjust u*_normcmp, u*_normcoll API.
28062         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
28063         u16_normcoll, u32_normcoll): Change failure conventions.
28064         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
28065         errno and return -1.
28066         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
28067
28068 2009-03-07  Bruno Haible  <bruno@clisp.org>
28069
28070         Tests for module 'uninorm/u32-normcoll'.
28071         * modules/uninorm/u32-normcoll-tests: New file.
28072         * tests/uninorm/test-u32-normcoll.c: New file.
28073
28074         Tests for module 'uninorm/u16-normcoll'.
28075         * modules/uninorm/u16-normcoll-tests: New file.
28076         * tests/uninorm/test-u16-normcoll.c: New file.
28077
28078         Tests for module 'uninorm/u8-normcoll'.
28079         * modules/uninorm/u8-normcoll-tests: New file.
28080         * tests/uninorm/test-u8-normcoll.c: New file.
28081
28082 2009-03-07  Bruno Haible  <bruno@clisp.org>
28083
28084         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
28085         tests/uninorm/test-u32-normcmp.c.
28086         * tests/uninorm/test-u32-normcmp.c: Include it.
28087         (test_nonascii): New function, extracted from main. Add some more
28088         tests.
28089         (main): Invoke test_ascii and test_nonascii.
28090         * modules/uninorm/u32-normcmp-tests (Files): Add
28091         tests/uninorm/test-u32-normcmp.h.
28092         (Depends-on): Remove uninorm/u32-normcmp.
28093
28094         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
28095         tests/uninorm/test-u16-normcmp.c.
28096         * tests/uninorm/test-u16-normcmp.c: Include it.
28097         (test_nonascii): New function, extracted from main. Add some more
28098         tests.
28099         (main): Invoke test_ascii and test_nonascii.
28100         * modules/uninorm/u16-normcmp-tests (Files): Add
28101         tests/uninorm/test-u16-normcmp.h.
28102         (Depends-on): Remove uninorm/u16-normcmp.
28103
28104         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
28105         tests/uninorm/test-u8-normcmp.c.
28106         * tests/uninorm/test-u8-normcmp.c: Include it.
28107         (test_nonascii): New function, extracted from main. Add some more
28108         tests.
28109         (main): Invoke test_ascii and test_nonascii.
28110         * modules/uninorm/u8-normcmp-tests (Files): Add
28111         tests/uninorm/test-u8-normcmp.h.
28112         (Depends-on): Remove uninorm/u8-normcmp.
28113
28114 2009-03-07  Bruno Haible  <bruno@clisp.org>
28115
28116         New module 'uninorm/u32-normcoll'.
28117         * lib/uninorm/u32-normcoll.c: New file.
28118         * modules/uninorm/u32-normcoll: New file.
28119
28120         New module 'uninorm/u16-normcoll'.
28121         * lib/uninorm/u16-normcoll.c: New file.
28122         * modules/uninorm/u16-normcoll: New file.
28123
28124         New module 'uninorm/u8-normcoll'.
28125         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
28126         declarations.
28127         * lib/uninorm/u8-normcoll.c: New file.
28128         * lib/uninorm/u-normcoll.h: New file.
28129         * modules/uninorm/u8-normcoll: New file.
28130
28131         New module 'uninorm/u32-normxfrm'.
28132         * lib/uninorm/u32-normxfrm.c: New file.
28133         * modules/uninorm/u32-normxfrm: New file.
28134
28135         New module 'uninorm/u16-normxfrm'.
28136         * lib/uninorm/u16-normxfrm.c: New file.
28137         * modules/uninorm/u16-normxfrm: New file.
28138
28139         New module 'uninorm/u8-normxfrm'.
28140         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
28141         declarations.
28142         * lib/uninorm/u8-normxfrm.c: New file.
28143         * lib/uninorm/u-normxfrm.h: New file.
28144         * modules/uninorm/u8-normxfrm: New file.
28145
28146 2009-03-07  Bruno Haible  <bruno@clisp.org>
28147
28148         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
28149         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
28150         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
28151
28152 2009-03-07  Bruno Haible  <bruno@clisp.org>
28153
28154         New module 'memxfrm'.
28155         * lib/memxfrm.h: New file.
28156         * lib/memxfrm.c: New file.
28157         * modules/memxfrm: New file.
28158
28159 2009-03-07  Bruno Haible  <bruno@clisp.org>
28160
28161         New module 'memcmp2'.
28162         * lib/memcmp2.h: New file.
28163         * lib/memcmp2.c: New file.
28164         * modules/memcmp2: New file.
28165
28166 2009-03-07  Bruno Haible  <bruno@clisp.org>
28167
28168         Tests for module 'uninorm/decomposing-form'.
28169         * modules/uninorm/decomposing-form-tests: New file.
28170         * tests/uninorm/test-decomposing-form.c: New file.
28171
28172         New module 'uninorm/decomposing-form'.
28173         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
28174         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
28175         Add 'decomposing_variant' field.
28176         * lib/uninorm/decomposing-form.c: New file.
28177         * lib/uninorm/nfc.c (uninorm_nfc): Update.
28178         * lib/uninorm/nfd.c (uninorm_nfd): Update.
28179         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
28180         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
28181         * modules/uninorm/decomposing-form: New file.
28182         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
28183         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
28184
28185 2009-03-07  Bruno Haible  <bruno@clisp.org>
28186
28187         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
28188         strings.
28189
28190 2009-03-06  Bruno Haible  <bruno@clisp.org>
28191
28192         Tests for module 'uninorm/u32-normcmp'.
28193         * tests/uninorm/test-u32-normcmp.c: New file.
28194         * modules/uninorm/u32-normcmp-tests: New file.
28195
28196         Tests for module 'uninorm/u16-normcmp'.
28197         * tests/uninorm/test-u16-normcmp.c: New file.
28198         * modules/uninorm/u16-normcmp-tests: New file.
28199
28200         Tests for module 'uninorm/u8-normcmp'.
28201         * tests/uninorm/test-u8-normcmp.c: New file.
28202         * modules/uninorm/u8-normcmp-tests: New file.
28203
28204         New module 'uninorm/u32-normcmp'.
28205         * lib/uninorm/u32-normcmp.c: New file.
28206         * modules/uninorm/u32-normcmp: New file.
28207
28208         New module 'uninorm/u16-normcmp'.
28209         * lib/uninorm/u16-normcmp.c: New file.
28210         * modules/uninorm/u16-normcmp: New file.
28211
28212         New module 'uninorm/u8-normcmp'.
28213         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
28214         declarations.
28215         * lib/uninorm/u8-normcmp.c: New file.
28216         * lib/uninorm/u-normcmp.h: New file.
28217         * modules/uninorm/u8-normcmp: New file.
28218
28219 2009-03-06  Bruno Haible  <bruno@clisp.org>
28220
28221         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
28222         Reported by Eric Blake.
28223
28224 2009-03-06  Eric Blake  <ebb9@byu.net>
28225             Bruno Haible  <bruno@clisp.org>
28226
28227         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
28228         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
28229         condition.
28230         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28231         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
28232         condition.
28233         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
28234
28235 2009-03-06  Eric Blake  <ebb9@byu.net>
28236
28237         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
28238         to avoid compiler warnings.
28239         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
28240
28241 2009-03-05  Bruno Haible  <bruno@clisp.org>
28242
28243         * tests/test-ftell.c (main): Disable test beyond end of file on
28244         FreeMiNT.
28245         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28246
28247 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
28248
28249         * lib/filevercmp.c: Move hidden files up in ordering.
28250         * tests/test-filevercmp.c: Add tests for hidden files.
28251
28252 2009-03-04  Bruno Haible  <bruno@clisp.org>
28253
28254         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
28255         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
28256         AM_CFLAGS.
28257         Reported by Simon Josefsson.
28258
28259 2009-03-03  Bruno Haible  <bruno@clisp.org>
28260
28261         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
28262         Reported by Simon Josefsson.
28263
28264         * doc/ld-version-script.texi: Update node reference.
28265
28266 2009-03-03  Bruno Haible  <bruno@clisp.org>
28267
28268         * modules/visibility (License): Change to 'unlimited'.
28269         Suggested by Simon Josefsson.
28270
28271 2009-03-03  Jim Meyering  <meyering@redhat.com>
28272
28273         unlinkdir: cannot_unlink_dir may modify process state
28274         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
28275         it's neither thread-safe nor appropriate for use in a library.
28276
28277 2009-03-03  Eric Blake  <ebb9@byu.net>
28278
28279         test-closein: silence test under Darwin
28280         * tests/test-closein.sh: Ignore stderr from cat, since we don't
28281         care if it dies from EPIPE or EBADF.
28282
28283 2009-03-03  Bruno Haible  <bruno@clisp.org>
28284
28285         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
28286         earlier.
28287         * doc/visibility.texi: Fix @node and @section.
28288
28289 2009-03-03  Simon Josefsson  <simon@josefsson.org>
28290
28291         * doc/gnulib.texi: Link to sections for ld version script and
28292         visibility.
28293         * doc/visibility.texi: Add @node and @section.
28294         * modules/ld-version-script: New module.
28295         * m4/ld-version-script.m4: New file.
28296         * doc/ld-version-script.texi: New file.
28297
28298 2009-03-02  David Lutterkort  <lutter@redhat.com>
28299
28300         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
28301         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28302
28303 2009-03-02  Bruno Haible  <bruno@clisp.org>
28304
28305         * doc/visibility.texi: Mention libtool's -export-symbols option.
28306
28307 2009-03-02  Jim Meyering  <meyering@redhat.com>
28308
28309         announce-gen: new option: --no-print-checksums
28310         * build-aux/announce-gen (usage): Describe it.
28311         (print_checksums): Print a newline here, not in the [*] footnote.
28312         (main): Honor it.
28313
28314 2009-03-01  Bruno Haible  <bruno@clisp.org>
28315
28316         Use socklen_t in the native Windows replacements prototypes.
28317         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
28318         instead of 'int'.
28319         * lib/getsockopt.c (rpl_getsockopt): Likewise.
28320         * lib/setsockopt.c (rpl_setsockopt): Likewise.
28321         * modules/getsockopt (Depends-on): Add socklen.
28322         * modules/setsockopt (Depends-on): Add socklen.
28323
28324 2009-03-01  Bruno Haible  <bruno@clisp.org>
28325
28326         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
28327         least 4.2.
28328
28329 2009-03-01  Eric Blake  <ebb9@byu.net>
28330             Bruno Haible  <bruno@clisp.org>
28331
28332         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
28333         error messages.
28334         * lib/wait-process.c (wait_subprocess): Omit error message about
28335         deadly signal sent to the child of termsigp != NULL.
28336
28337 2009-03-01  Eric Blake  <ebb9@byu.net>
28338
28339         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
28340
28341 2009-03-01  Bruno Haible  <bruno@clisp.org>
28342
28343         Avoid a gcc warning.
28344         * tests/test-sched.c (b): Make global.
28345         Reported by Eric Blake.
28346
28347 2009-01-19  Martin Lambers  <marlam@marlam.de>
28348
28349         Provide POSIX semantics for socket timeout options on W32.
28350         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
28351         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
28352         * modules/setsockopt: Depend on sys_time module for struct timeval.
28353         * modules/getsockopt: Depend on sys_time module for struct timeval.
28354
28355 2009-03-01  Simon Josefsson  <simon@josefsson.org>
28356
28357         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
28358         __USE_GNU, for consistency with netdb.in.h.
28359         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28360
28361 2009-03-01  Bruno Haible  <bruno@clisp.org>
28362
28363         More support for FreeMiNT.
28364         * lib/fseeko.c (rpl_fseeko): Complete last commit.
28365         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28366
28367 2009-03-01  Bruno Haible  <bruno@clisp.org>
28368
28369         More support for FreeMiNT.
28370         * lib/fpurge.c (fpurge): Correct last commit.
28371         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28372
28373 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28374
28375         Fix unportable awk script in vc-list-files.
28376         * build-aux/vc-list-files: In the replacement awk script, use
28377         substr with a second argument of 1, not zero.
28378         Report by Simon Josefsson.
28379
28380 2009-02-28  Bruno Haible  <bruno@clisp.org>
28381
28382         More support for FreeMiNT.
28383         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
28384         to FreeMiNT today.
28385         * lib/fwriting.c (fwriting): Likewise.
28386         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
28387
28388 2009-02-28  Bruno Haible  <bruno@clisp.org>
28389
28390         * tests/test-freadseek.c (main): Disable test beyond end of file on
28391         FreeMiNT.
28392         * tests/test-ftello.c (main): Likewise.
28393         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
28394
28395 2009-02-28  Bruno Haible  <bruno@clisp.org>
28396
28397         Add tentative support for FreeMiNT.
28398         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
28399         * lib/fpurge.c (fpurge): Likewise.
28400         * lib/freadable.c (freadable): Likewise.
28401         * lib/freading.c (freading): Likewise.
28402         * lib/freadptr.c (freadptr): Likewise.
28403         * lib/freadseek.c (freadptrinc): Likewise.
28404         * lib/fseeko.c (rpl_fseeko): Likewise.
28405         * lib/fseterr.c (fseterr): Likewise.
28406         * lib/fwritable.c (fwritable): Likewise.
28407         * lib/fwriting.c (fwriting): Likewise.
28408         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
28409         Hourihane.
28410         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
28411
28412 2009-02-28  Bruno Haible  <bruno@clisp.org>
28413
28414         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
28415         SIGCHLD.
28416         Reported by Jim Meyering.
28417
28418 2009-02-28  Bruno Haible  <bruno@clisp.org>
28419
28420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
28421         Mention the results of these tests on various platforms.
28422         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
28423         order.
28424         * doc/posix-functions/printf.texi: Likewise.
28425         * doc/posix-functions/snprintf.texi: Likewise.
28426         * doc/posix-functions/sprintf.texi: Likewise.
28427         * doc/posix-functions/vfprintf.texi: Likewise.
28428         * doc/posix-functions/vprintf.texi: Likewise.
28429         * doc/posix-functions/vsnprintf.texi: Likewise.
28430         * doc/posix-functions/vsprintf.texi: Likewise.
28431         * doc/glibc-functions/obstack_printf.texi: Likewise.
28432         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28433
28434 2009-02-28  Bruno Haible  <bruno@clisp.org>
28435
28436         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
28437         Reported by Loïc Minier <lool@dooz.org>.
28438
28439 2009-02-27  Bruno Haible  <bruno@clisp.org>
28440
28441         * gnulib-tool (func_import): Make the sed expression used to create the
28442         sed script for updating the .gitignore file POSIX compliant.
28443         Reported by Eric Blake.
28444
28445 2009-02-27  Bruno Haible  <bruno@clisp.org>
28446
28447         * gnulib-tool (sed): Don't alias as "sed --posix".
28448         Reported by Eric Blake.
28449
28450 2009-02-27  Bruno Haible  <bruno@clisp.org>
28451
28452         Avoid test link errors.
28453         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
28454         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
28455         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
28456         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
28457         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28458
28459 2009-02-27  Bruno Haible  <bruno@clisp.org>
28460
28461         Avoid spurious "(cached)" in configure output.
28462         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
28463         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
28464         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28465         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28466         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28467         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28468         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28469         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28470         Reported by Eric Blake.
28471
28472 2009-02-27  Eric Blake  <ebb9@byu.net>
28473
28474         printf: fix regression in previous patch
28475         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
28476
28477 2009-02-27  Bruno Haible  <bruno@clisp.org>
28478
28479         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
28480         value.
28481         * lib/stdint.in.h: Likewise.
28482         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
28483
28484 2009-02-27  Eric Blake  <ebb9@byu.net>
28485
28486         doc: mention more functions added in cygwin 1.7.0
28487         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
28488         addition.
28489         * doc/posix-functions/open_wmemstream.texi: Likewise.
28490         * doc/posix-functions/wcsnlen.texi: Likewise.
28491         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28492         * doc/posix-functions/wcstod.texi: Likewise.
28493         * doc/posix-functions/wcstof.texi: Likewise.
28494         * doc/posix-functions/wcstoimax.texi: Likewise.
28495         * doc/posix-functions/wcstok.texi: Likewise.
28496         * doc/posix-functions/wcstoumax.texi: Likewise.
28497
28498         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
28499         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
28500         * doc/posix-functions/fprintf.texi: Update.
28501         * doc/posix-functions/printf.texi: Update.
28502         * doc/posix-functions/snprintf.texi: Update.
28503         * doc/posix-functions/sprintf.texi: Update.
28504         * doc/posix-functions/vfprintf.texi: Update.
28505         * doc/posix-functions/vprintf.texi: Update.
28506         * doc/posix-functions/vsnprintf.texi: Update.
28507         * doc/posix-functions/vsprintf.texi: Update.
28508         * doc/glibc-functions/obstack_printf.texi: Update.
28509         * doc/glibc-functions/obstack_vprintf.texi: Update.
28510
28511 2009-02-26  Eric Blake  <ebb9@byu.net>
28512
28513         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
28514         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
28515         compilation bug by using runtime conversion.
28516         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28517         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
28518         * modules/ceill-tests (Files): Use nan.h.
28519         * modules/floorl-tests (Files): Likewise.
28520         * modules/frexpl-tests (Files): Likewise.
28521         * modules/isnanl-tests (Files): Likewise.
28522         * modules/ldexpl-tests (Files): Likewise.
28523         * modules/roundl-tests (Files): Likewise.
28524         * modules/truncl-tests (Files): Likewise.
28525         * tests/test-ceill.c (main): Use a working NaN.
28526         * tests/test-floorl.c (main): Likewise.
28527         * tests/test-frexpl.c (main): Likewise.
28528         * tests/test-isnan.c (test_long_double): Likewise.
28529         * tests/test-isnanl.h (main): Likewise.
28530         * tests/test-ldexpl.h (main): Likewise.
28531         * tests/test-roundl.h (main): Likewise.
28532         * tests/test-truncl.h (main): Likewise.
28533         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
28534
28535 2009-02-26  Eric Blake  <ebb9@byu.net>
28536             Bruno Haible  <bruno@clisp.org>
28537
28538         Work around a *printf bug with %ls on Solaris.
28539         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
28540         precision is specified, sprintf stops converting the wide string
28541         argument when the number of bytes that have been produced by this
28542         conversion equals or exceeds the precision.
28543         * doc/posix-functions/fprintf.texi: Update.
28544         * doc/posix-functions/printf.texi: Update.
28545         * doc/posix-functions/snprintf.texi: Update.
28546         * doc/posix-functions/sprintf.texi: Update.
28547         * doc/posix-functions/vfprintf.texi: Update.
28548         * doc/posix-functions/vprintf.texi: Update.
28549         * doc/posix-functions/vsnprintf.texi: Update.
28550         * doc/posix-functions/vsprintf.texi: Update.
28551         * doc/glibc-functions/obstack_printf.texi: Update.
28552         * doc/glibc-functions/obstack_vprintf.texi: Update.
28553
28554 2009-02-26  Eric Blake  <ebb9@byu.net>
28555
28556         stdlib: favor compiler check of random.h
28557         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
28558         to avoid an ObjC random.h installed by Swarm.
28559
28560 2009-02-26  Bruno Haible  <bruno@clisp.org>
28561
28562         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
28563         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
28564         Reported by Gary V. Vaughan <gary@gnu.org>.
28565
28566 2009-02-26  Bruno Haible  <bruno@clisp.org>
28567
28568         Fix *printf behaviour regarding the %ls directive.
28569         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
28570         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
28571         NEED_PRINTF_DIRECTIVE_LS.
28572         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
28573         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
28574         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
28575         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
28576         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
28577         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
28578         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28579         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28580         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28581         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28582         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28583         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
28584         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28585         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
28586         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28587         * doc/posix-functions/fprintf.texi: Update.
28588         * doc/posix-functions/printf.texi: Update.
28589         * doc/posix-functions/snprintf.texi: Update.
28590         * doc/posix-functions/sprintf.texi: Update.
28591         * doc/posix-functions/vfprintf.texi: Update.
28592         * doc/posix-functions/vprintf.texi: Update.
28593         * doc/posix-functions/vsnprintf.texi: Update.
28594         * doc/posix-functions/vsprintf.texi: Update.
28595         * doc/glibc-functions/obstack_printf.texi: Update.
28596         * doc/glibc-functions/obstack_vprintf.texi: Update.
28597         Reported by Eric Blake.
28598
28599 2009-02-25  Bruno Haible  <bruno@clisp.org>
28600
28601         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
28602         with known value.
28603         Reported by Gary V. Vaughan <gary@gnu.org>.
28604
28605 2009-02-25  Bruno Haible  <bruno@clisp.org>
28606
28607         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
28608         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
28609         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
28610         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
28611         Reported by Gary V. Vaughan <gary@gnu.org>.
28612
28613 2009-02-25  Bruno Haible  <bruno@clisp.org>
28614
28615         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
28616         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
28617         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
28618         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
28619         Reported by Gary V. Vaughan <gary@gnu.org>.
28620
28621 2009-02-25  Eric Blake  <ebb9@byu.net>
28622
28623         tests: skip fseek/ftell tests if ungetc is broken
28624         * m4/ungetc.m4: New file.
28625         * modules/fseek-tests: Split test, so ungetc dependency is
28626         separate from rest of test.
28627         * modules/fseeko-tests: Likewise.
28628         * modules/ftell-tests: Likewise.
28629         * modules/ftello-tests: Likewise.
28630         * tests/test-fseek.c (main): Isolate ungetc dependency.
28631         * tests/test-fseeko.c (main): Likewise.
28632         * tests/test-ftell.c (main): Likewise.
28633         * tests/test-ftello.c (main): Likewise.
28634         * tests/test-fseek2.sh: New file.
28635         * tests/test-fseeko2.sh: Likewise.
28636         * tests/test-ftell2.sh: Likewise.
28637         * tests/test-ftello2.sh: Likewise.
28638
28639 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
28640
28641         test-getaddrinfo: fix usage of skip return code 77
28642         * tests/test-gettaddrinfo.c: Return skip code 77 only
28643         for first occurance of skip (4x77 is not 77)
28644
28645 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
28646
28647         strtod: avoid C99 decl-after-statement
28648         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
28649
28650 2009-02-24  Eric Blake  <ebb9@byu.net>
28651
28652         strtod: detect HP-UX 11.31 bug
28653         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
28654         Reported by Gary V. Vaughan.
28655
28656 2009-02-23  Bruno Haible  <bruno@clisp.org>
28657
28658         Fix invalid read past end of memory block.
28659         * lib/vasnprintf.c (DCHAR_SET): Define.
28660         (local_wcslen): Define only when needed.
28661         (local_strnlen, local_wcsnlen): New functions.
28662         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
28663         directives that involve a conversion ourselves.
28664         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
28665         wcsnlen, mbrtowc, wcrtomb.
28666         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
28667         * tests/test-vasprintf-posix.c (test_function): Likewise.
28668         * tests/test-snprintf-posix.h (test_function): Likewise.
28669         * tests/test-sprintf-posix.h (test_function): Likewise.
28670         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28671
28672 2009-02-22  Bruno Haible  <bruno@clisp.org>
28673
28674         Implement new clarified decomposition of Hangul syllables.
28675         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
28676         of type LTV, return only a pairwise decomposition.
28677         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
28678         Likewise.
28679         * tests/uninorm/test-decomposition.c (main): Updated expected result.
28680         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
28681         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
28682
28683 2009-02-22  Bruno Haible  <bruno@clisp.org>
28684
28685         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
28686         zero-length results and shrink excess allocated memory.
28687         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
28688         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
28689         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
28690         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
28691         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
28692         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
28693         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
28694         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
28695         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
28696         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
28697         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
28698         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
28699
28700 2009-02-21  Bruno Haible  <bruno@clisp.org>
28701
28702         * doc/gnulib.texi: Include safe-alloc.texi earlier.
28703         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
28704         spaces after a period. Put a space between a macro name and its
28705         argument list. Trivial rewordings.
28706         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
28707         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
28708         (main): Return 0 explicitly.
28709
28710 2009-02-21  Bruno Haible  <bruno@clisp.org>
28711
28712         Tests for module 'uninorm/filter'.
28713         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
28714         * modules/uninorm/filter-tests: New file.
28715
28716         New module 'uninorm/filter'.
28717         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
28718         uninorm_filter_flush, uninorm_filter_free): New declarations.
28719         * lib/uninorm/uninorm-filter.c: New file.
28720         * modules/uninorm/filter: New file.
28721
28722 2009-02-21  Bruno Haible  <bruno@clisp.org>
28723
28724         Tests for module 'uninorm/nfkc'.
28725         * tests/uninorm/test-nfkc.c: New file.
28726         * tests/uninorm/test-u8-nfkc.c: New file.
28727         * tests/uninorm/test-u16-nfkc.c: New file.
28728         * tests/uninorm/test-u32-nfkc.c: New file.
28729         * tests/uninorm/test-u32-nfkc-big.sh: New file.
28730         * tests/uninorm/test-u32-nfkc-big.c: New file.
28731         * modules/uninorm/nfkc-tests: New file.
28732
28733         New module 'uninorm/nfkc'.
28734         * lib/uninorm/nfkc.c: New file.
28735         * modules/uninorm/nfkc: New file.
28736
28737         Tests for module 'uninorm/nfkd'.
28738         * tests/uninorm/test-nfkd.c: New file.
28739         * tests/uninorm/test-u8-nfkd.c: New file.
28740         * tests/uninorm/test-u16-nfkd.c: New file.
28741         * tests/uninorm/test-u32-nfkd.c: New file.
28742         * tests/uninorm/test-u32-nfkd-big.sh: New file.
28743         * tests/uninorm/test-u32-nfkd-big.c: New file.
28744         * modules/uninorm/nfkd-tests: New file.
28745
28746         New module 'uninorm/nfkd'.
28747         * lib/uninorm/nfkd.c: New file.
28748         * modules/uninorm/nfkd: New file.
28749
28750         Tests for module 'uninorm/nfc'.
28751         * tests/uninorm/test-nfc.c: New file.
28752         * tests/uninorm/test-u8-nfc.c: New file.
28753         * tests/uninorm/test-u16-nfc.c: New file.
28754         * tests/uninorm/test-u32-nfc.c: New file.
28755         * tests/uninorm/test-u32-nfc-big.sh: New file.
28756         * tests/uninorm/test-u32-nfc-big.c: New file.
28757         * modules/uninorm/nfc-tests: New file.
28758
28759         New module 'uninorm/nfc'.
28760         * lib/uninorm/nfc.c: New file.
28761         * modules/uninorm/nfc: New file.
28762
28763         Tests for module 'uninorm/nfd'.
28764         * tests/uninorm/test-nfd.c: New file.
28765         * tests/uninorm/test-u8-nfd.c: New file.
28766         * tests/uninorm/test-u16-nfd.c: New file.
28767         * tests/uninorm/test-u32-nfd.c: New file.
28768         * tests/uninorm/test-u32-nfd-big.sh: New file.
28769         * tests/uninorm/test-u32-nfd-big.c: New file.
28770         * tests/uninorm/test-u32-normalize-big.h: New file.
28771         * tests/uninorm/test-u32-normalize-big.c: New file.
28772         * tests/uninorm/NormalizationTest.txt: New file, created from
28773         Unicode 5.1.0 NormalizationTest.txt.
28774         * modules/uninorm/nfd-tests: New file.
28775
28776         New module 'uninorm/nfd'.
28777         * lib/uninorm/nfd.c: New file.
28778         * modules/uninorm/nfd: New file.
28779
28780         New module 'uninorm/u32-normalize'.
28781         * lib/uninorm/u32-normalize.c: New file.
28782         * modules/uninorm/u32-normalize: New file.
28783
28784         New module 'uninorm/u16-normalize'.
28785         * lib/uninorm/u16-normalize.c: New file.
28786         * modules/uninorm/u16-normalize: New file.
28787
28788         New module 'uninorm/u8-normalize'.
28789         * lib/uninorm/u8-normalize.c: New file.
28790         * lib/uninorm/normalize-internal.h: New file.
28791         * lib/uninorm/u-normalize-internal.h: New file.
28792         * modules/uninorm/u8-normalize: New file.
28793
28794         New module 'uninorm/decompose-internal'.
28795         * lib/uninorm/decompose-internal.c: New file.
28796         * modules/uninorm/decompose-internal: New file.
28797
28798         Tests for module 'uninorm/composition'.
28799         * tests/uninorm/test-composition.c: New file.
28800         * modules/uninorm/composition-tests: New file.
28801
28802         New module 'uninorm/composition'.
28803         * lib/uninorm/composition.c: New file.
28804         * lib/uninorm/composition-table.gperf: New file, generated by
28805         gen-uni-tables.
28806         * modules/uninorm/composition: New file.
28807
28808         Tests for module 'uninorm/compat-decomposition'.
28809         * tests/uninorm/test-compat-decomposition.c: New file.
28810         * modules/uninorm/compat-decomposition-tests: New file.
28811
28812         New module 'uninorm/compat-decomposition'.
28813         * lib/uninorm/decompose-internal.h: New file.
28814         * lib/uninorm/compat-decomposition.c: New file.
28815         * modules/uninorm/compat-decomposition: New file.
28816
28817         Tests for module 'uninorm/canonical-decomposition'.
28818         * tests/uninorm/test-canonical-decomposition.c: New file.
28819         * modules/uninorm/canonical-decomposition-tests: New file.
28820
28821         New module 'uninorm/canonical-decomposition'.
28822         * lib/uninorm/canonical-decomposition.c: New file.
28823         * modules/uninorm/canonical-decomposition: New file.
28824
28825         Tests for module 'uninorm/decomposition'.
28826         * tests/uninorm/test-decomposition.c: New file.
28827         * modules/uninorm/decomposition-tests: New file.
28828
28829         New module 'uninorm/decomposition'.
28830         * lib/uninorm/decomposition.c: New file.
28831         * modules/uninorm/decomposition: New file.
28832
28833         New module 'uninorm/decomposition-table'.
28834         * lib/uninorm/decomposition-table.h: New file.
28835         * lib/uninorm/decomposition-table.c: New file.
28836         * lib/uninorm/decomposition-table1.h: New file, generated by
28837         gen-uni-tables.
28838         * lib/uninorm/decomposition-table2.h: New file, generated by
28839         gen-uni-tables.
28840         * modules/uninorm/decomposition-table: New file.
28841
28842         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
28843         (UC_DECOMP_*): New enumeration items.
28844         (get_decomposition): New function.
28845         (struct decomp_table): New type.
28846         (output_decomposition, output_decomposition_tables): New functions.
28847         (unicode_composition_exclusions): New variable.
28848         (fill_composition_exclusions, debug_output_composition_tables): New
28849         functions.
28850         (main): Accept one more argument. Invoke fill_composition_exclusions.
28851         Output decomposition and composition tables.
28852
28853         New module 'uninorm/base'.
28854         * lib/uninorm.h: New file.
28855         * lib/unictype.h: Update comment.
28856         * modules/uninorm/base: New file.
28857
28858 2009-02-21  David Lutterkort  <lutter@redhat.com>
28859
28860         Tests for module 'safe-alloc'.
28861         * tests/test-safe-alloc.c: New file.
28862         * modules/safe-alloc-tests: New file.
28863
28864         New module 'safe-alloc'.
28865         * lib/safe-alloc.h: New file.
28866         * lib/safe-alloc.c: New file.
28867         * m4/safe-alloc.m4: New file.
28868         * modules/safe-alloc: New file.
28869         * doc/safe-alloc.texi: New file.
28870         * doc/gnulib.texi: Include it.
28871         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28872         safe-alloc.
28873
28874 2009-02-18  Bruno Haible  <bruno@clisp.org>
28875
28876         Fix link error on non-glibc systems.
28877         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
28878         variable.
28879         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28880
28881 2009-02-18  Jim Meyering  <meyering@redhat.com>
28882
28883         fts: avoid used-uninitialized error due to recent change
28884         * lib/fts.c (fts_read): Guard uses of the new member,
28885         parent->fts_n_dirs_remaining, since it's not relevant for
28886         the parent of a directory specified on the command-line.
28887
28888 2009-02-17  James Youngman  <jay@gnu.org>
28889             Bruno Haible  <bruno@clisp.org>
28890
28891         * m4/include_next.m4: Reformulate comment.
28892
28893 2009-02-16  Jim Meyering  <meyering@redhat.com>
28894
28895         fts: add #if guards so that the fts_lgpl module still builds
28896         * lib/fts.c: Guard just-added hash-table-using parts with
28897         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
28898         Reported by Simon Josefsson.
28899
28900 2009-02-15  Bruno Haible  <bruno@clisp.org>
28901
28902         * modules/array-mergesort-tests: New file.
28903         * tests/test-array-mergesort.c: New file.
28904
28905         New module 'array-mergesort'.
28906         * modules/array-mergesort: New file.
28907         * lib/array-mergesort.h: New file.
28908
28909 2009-02-15  Bruno Haible  <bruno@clisp.org>
28910
28911         Fix 2009-02-07 commit.
28912         * lib/gen-uni-tables.c (output_predicate, output_category,
28913         output_combclass, output_bidi_category, output_decimal_digit,
28914         output_digit, output_numeric, output_mirror, output_scripts,
28915         output_ident_category, output_simple_mapping): Fix format directives.
28916         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
28917
28918 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
28919
28920         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
28921         fixes are available from IBM.
28922
28923 2009-02-13  Jim Meyering  <meyering@redhat.com>
28924
28925         fts: arrange not to stat non-directories in more cases
28926         This makes GNU find (when it doesn't need to stat each file)
28927         *much* more efficient at traversing reiserfs file systems.
28928         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
28929         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
28930         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
28931         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
28932         (leaf_optimization_applies): New function.
28933         (LCO_hash, LCO_compare): New helper functions.
28934         (link_count_optimize_ok): New function.
28935         (fts_stat): Initialize new member (if dir).
28936         (fts_read): Decrement parent's fts_n_dirs_remaining count if
28937         we've just stat'ed a directory.  Skip the stat call when possible.
28938         ---
28939         Note this AFS-related exchange:
28940         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
28941         and note find's pioctl call in find/fstype.c.
28942         But that is necessary only if you want to enable the
28943         optimization for AFS, and for now, I don't.
28944
28945         fts: move a function definition "up" (no semantic change)
28946         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
28947         "up" to precede upcoming use of a related function.
28948
28949 2009-02-11  Jim Meyering  <meyering@redhat.com>
28950
28951         fts: correct internal computation of nlinks (optimization-related)
28952         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
28953         whether the current entry is a directory, so don't test it.
28954
28955 2009-02-10  Bruno Haible  <bruno@clisp.org>
28956
28957         Tests for module 'uniwbrk/ulc-wordbreaks'.
28958         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
28959         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
28960         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
28961
28962         Tests for module 'uniwbrk/u32-wordbreaks'.
28963         * modules/uniwbrk/u32-wordbreaks-tests: New file.
28964         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
28965
28966         Tests for module 'uniwbrk/u16-wordbreaks'.
28967         * modules/uniwbrk/u16-wordbreaks-tests: New file.
28968         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
28969
28970         Tests for module 'uniwbrk/u8-wordbreaks'.
28971         * modules/uniwbrk/u8-wordbreaks-tests: New file.
28972         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
28973
28974 2009-02-10  Bruno Haible  <bruno@clisp.org>
28975
28976         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
28977         property.
28978         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
28979         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
28980         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
28981
28982 2009-02-10  Simon Josefsson  <simon@josefsson.org>
28983
28984         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
28985         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
28986
28987 2009-02-10  Bruno Haible  <bruno@clisp.org>
28988
28989         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
28990         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
28991         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
28992         * lib/unilbrk/u8-possible-linebreaks.c: Update.
28993         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
28994         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
28995
28996 2009-02-09  Simon Josefsson  <simon@josefsson.org>
28997
28998         * lib/sockets.h (gl_fd_to_handle): New function.
28999
29000         * tests/test-sockets.c: Call gl_fd_to_handle.
29001
29002 2009-02-09  Bruno Haible  <bruno@clisp.org>
29003
29004         * doc/havelib.texi: Document the conventions on bi-arch systems.
29005
29006 2009-02-08  Bruno Haible  <bruno@clisp.org>
29007
29008         Document the AC_LIB_LINKFLAGS macro.
29009         * doc/havelib.texi: New file, mostly written on 2005-05-24.
29010         * doc/gnulib.texi: Include it.
29011
29012 2009-02-08  Bruno Haible  <bruno@clisp.org>
29013
29014         Fix wrong order of sections, compared to TOC.
29015         * doc/gnulib.texi: Include relocatable-maint.texi after the
29016         "Regular expressions" node, not before.
29017
29018 2009-02-08  Bruno Haible  <bruno@clisp.org>
29019
29020         Tests for module 'unicase/totitle'.
29021         * modules/unicase/totitle-tests: New file.
29022
29023         Tests for module 'unicase/tolower'.
29024         * modules/unicase/tolower-tests: New file.
29025
29026         Tests for module 'unicase/toupper'.
29027         * modules/unicase/toupper-tests: New file.
29028         * tests/unicase/test-mapping-part1.h: New file.
29029         * tests/unicase/test-mapping-part2.h: New file.
29030
29031         New module 'unicase/totitle'.
29032         * modules/unicase/totitle: New file.
29033         * lib/unicase/totitle.c: New file.
29034
29035         New module 'unicase/tolower'.
29036         * modules/unicase/tolower: New file.
29037         * lib/unicase/tolower.c: New file.
29038
29039         New module 'unicase/toupper'.
29040         * modules/unicase/toupper: New file.
29041         * lib/unicase/toupper.c: New file.
29042         * lib/unicase/simple-mapping.h: New file.
29043
29044         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
29045         (mapping_table): New structure.
29046         (output_simple_mapping): New function.
29047         (main): Invoke output_simple_mapping_test and output_simple_mapping.
29048         * modules/gen-uni-tables (Description): Update.
29049         * lib/unicase/toupper.h: New file, automatically generated by
29050         gen-uni-tables.
29051         * lib/unicase/tolower.h: New file, automatically generated by
29052         gen-uni-tables.
29053         * lib/unicase/totitle.h: New file, automatically generated by
29054         gen-uni-tables.
29055         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
29056         gen-uni-tables.
29057         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
29058         gen-uni-tables.
29059         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
29060         gen-uni-tables.
29061
29062         New module 'unicase/base'.
29063         * modules/unicase/base: New file.
29064         * lib/unicase.h: New file.
29065
29066 2009-02-08  Bruno Haible  <bruno@clisp.org>
29067
29068         New module 'uniwbrk/ulc-wordbreaks'.
29069         * modules/uniwbrk/ulc-wordbreaks: New file.
29070         * lib/uniwbrk/ulc-wordbreaks.c: New file.
29071
29072         New module 'uniwbrk/u32-wordbreaks'.
29073         * modules/uniwbrk/u32-wordbreaks: New file.
29074         * lib/uniwbrk/u32-wordbreaks.c: New file.
29075
29076         New module 'uniwbrk/u16-wordbreaks'.
29077         * modules/uniwbrk/u16-wordbreaks: New file.
29078         * lib/uniwbrk/u16-wordbreaks.c: New file.
29079
29080         New module 'uniwbrk/u8-wordbreaks'.
29081         * modules/uniwbrk/u8-wordbreaks: New file.
29082         * lib/uniwbrk/u8-wordbreaks.c: New file.
29083         * lib/uniwbrk/u-wordbreaks.h: New file.
29084
29085         New module 'uniwbrk/table'.
29086         * modules/uniwbrk/table: New file.
29087         * lib/uniwbrk/wbrktable.h: New file.
29088         * lib/uniwbrk/wbrktable.c: New file.
29089
29090         New module 'uniwbrk/wordbreak-property'.
29091         * modules/uniwbrk/wordbreak-property: New file.
29092         * lib/uniwbrk/wordbreak-property.c: New file.
29093
29094         * lib/gen-uni-tables.c (WBP_*): New enum items.
29095         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
29096         (unicode_org_wbp): New variable.
29097         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
29098         New functions.
29099         (wbp_table): New structure.
29100         (output_wbp, output_wbrk_tables): New functions.
29101         (main): Accept additional argument. Invoke fill_org_wbp,
29102         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
29103         output_wbrk_tables.
29104         * modules/gen-uni-tables (Description): Update.
29105         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
29106         gen-uni-tables.
29107
29108         New module 'uniwbrk/base'.
29109         * modules/uniwbrk/base: New file.
29110         * lib/uniwbrk.h: New file.
29111
29112 2009-02-08  Bruno Haible  <bruno@clisp.org>
29113
29114         Update to Unicode 5.1.0.
29115         * lib/gen-uni-tables.c (is_property_alphabetic): Include
29116         U+2185..U+2188.
29117         (is_property_default_ignorable_code_point): Don't include characters
29118         of category Cc or Cs and not-a-characters.
29119         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
29120         U+0D79, U+109E, U+109F, U+A60C.
29121         * lib/unictype/bidi_of.h: Regenerated.
29122         * lib/unictype/blocks.h: Regenerated.
29123         * lib/unictype/categ_C.h: Regenerated.
29124         * lib/unictype/categ_Cf.h: Regenerated.
29125         * lib/unictype/categ_Cn.h: Regenerated.
29126         * lib/unictype/categ_L.h: Regenerated.
29127         * lib/unictype/categ_Ll.h: Regenerated.
29128         * lib/unictype/categ_Lm.h: Regenerated.
29129         * lib/unictype/categ_Lo.h: Regenerated.
29130         * lib/unictype/categ_Lu.h: Regenerated.
29131         * lib/unictype/categ_M.h: Regenerated.
29132         * lib/unictype/categ_Mc.h: Regenerated.
29133         * lib/unictype/categ_Me.h: Regenerated.
29134         * lib/unictype/categ_Mn.h: Regenerated.
29135         * lib/unictype/categ_N.h: Regenerated.
29136         * lib/unictype/categ_Nd.h: Regenerated.
29137         * lib/unictype/categ_Nl.h: Regenerated.
29138         * lib/unictype/categ_No.h: Regenerated.
29139         * lib/unictype/categ_P.h: Regenerated.
29140         * lib/unictype/categ_Pd.h: Regenerated.
29141         * lib/unictype/categ_Pe.h: Regenerated.
29142         * lib/unictype/categ_Pf.h: Regenerated.
29143         * lib/unictype/categ_Pi.h: Regenerated.
29144         * lib/unictype/categ_Po.h: Regenerated.
29145         * lib/unictype/categ_Ps.h: Regenerated.
29146         * lib/unictype/categ_S.h: Regenerated.
29147         * lib/unictype/categ_Sk.h: Regenerated.
29148         * lib/unictype/categ_Sm.h: Regenerated.
29149         * lib/unictype/categ_So.h: Regenerated.
29150         * lib/unictype/categ_of.h: Regenerated.
29151         * lib/unictype/combining.h: Regenerated.
29152         * lib/unictype/ctype_alnum.h: Regenerated.
29153         * lib/unictype/ctype_alpha.h: Regenerated.
29154         * lib/unictype/ctype_graph.h: Regenerated.
29155         * lib/unictype/ctype_lower.h: Regenerated.
29156         * lib/unictype/ctype_print.h: Regenerated.
29157         * lib/unictype/ctype_punct.h: Regenerated.
29158         * lib/unictype/ctype_upper.h: Regenerated.
29159         * lib/unictype/decdigit.h: Regenerated.
29160         * lib/unictype/digit.h: Regenerated.
29161         * lib/unictype/mirror.h: Regenerated.
29162         * lib/unictype/numeric.h: Regenerated.
29163         * lib/unictype/pr_alphabetic.h: Regenerated.
29164         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
29165         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
29166         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
29167         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
29168         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
29169         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
29170         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
29171         * lib/unictype/pr_combining.h: Regenerated.
29172         * lib/unictype/pr_dash.h: Regenerated.
29173         * lib/unictype/pr_decimal_digit.h: Regenerated.
29174         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
29175         * lib/unictype/pr_deprecated.h: Regenerated.
29176         * lib/unictype/pr_diacritic.h: Regenerated.
29177         * lib/unictype/pr_extender.h: Regenerated.
29178         * lib/unictype/pr_format_control.h: Regenerated.
29179         * lib/unictype/pr_grapheme_base.h: Regenerated.
29180         * lib/unictype/pr_grapheme_extend.h: Regenerated.
29181         * lib/unictype/pr_grapheme_link.h: Regenerated.
29182         * lib/unictype/pr_id_continue.h: Regenerated.
29183         * lib/unictype/pr_id_start.h: Regenerated.
29184         * lib/unictype/pr_ideographic.h: Regenerated.
29185         * lib/unictype/pr_ignorable_control.h: Regenerated.
29186         * lib/unictype/pr_lowercase.h: Regenerated.
29187         * lib/unictype/pr_math.h: Regenerated.
29188         * lib/unictype/pr_numeric.h: Regenerated.
29189         * lib/unictype/pr_other_alphabetic.h: Regenerated.
29190         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
29191         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
29192         * lib/unictype/pr_other_id_continue.h: Regenerated.
29193         * lib/unictype/pr_other_lowercase.h: Regenerated.
29194         * lib/unictype/pr_other_math.h: Regenerated.
29195         * lib/unictype/pr_punctuation.h: Regenerated.
29196         * lib/unictype/pr_sentence_terminal.h: Regenerated.
29197         * lib/unictype/pr_soft_dotted.h: Regenerated.
29198         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
29199         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
29200         * lib/unictype/pr_unified_ideograph.h: Regenerated.
29201         * lib/unictype/pr_uppercase.h: Regenerated.
29202         * lib/unictype/pr_xid_continue.h: Regenerated.
29203         * lib/unictype/pr_xid_start.h: Regenerated.
29204         * lib/unictype/pr_zero_width.h: Regenerated.
29205         * lib/unictype/scripts.h: Regenerated.
29206         * lib/unictype/scripts_byname.gperf: Regenerated.
29207         * lib/unictype/sy_java_ident.h: Regenerated.
29208         * lib/unilbrk/lbrkprop1.h: Regenerated.
29209         * lib/unilbrk/lbrkprop2.h: Regenerated.
29210         * tests/unictype/test-categ_C.c: Regenerated.
29211         * tests/unictype/test-categ_Cf.c: Regenerated.
29212         * tests/unictype/test-categ_Cn.c: Regenerated.
29213         * tests/unictype/test-categ_L.c: Regenerated.
29214         * tests/unictype/test-categ_Ll.c: Regenerated.
29215         * tests/unictype/test-categ_Lm.c: Regenerated.
29216         * tests/unictype/test-categ_Lo.c: Regenerated.
29217         * tests/unictype/test-categ_Lu.c: Regenerated.
29218         * tests/unictype/test-categ_M.c: Regenerated.
29219         * tests/unictype/test-categ_Mc.c: Regenerated.
29220         * tests/unictype/test-categ_Me.c: Regenerated.
29221         * tests/unictype/test-categ_Mn.c: Regenerated.
29222         * tests/unictype/test-categ_N.c: Regenerated.
29223         * tests/unictype/test-categ_Nd.c: Regenerated.
29224         * tests/unictype/test-categ_Nl.c: Regenerated.
29225         * tests/unictype/test-categ_No.c: Regenerated.
29226         * tests/unictype/test-categ_P.c: Regenerated.
29227         * tests/unictype/test-categ_Pd.c: Regenerated.
29228         * tests/unictype/test-categ_Pe.c: Regenerated.
29229         * tests/unictype/test-categ_Pf.c: Regenerated.
29230         * tests/unictype/test-categ_Pi.c: Regenerated.
29231         * tests/unictype/test-categ_Po.c: Regenerated.
29232         * tests/unictype/test-categ_Ps.c: Regenerated.
29233         * tests/unictype/test-categ_S.c: Regenerated.
29234         * tests/unictype/test-categ_Sk.c: Regenerated.
29235         * tests/unictype/test-categ_Sm.c: Regenerated.
29236         * tests/unictype/test-categ_So.c: Regenerated.
29237         * tests/unictype/test-ctype_alnum.c: Regenerated.
29238         * tests/unictype/test-ctype_alpha.c: Regenerated.
29239         * tests/unictype/test-ctype_graph.c: Regenerated.
29240         * tests/unictype/test-ctype_lower.c: Regenerated.
29241         * tests/unictype/test-ctype_print.c: Regenerated.
29242         * tests/unictype/test-ctype_punct.c: Regenerated.
29243         * tests/unictype/test-ctype_upper.c: Regenerated.
29244         * tests/unictype/test-decdigit.h: Regenerated.
29245         * tests/unictype/test-digit.h: Regenerated.
29246         * tests/unictype/test-numeric.h: Regenerated.
29247         * tests/unictype/test-pr_alphabetic.c: Regenerated.
29248         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
29249         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
29250         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
29251         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
29252         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
29253         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
29254         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
29255         * tests/unictype/test-pr_combining.c: Regenerated.
29256         * tests/unictype/test-pr_dash.c: Regenerated.
29257         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
29258         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
29259         * tests/unictype/test-pr_deprecated.c: Regenerated.
29260         * tests/unictype/test-pr_diacritic.c: Regenerated.
29261         * tests/unictype/test-pr_extender.c: Regenerated.
29262         * tests/unictype/test-pr_format_control.c: Regenerated.
29263         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
29264         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
29265         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
29266         * tests/unictype/test-pr_id_continue.c: Regenerated.
29267         * tests/unictype/test-pr_id_start.c: Regenerated.
29268         * tests/unictype/test-pr_ideographic.c: Regenerated.
29269         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
29270         * tests/unictype/test-pr_lowercase.c: Regenerated.
29271         * tests/unictype/test-pr_math.c: Regenerated.
29272         * tests/unictype/test-pr_numeric.c: Regenerated.
29273         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
29274         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
29275         Regenerated.
29276         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
29277         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
29278         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
29279         * tests/unictype/test-pr_other_math.c: Regenerated.
29280         * tests/unictype/test-pr_punctuation.c: Regenerated.
29281         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
29282         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
29283         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
29284         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
29285         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
29286         * tests/unictype/test-pr_uppercase.c: Regenerated.
29287         * tests/unictype/test-pr_xid_continue.c: Regenerated.
29288         * tests/unictype/test-pr_xid_start.c: Regenerated.
29289         * tests/unictype/test-pr_zero_width.c: Regenerated.
29290
29291         Update to Unicode 5.1.0.
29292         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
29293         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
29294         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
29295         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
29296         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
29297         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
29298         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
29299         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
29300         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
29301         (nonspacing_table_ind): Update.
29302         * tests/uniwidth/test-uc_width2.sh: Update expected result.
29303
29304         Update to Unicode 5.1.0.
29305         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
29306         code transform.
29307         * lib/uniname/uniname.c (unicode_character_name,
29308         unicode_name_character): Add the range 0x1Fxxx to the code transform.
29309         * lib/uniname/uninames.h: Regenerated.
29310         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
29311
29312 2009-02-07  Bruno Haible  <bruno@clisp.org>
29313
29314         Merge gen-ctype and gen-lbrk into a single program.
29315         * lib/gen-uni-tables.c: New file, incorporating
29316         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
29317         Add directory prefixes to the names of the generated files.
29318         * lib/unictype/gen-ctype.c: Remove file.
29319         * lib/unilbrk/gen-lbrk.c: Remove file.
29320         * modules/gen-uni-tables: New file.
29321         * modules/unictype/gen-ctype: Remove file.
29322         * modules/unilbrk/gen-lbrk: Remove file.
29323
29324 2009-02-07  Bruno Haible  <bruno@clisp.org>
29325
29326         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
29327
29328         New module 'unistr/u32-strcoll'.
29329         * modules/unistr/u32-strcoll: New file.
29330         * lib/unistr/u32-strcoll.c: New file.
29331
29332         New module 'unistr/u16-strcoll'.
29333         * modules/unistr/u16-strcoll: New file.
29334         * lib/unistr/u16-strcoll.c: New file.
29335
29336         New module 'unistr/u8-strcoll'.
29337         * modules/unistr/u8-strcoll: New file.
29338         * lib/unistr/u8-strcoll.c: New file.
29339         * lib/unistr/u-strcoll.h: New file.
29340
29341 2009-02-07  Bruno Haible  <bruno@clisp.org>
29342
29343         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
29344         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29345         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
29346         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
29347         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
29348         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
29349
29350 2009-02-07  Bruno Haible  <bruno@clisp.org>
29351
29352         Make 64-bit clean.
29353         * lib/unictype/gen-ctype.c (output_predicate, output_category,
29354         output_combclass, output_bidi_category, output_decimal_digit,
29355         output_digit, output_numeric, output_mirror, output_scripts,
29356         output_ident_category): Use proper width specifier in format strings.
29357
29358 2009-02-07  Bruno Haible  <bruno@clisp.org>
29359
29360         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
29361         failure behaviour.
29362
29363 2009-02-07  Jim Meyering  <meyering@redhat.com>
29364
29365         regex: avoid compilation failure with upcoming gcc-4.4
29366         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
29367         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
29368         "... error: integer overflow in preprocessor expression".
29369
29370 2009-02-05  Ben Pfaff  <blp@gnu.org>
29371
29372         Fix link errors on Windows when close module is used.
29373         * modules/close: Add $(LIB_CLOSE) to Link section.
29374         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
29375         $(LIB_CLOSE) on Windows.
29376
29377 2009-02-05  Jim Meyering  <meyering@redhat.com>
29378
29379         still avoid unused-parameter warnings, but do it cleanly
29380         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
29381         (get_fs_usage): Cast to void instead.
29382         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
29383         (dev_from_mount_options, read_file_system_list): Cast to void.
29384         Prompted by Bruno Haible.
29385
29386 2009-02-04  Jim Meyering  <meyering@redhat.com>
29387
29388         fsusage.c: correct copyright year
29389         * lib/fsusage.c: Reflect year in which the change is pushed into
29390
29391         avoid misc. warnings
29392         * lib/fsusage.c (UNUSED_PARAM): Define.
29393         (get_fs_usage): Mark parameter "disk" as unused.
29394         * lib/getugroups.c (getgrent): Use "void" in prototype.
29395         * lib/mountlist.c: Mark unused parameters.
29396         (read_file_system_list): Declare a local with "const".
29397         * lib/nanosleep.c (getnow): Declare static.
29398         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
29399
29400         dirfd: set errno upon failure
29401         * lib/dirfd.c: Include <errno.h>.
29402         Set errno to ENOTSUP when returning -1.
29403         * modules/dirfd (Depends-on): Add errno.
29404         Suggested by John Kodis <kodis@comcast.net>.
29405
29406 2009-02-01  Bruno Haible  <bruno@clisp.org>
29407
29408         Don't assume sizeof (long) >= sizeof (void *).
29409         * lib/memcmp.c: Include stdint.h.
29410         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
29411         srcp2 to 'const byte *'.
29412         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
29413         types to uintptr_t.
29414         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
29415         * modules/memcmp (Depends-on): Add stdint.
29416         Reported by Ozkan Sezer <sezeroz@gmail.com>.
29417
29418 2009-01-30  Eric Blake  <ebb9@byu.net>
29419
29420         fix more require-before-expand issues
29421         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
29422         expand, AC_PROG_AWK.
29423         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
29424
29425 2009-01-28  Eric Blake  <ebb9@byu.net>
29426
29427         version-etc: use consistent URL formatting
29428         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
29429         Improve formatting.  Use fputs for string without %.
29430
29431 2009-01-28  Jim Meyering  <meyering@redhat.com>
29432
29433         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
29434         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
29435         "underquoted definition of NAME" from autoconf-2.59.
29436
29437 2009-01-28  Bruno Haible  <bruno@clisp.org>
29438
29439         * doc/gnulib.texi: Add "Obsolete modules" to index.
29440
29441 2009-01-28  Jim Meyering  <meyering@redhat.com>
29442
29443         useless-if-before-free: recognize more variants
29444         * build-aux/useless-if-before-free: Also recognize e.g.,
29445         if (NULL != p) free (p);
29446
29447 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
29448
29449         test-getaddrinfo: skip (don't fail) this test when there's no network
29450         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
29451         on the presumption that it means you lack network access.
29452
29453 2009-01-26  Jim Meyering  <meyering@redhat.com>
29454
29455         fflush: avoid warnings on modern systems
29456         * lib/fflush.c (rpl_fflush): Move declarations of locals,
29457         pos and result, into scopes where they're used.
29458
29459 2009-01-26  Eric Blake  <ebb9@byu.net>
29460
29461         Silence warning reintroduced by recent extensions patch.
29462         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
29463         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
29464         autoconf.
29465
29466         Backport improved autoconf semantics of AC_DEFUN_ONCE.
29467         * m4/00gnulib.m4: New file.
29468         * gnulib-tool (func_get_filelist): Always use it.
29469         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
29470         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
29471
29472 2009-01-25  Bruno Haible  <bruno@clisp.org>
29473
29474         Make test-quotearg work on MacOS X and AIX.
29475         * tests/test-quotearg.sh: New file.
29476         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
29477         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
29478         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
29479         include <libintl.h>.
29480         (fake_locale): Remove variable.
29481         (gettext, dgettext, dcgettext): Remove functions.
29482         (main): Instead of setting a fake locale, set a real locale. Call
29483         textdomain and bindtextdomain.
29484         * modules/quotearg-tests (Files): Add the new files.
29485         (Depends-on): Add gettext, setenv, unsetenv.
29486         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29487         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
29488         Augment TESTS_ENVIRONMENT.
29489
29490 2009-01-25  Bruno Haible  <bruno@clisp.org>
29491
29492         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
29493         fr_FR.ISO8859-1 locale on MacOS X.
29494         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
29495         ja_JP.eucJP locale on MacOS X.
29496         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
29497         zh_CN.GB18030 locale on MacOS X.
29498
29499 2009-01-25  Bruno Haible  <bruno@clisp.org>
29500
29501         Avoid link errors on MacOS X 10.3.
29502         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
29503         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29504
29505 2009-01-25  Bruno Haible  <bruno@clisp.org>
29506
29507         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29508         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
29509         * modules/pipe (Files): Remove m4/posix_spawn.m4.
29510         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29511         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
29512         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29513         posix_spawnattr_init, posix_spawnattr_setsigmask,
29514         posix_spawnattr_setflags, posix_spawnattr_destroy.
29515
29516         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
29517         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
29518         * modules/execute (Files): Remove m4/posix_spawn.m4.
29519         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
29520         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
29521         posix_spawnattr_init, posix_spawnattr_setsigmask,
29522         posix_spawnattr_setflags, posix_spawnattr_destroy.
29523
29524 2009-01-25  Bruno Haible  <bruno@clisp.org>
29525
29526         * lib/glthread/threadlib.c: Include <stdlib.h>.
29527
29528 2009-01-25  Bruno Haible  <bruno@clisp.org>
29529
29530         * lib/glthread/threadlib.c (dummy): New declaration.
29531
29532 2009-01-25  Bruno Haible  <bruno@clisp.org>
29533
29534         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
29535         multibyte characters also for the GB18030 encoding. Don't crash when
29536         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
29537
29538 2009-01-25  Bruno Haible  <bruno@clisp.org>
29539
29540         Avoid redefining 'struct random_data' on OSF/1 5.1.
29541         * lib/stdlib.in.h: Include <random.h> if it exists.
29542         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
29543         HAVE_RANDOM_H. Include <random.h> when testing whether
29544         'struct random_data' exists.
29545         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
29546
29547 2009-01-25  Bruno Haible  <bruno@clisp.org>
29548
29549         Don't install charset.alias on MacOS X >= 10.3.
29550         * lib/localcharset.c (DARWIN7): New macro.
29551         (get_charset_aliases): Hardcode the result for Darwin7.
29552         * modules/localcharset (install-exec-local): Don't install
29553         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
29554
29555 2009-01-25  Bruno Haible  <bruno@clisp.org>
29556
29557         Don't install charset.alias on mingw and Cygwin.
29558         * modules/localcharset (install-exec-local): Don't install
29559         charset.alias on mingw and Cygwin, if the file does not yet exist.
29560         The result for these platforms is hardcoded in localcharset.c.
29561
29562 2009-01-25  Bruno Haible  <bruno@clisp.org>
29563
29564         Make it possible again to use AC_GNU_SOURCE together with gnulib.
29565         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
29566         before requiring AC_USE_SYSTEM_EXTENSIONS.
29567
29568 2009-01-25  Jim Meyering  <meyering@redhat.com>
29569
29570         c-strtod: avoid warnings
29571         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
29572         "assignment discards qualifiers from pointer target type" warnings.
29573
29574 2009-01-24  Bruno Haible  <bruno@clisp.org>
29575
29576         Add support for non-UTF-8 locales on MacOS X.
29577         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
29578         canonical encodings. For Darwin 7 and newer, don't map traditional
29579         encodings to UTF-8.
29580         Reported by Vincent Lefevre <vincent@vinc17.org>
29581         at <http://savannah.gnu.org/bugs/?25235>.
29582
29583 2009-01-24  Bruno Haible  <bruno@clisp.org>
29584
29585         * doc/gnulib.texi (Obsolete modules): New section.
29586         Reported by Mike Frysinger <vapier@gentoo.org>.
29587
29588 2009-01-24  Bruno Haible  <bruno@clisp.org>
29589
29590         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
29591         (%.dvi): New rule.
29592
29593 2009-01-24  Bruno Haible  <bruno@clisp.org>
29594
29595         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
29596         Reported by Eric Blake.
29597
29598 2009-01-24  Bruno Haible  <bruno@clisp.org>
29599
29600         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
29601         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
29602         Reported by Gary V. Vaughan <gary@gnu.org>.
29603
29604 2009-01-24  Bruno Haible  <bruno@clisp.org>
29605
29606         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
29607
29608 2009-01-23  Bruno Haible  <bruno@clisp.org>
29609
29610         Make c-strtod, c-strtold usable in libraries.
29611         * lib/c-strtod.c: Include string.h instead of xalloc.h.
29612         (C_STRTOD): Call strdup instead of xstrdup.
29613         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
29614         * modules/c-strtold (Depends-on): Likewise.
29615         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
29616         * NEWS: Mention the change.
29617         Reported by Michael Gold <mgold@ncf.ca>.
29618
29619 2009-01-23  Jim Meyering  <meyering@redhat.com>
29620
29621         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
29622         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
29623         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
29624
29625 2009-01-23  Simon Josefsson  <simon@josefsson.org>
29626
29627         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
29628         GNU CoreUtils.
29629         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
29630         * modules/version-etc (Description): Update.
29631
29632 2009-01-22  Bruno Haible  <bruno@clisp.org>
29633
29634         Cache the C locale object.
29635         * lib/c-strtod.c (c_locale_cache): New variable.
29636         (c_locale): New function.
29637         (C_STRTOD): Use it, and don't call freelocale.
29638         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
29639         Suggested by Paolo Bonzini.
29640
29641 2009-01-21  Bruno Haible  <bruno@clisp.org>
29642
29643         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
29644         conditions other than overflow.
29645
29646 2009-01-21  Bruno Haible  <bruno@clisp.org>
29647
29648         * lib/c-strtod.c: Include errno.h.
29649         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
29650         value from STRTOD_L and STRTOD.
29651
29652 2009-01-21  Bruno Haible  <bruno@clisp.org>
29653         and Jim Meyering  <meyering@redhat.com>
29654
29655         nanosleep: skip configure test (fail it) for apple universal builds
29656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
29657         universal builds, assume that nanosleep does not work.
29658         * modules/nanosleep (Depends-on): Add multiarch.
29659
29660         mktime: skip configure test (fail it) for apple universal builds
29661         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
29662         universal builds, assume that mktime does not work.
29663         * modules/mktime (Depends-on): Add multiarch.
29664
29665 2009-01-21  Eric Blake  <ebb9@byu.net>
29666
29667         multiarch: avoid expand-before-require warning
29668         * modules/multiarch (configure.ac): Require, rather than expand,
29669         gl_MULTIARCH.
29670         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
29671         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
29672         enforce that all clients require it.  Partial reversion of
29673         2008-12-29 patch.
29674
29675         error: avoid expand-before-require warning
29676         * modules/errno (configure.ac): Require, rather than expand,
29677         gl_HEADER_ERRNO_H.
29678         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
29679         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
29680         enforce that all clients require it.
29681
29682         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
29683         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
29684         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
29685         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
29686
29687 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
29688
29689         Revert:
29690         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29691
29692         regex: do not depend on obsolete modules.
29693         * modules/regex: Remove memcmp and memmove.
29694
29695 2009-01-20  Bruno Haible  <bruno@clisp.org>
29696
29697         Make the 'link' module link on Windows NT 4.
29698         * lib/link.c (_WIN32_WINNT): Don't define.
29699         (CreateHardLinkFuncType): New type.
29700         (CreateHardLinkFunc, initialized): New variables.
29701         (initialize): New function.
29702         (link): Invoke CreateHardLink indirectly through the function pointer.
29703
29704 2009-01-20  Bruno Haible  <bruno@clisp.org>
29705
29706         Fix compilation failure on mingw.
29707         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
29708
29709 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
29710
29711         * doc/c-strtod.texi: Mention a couple of restrictions.
29712
29713 2009-01-20  Jim Meyering  <meyering@redhat.com>
29714
29715         gettimeofday: move more declarations out of functions
29716         * lib/gettimeofday.c: Move extern declarations of tzset and
29717         gmtime out of containing functions.  Prompted by Bruno Haible.
29718
29719 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
29720
29721         regex: do not depend on obsolete modules.
29722         * modules/regex: Remove memcmp and memmove.
29723
29724 2009-01-19  Bruno Haible  <bruno@clisp.org>
29725
29726         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29727         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
29728         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29729         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
29730         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
29731
29732 2009-01-19  Bruno Haible  <bruno@clisp.org>
29733
29734         * tests/test-link.c: Include <errno.h>.
29735         (main): Exit with code 77 when a hard link cannot be created due to
29736         the file system.
29737         * tests/test-link.sh: Skip test when a hard link cannot be created due
29738         to the file system.
29739         Suggested by Eric Blake.
29740
29741 2009-01-19  Martin Lambers  <marlam@marlam.de>
29742
29743         * modules/link-tests: New file.
29744         * tests/test-link.sh: New file.
29745         * tests/test-link.c: New file.
29746
29747 2009-01-19  Eric Blake  <ebb9@byu.net>
29748
29749         doc: mention another function added in cygwin 1.7.0
29750         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
29751         Another new function in cygwin 1.7.
29752
29753 2009-01-19  Bruno Haible  <bruno@clisp.org>
29754
29755         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
29756         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
29757         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
29758         gl_BIGENDIAN, not AC_C_BIGENDIAN.
29759         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29760         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
29761         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29762         * m4/md4.m4 (gl_MD4): Likewise.
29763         * m4/md5.m4 (gl_MD5): Likewise.
29764         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
29765         * m4/sha1.m4 (gl_SHA1): Likewise.
29766         * m4/sha256.m4 (gl_SHA256): Likewise.
29767         * m4/sha512.m4 (gl_SHA512): Likewise.
29768
29769 2009-01-19  Bruno Haible  <bruno@clisp.org>
29770
29771         * modules/uniname/uniname-tests (Depends-on): Add progname.
29772         * tests/uniname/test-uninames.c: Include progname.h.
29773         (main): Call set_program_name.
29774
29775         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
29776         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
29777         (main): Call set_program_name.
29778
29779         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
29780         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
29781         (main): Call set_program_name.
29782
29783         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
29784         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
29785         (main): Call set_program_name.
29786
29787         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
29788         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
29789         (main): Call set_program_name.
29790
29791         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
29792         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
29793         (main): Call set_program_name.
29794
29795         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
29796         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
29797         (main): Call set_program_name.
29798
29799         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
29800         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
29801         (main): Call set_program_name.
29802
29803         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
29804         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
29805         (main): Call set_program_name.
29806
29807 2009-01-19  Eric Blake  <ebb9@byu.net>
29808
29809         test-unistd: test previous patch
29810         * tests/test-unistd.c: Test *_FILENO macros.
29811
29812         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
29813         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29814         Guarantee a definition.
29815         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
29816         * modules/unistd-safer (Depends-on): Add dependency on unistd.
29817         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
29818         * lib/dup-safer.c (STDERR_FILENO): Likewise.
29819         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29820         Likewise.
29821         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
29822         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
29823         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
29824         Likewise.
29825         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
29826         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
29827         (STDERR_FILENO): Likewise.
29828         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
29829         (STDERR_FILENO): Likewise.
29830         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
29831         (STDERR_FILENO): Likewise.
29832         Reported by Elbert Pol.
29833
29834 2009-01-19  Eric Blake  <ebb9@byu.net>
29835
29836         doc: mention more functions added in cygwin 1.7.0
29837         * doc/posix-functions/abort.texi (abort): Update wording related
29838         to cygwin.
29839         * doc/posix-functions/daylight.texi (daylight): Likewise.
29840         * doc/posix-functions/optarg.texi (optarg): Likewise.
29841         * doc/posix-functions/optarg.texi (opterr): Likewise.
29842         * doc/posix-functions/optarg.texi (optind): Likewise.
29843         * doc/posix-functions/optarg.texi (optopt): Likewise.
29844         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
29845         worked in 1.5.x, and was withdrawn in 1.7.
29846         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
29847         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
29848         cygwin versions.
29849         * doc/posix-functions/perror.texi (perror): Likewise.
29850         * doc/posix-functions/printf.texi (printf): Likewise.
29851         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
29852         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
29853         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
29854         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
29855         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29856         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
29857         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29858         Likewise.
29859         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29860         Likewise.
29861         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
29862         this function.
29863         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
29864         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
29865         Likewise.
29866         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
29867         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
29868         * doc/posix-functions/confstr.texi (confstr): Likewise.
29869         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
29870         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
29871         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
29872         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
29873         * doc/posix-functions/fputws.texi (fputws): Likewise.
29874         * doc/posix-functions/fwide.texi (fwide): Likewise.
29875         * doc/posix-functions/getwc.texi (getwc): Likewise.
29876         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
29877         * doc/posix-functions/putwc.texi (putwc): Likewise.
29878         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
29879         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
29880         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
29881         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
29882         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
29883         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
29884         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
29885         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
29886         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
29887         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
29888         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
29889
29890 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29891
29892         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
29893         * lib/ioctl.c: Include <sys/ioctl.h>.
29894
29895 2009-01-19  Simon Josefsson  <simon@josefsson.org>
29896
29897         * modules/getdate-tests (Depends-on): Add progname.
29898         * tests/test-getdate.c: Use progname module, to avoid link errors
29899         on non-glibc systems.
29900
29901 2009-01-18  Simon Josefsson  <simon@josefsson.org>
29902
29903         * modules/filenamecat-tests (Depends-on): Add progname.
29904         * modules/fstrcmp-tests (Depends-on): Likewise.
29905
29906         * tests/test-filenamecat.c: Use progname module, to avoid link
29907         errors on non-glibc systems.
29908         * tests/test-fstrcmp.c: Likewise.
29909
29910 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
29911
29912         gettimeofday: avoid warning: nested extern declaration of 'localtime'
29913         * lib/gettimeofday.c: Move extern declaration out of function.
29914
29915 2009-01-18  Bruno Haible  <bruno@clisp.org>
29916
29917         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
29918         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
29919         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
29920
29921 2009-01-18  Bruno Haible  <bruno@clisp.org>
29922
29923         * lib/strftime.c (MEMPCPY): Remove unused macro.
29924         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
29925
29926 2009-01-18  Martin Lambers  <marlam@marlam.de>
29927
29928         New module 'link'.
29929         * lib/unistd.in.h (link): New declaration.
29930         * lib/link.c: New file.
29931         * m4/link.m4: New file.
29932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
29933         HAVE_LINK.
29934         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
29935         * modules/link: New file.
29936         * doc/posix-functions/link.texi: Mention the new module.
29937
29938 2009-01-18  Bruno Haible  <bruno@clisp.org>
29939
29940         * tests/test-avltree_list.c (main): Call set_program_name.
29941         * tests/test-avltree_oset.c (main): Likewise.
29942         * tests/test-obstack-printf.c: Include progname.h.
29943         (main): Call set_program_name.
29944         * tests/test-quotearg.c: Include progname.h.
29945         (main): Call set_program_name.
29946         * tests/test-xmemdup0.c: Include progname.h.
29947         (main): Call set_program_name.
29948
29949 2009-01-18  Bruno Haible  <bruno@clisp.org>
29950
29951         New module 'alphasort'.
29952         * lib/dirent.in.h (alphasort): New declaration.
29953         * lib/alphasort.c: New file, from glibc with modifications.
29954         * m4/alphasort.m4: New file.
29955         * modules/alphasort: New file.
29956         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
29957         HAVE_ALPHASORT.
29958         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
29959         HAVE_ALPHASORT.
29960         * doc/posix-functions/alphasort.texi: Mention the new module and the
29961         portability problems.
29962
29963 2009-01-18  Bruno Haible  <bruno@clisp.org>
29964
29965         New module 'scandir'.
29966         * lib/dirent.in.h (scandir): New declaration.
29967         * lib/scandir.c: New file, from glibc with modifications.
29968         * m4/scandir.m4: New file.
29969         * modules/scandir: New file.
29970         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
29971         HAVE_SCANDIR.
29972         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
29973         HAVE_SCANDIR.
29974         * doc/posix-functions/scandir.texi: Mention the new module and the
29975         portability problems.
29976
29977 2009-01-17  Bruno Haible  <bruno@clisp.org>
29978
29979         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
29980         Update documentation.
29981         (func_remove_suffix): Escape all dots in the suffix. Update
29982         documentation.
29983         (func_filter_filelist): Update documentation.
29984         Reported by Ralf Wildenhues.
29985
29986 2009-01-17  Bruno Haible  <bruno@clisp.org>
29987
29988         * modules/dprintf-posix-tests: New file.
29989         * tests/test-dprintf-posix.sh: New file.
29990         * tests/test-dprintf-posix.c: New file.
29991
29992         New modules 'dprintf', 'dprintf-posix'.
29993         * lib/stdio.in.h (dprintf): New declaration.
29994         * lib/dprintf.c: New file.
29995         * m4/dprintf.m4: New file.
29996         * m4/dprintf-posix.m4: New file.
29997         * modules/dprintf: New file.
29998         * modules/dprintf-posix: New file.
29999         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
30000         HAVE_DPRINTF, REPLACE_DPRINTF.
30001         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
30002         HAVE_DPRINTF, REPLACE_DPRINTF.
30003         * doc/posix-functions/dprintf.texi: Mention the new modules.
30004
30005 2009-01-17  Bruno Haible  <bruno@clisp.org>
30006
30007         * modules/vdprintf-posix-tests: New file.
30008         * tests/test-vdprintf-posix.sh: New file.
30009         * tests/test-vdprintf-posix.c: New file.
30010
30011         New modules 'vdprintf', 'vdprintf-posix'.
30012         * lib/stdio.in.h (vdprintf): New declaration.
30013         * lib/vdprintf.c: New file.
30014         * m4/vdprintf.m4: New file.
30015         * m4/vdprintf-posix.m4: New file.
30016         * modules/vdprintf: New file.
30017         * modules/vdprintf-posix: New file.
30018         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
30019         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30020         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
30021         HAVE_VDPRINTF, REPLACE_VDPRINTF.
30022         * doc/posix-functions/vdprintf.texi: Mention the new modules.
30023
30024 2009-01-17  Bruno Haible  <bruno@clisp.org>
30025
30026         Fix replacement of fopen on mingw.
30027         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
30028         mingw.
30029
30030 2009-01-17  Bruno Haible  <bruno@clisp.org>
30031
30032         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
30033         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
30034
30035 2009-01-17  Bruno Haible  <bruno@clisp.org>
30036
30037         Avoid test-fflush2.sh failure on mingw.
30038         * tests/test-fflush2.c: Include binary-io.h.
30039         (main): Put standard input into binary mode.
30040         * modules/fflush-tests (Depends-on): Add binary-io.
30041
30042 2009-01-17  Bruno Haible  <bruno@clisp.org>
30043
30044         * lib/wchar.in.h: In another particular situation, include only the
30045         system's <wchar.h> file.
30046         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
30047         Reported by Albert Chin-A-Young <china@thewrittenword.com>
30048         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
30049
30050 2009-01-17  Bruno Haible  <bruno@clisp.org>
30051
30052         Support for stripping executables in --enable-relocatable.
30053         * build-aux/install-reloc: Expect one more argument, or an environment
30054         variable RELOC_STRIP_PROG. If set, strip the destination program and
30055         its wrapper.
30056         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
30057         RELOC_STRIP_PROG.
30058         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
30059         to set RELOCATABLE_STRIP.
30060         * NEWS: Mention the new Makefile requirement.
30061
30062 2009-01-17  Bruno Haible  <bruno@clisp.org>
30063
30064         * build-aux/install-reloc: Remove debugging information left over by
30065         C compiler on MacOS X.
30066
30067 2009-01-17  Bruno Haible  <bruno@clisp.org>
30068
30069         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
30070         * lib/progreloc.c (find_executable): Fix type of pointer passed to
30071         _NSGetExecutablePath.
30072
30073 2009-01-16  Jim Meyering  <meyering@redhat.com>
30074
30075         strerror: avoid warnings about discarding "const"
30076         * lib/strerror.c (rpl_strerror): Instead of returning a const
30077         string from each and every "case", use a variable, and add a single
30078         cast after the switch.
30079
30080 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
30081
30082         * lib/arpa_inet.in.h: Add extern "C" block for C++.
30083
30084 2009-01-16  Bruno Haible  <bruno@clisp.org>
30085
30086         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
30087         array initializer syntax that also works in C++ mode.
30088         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30089
30090 2009-01-16  Jim Meyering  <meyering@redhat.com>
30091
30092         poll: suppress a warning
30093         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
30094         to ignore "...unsigned expression < 0 is always false" warnings.
30095
30096 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
30097
30098         poll: remove declarations of unused variables
30099         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
30100         sockbuf and optlen.
30101
30102 2009-01-15  Bruno Haible  <bruno@clisp.org>
30103
30104         Make fflush-after-ungetc POSIX compliant on BSD systems.
30105         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
30106         (clear_ungetc_buffer): Implement also for other systems.
30107         (rpl_fflush): On glibc systems, invoke
30108         clear_ungetc_buffer_preserving_position. Otherwise, invoke
30109         clear_ungetc_buffer after fetching the stream's position, not before.
30110
30111 2009-01-15  Bruno Haible  <bruno@clisp.org>
30112
30113         Make fflush-after-ungetc POSIX compliant on glibc systems.
30114         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
30115         after ungetc.
30116         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
30117         (rpl_fflush): On glibc systems, simply call the system's fflush
30118         function after clearing the ungetc buffer.
30119         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
30120         Instead, lseek only to the end of file, then use the system's fseeko
30121         for the rest. On glibc systems, reset the EOF indicator bit.
30122
30123 2009-01-15  Jim Meyering  <meyering@redhat.com>
30124
30125         openmp.m4: revert quote-adding change, for portability to older autoconf
30126         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
30127         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
30128         Simon Josefsson noticed the problem when using autoconf-2.61.
30129
30130 2009-01-15  Bruno Haible  <bruno@clisp.org>
30131
30132         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
30133         * tests/test-fflush2.c (ASSERT): Always fail.
30134         (main): Add two tests for fflush() after ungetc(), taking into account
30135         the Austin Group's clarification.
30136         Suggested by Eric Blake.
30137
30138 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
30139
30140         mktime.m4: remove K&R-style function prototypes
30141         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
30142         for the Sun C++ compiler.
30143
30144 2009-01-14  Bruno Haible  <bruno@clisp.org>
30145
30146         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
30147         while including <wchar.h>.
30148         * lib/wchar.in.h: In two particular situations on HP-UX, include only
30149         the system's <wchar.h> file.
30150         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30151
30152 2009-01-14  Bruno Haible  <bruno@clisp.org>
30153
30154         * m4/csharp.m4: Don't mention gettext on the serial number line.
30155         * m4/csharpexec.m4: Likewise.
30156         * m4/eaccess.m4: Likewise.
30157         * m4/javaexec.m4: Likewise.
30158         * m4/sig_atomic_t.m4: Likewise.
30159         * m4/tmpdir.m4: Likewise.
30160         * m4/intldir.m4: Bump gettext version.
30161         * m4/lib-ld.m4: Likewise.
30162
30163 2009-01-14  Bruno Haible  <bruno@clisp.org>
30164
30165         * lib/progname.c (set_program_name): Add more comments.
30166         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
30167
30168 2009-01-14  Simon Josefsson  <simon@josefsson.org>
30169
30170         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
30171         were sys/stat.h does not define it.
30172
30173 2009-01-14  Jim Meyering  <meyering@redhat.com>
30174
30175         many *.m4 files: improve m4 quoting
30176         99% of this change was performed by running the following commands:
30177         git ls-files | grep '\.m4$' | xargs perl -pi \
30178           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
30179           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30180           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
30181           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
30182         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
30183         The remainder were to add Copyright dates, increment serial numbers,
30184         undo some changes in comments, exclude m4/intl.m4, and add quotes
30185         around the "1" in ",1" where the unusual spacing prohibited the
30186         above regexps from doing the job.  For more details, see
30187         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
30188         * m4/acl.m4: Modified.
30189         * m4/afs.m4: Likewise.
30190         * m4/alloca.m4: Likewise.
30191         * m4/argp.m4: Likewise.
30192         * m4/argz.m4: Likewise.
30193         * m4/atexit.m4: Likewise.
30194         * m4/bison-i18n.m4: Likewise.
30195         * m4/bison.m4: Likewise.
30196         * m4/byteswap.m4: Likewise.
30197         * m4/c-stack.m4: Likewise.
30198         * m4/c-strtod.m4: Likewise.
30199         * m4/calloc.m4: Likewise.
30200         * m4/canonicalize-lgpl.m4: Likewise.
30201         * m4/chown.m4: Likewise.
30202         * m4/clock_time.m4: Likewise.
30203         * m4/codeset.m4: Likewise.
30204         * m4/copy-file.m4: Likewise.
30205         * m4/csharp.m4: Likewise.
30206         * m4/csharpcomp.m4: Likewise.
30207         * m4/csharpexec.m4: Likewise.
30208         * m4/d-ino.m4: Likewise.
30209         * m4/d-type.m4: Likewise.
30210         * m4/dirfd.m4: Likewise.
30211         * m4/double-slash-root.m4: Likewise.
30212         * m4/eaccess.m4: Likewise.
30213         * m4/eealloc.m4: Likewise.
30214         * m4/environ.m4: Likewise.
30215         * m4/errno_h.m4: Likewise.
30216         * m4/euidaccess.m4: Likewise.
30217         * m4/execute.m4: Likewise.
30218         * m4/fatal-signal.m4: Likewise.
30219         * m4/fchdir.m4: Likewise.
30220         * m4/fcntl_h.m4: Likewise.
30221         * m4/fileblocks.m4: Likewise.
30222         * m4/filenamecat.m4: Likewise.
30223         * m4/findprog.m4: Likewise.
30224         * m4/flexmember.m4: Likewise.
30225         * m4/fnmatch.m4: Likewise.
30226         * m4/fopen.m4: Likewise.
30227         * m4/fpending.m4: Likewise.
30228         * m4/fprintf-posix.m4: Likewise.
30229         * m4/free.m4: Likewise.
30230         * m4/frexp.m4: Likewise.
30231         * m4/frexpl.m4: Likewise.
30232         * m4/fsusage.m4: Likewise.
30233         * m4/ftruncate.m4: Likewise.
30234         * m4/gc-camellia.m4: Likewise.
30235         * m4/gc-random.m4: Likewise.
30236         * m4/gc.m4: Likewise.
30237         * m4/getaddrinfo.m4: Likewise.
30238         * m4/getcwd-abort-bug.m4: Likewise.
30239         * m4/getcwd-path-max.m4: Likewise.
30240         * m4/getdate.m4: Likewise.
30241         * m4/getdomainname.m4: Likewise.
30242         * m4/getgroups.m4: Likewise.
30243         * m4/gethostname.m4: Likewise.
30244         * m4/gethrxtime.m4: Likewise.
30245         * m4/getline.m4: Likewise.
30246         * m4/getloadavg.m4: Likewise.
30247         * m4/getndelim2.m4: Likewise.
30248         * m4/getpass.m4: Likewise.
30249         * m4/gettext.m4: Likewise.
30250         * m4/gettime.m4: Likewise.
30251         * m4/gettimeofday.m4: Likewise.
30252         * m4/gnulib-common.m4: Likewise.
30253         * m4/group-member.m4: Likewise.
30254         * m4/host-os.m4: Likewise.
30255         * m4/iconv.m4: Likewise.
30256         * m4/iconv_open.m4: Likewise.
30257         * m4/inet_ntop.m4: Likewise.
30258         * m4/inet_pton.m4: Likewise.
30259         * m4/inline.m4: Likewise.
30260         * m4/intldir.m4: Likewise.
30261         * m4/intlmacosx.m4: Likewise.
30262         * m4/intmax.m4: Likewise.
30263         * m4/intmax_t.m4: Likewise.
30264         * m4/inttypes.m4: Likewise.
30265         * m4/inttypes_h.m4: Likewise.
30266         * m4/inttypes-pri.m4: Likewise.
30267         * m4/isapipe.m4: Likewise.
30268         * m4/isnand.m4: Likewise.
30269         * m4/isnanf.m4: Likewise.
30270         * m4/isnanl.m4: Likewise.
30271         * m4/javacomp.m4: Likewise.
30272         * m4/javaexec.m4: Likewise.
30273         * m4/jm-winsz1.m4: Likewise.
30274         * m4/jm-winsz2.m4: Likewise.
30275         * m4/lchown.m4: Likewise.
30276         * m4/lcmessage.m4: Likewise.
30277         * m4/ldexpl.m4: Likewise.
30278         * m4/lib-ld.m4: Likewise.
30279         * m4/lib-link.m4: Likewise.
30280         * m4/libsigsegv.m4: Likewise.
30281         * m4/link-follow.m4: Likewise.
30282         * m4/localcharset.m4: Likewise.
30283         * m4/locale-fr.m4: Likewise.
30284         * m4/locale-ja.m4: Likewise.
30285         * m4/locale-tr.m4: Likewise.
30286         * m4/locale-zh.m4: Likewise.
30287         * m4/lock.m4: Likewise.
30288         * m4/longlong.m4: Likewise.
30289         * m4/ls-mntd-fs.m4: Likewise.
30290         * m4/lstat.m4: Likewise.
30291         * m4/malloc.m4: Likewise.
30292         * m4/mathl.m4: Likewise.
30293         * m4/mbrtowc.m4: Likewise.
30294         * m4/mbstate_t.m4: Likewise.
30295         * m4/mbswidth.m4: Likewise.
30296         * m4/memchr.m4: Likewise.
30297         * m4/memcmp.m4: Likewise.
30298         * m4/memcpy.m4: Likewise.
30299         * m4/memmem.m4: Likewise.
30300         * m4/memmove.m4: Likewise.
30301         * m4/mempcpy.m4: Likewise.
30302         * m4/memrchr.m4: Likewise.
30303         * m4/memset.m4: Likewise.
30304         * m4/minmax.m4: Likewise.
30305         * m4/mkdir-slash.m4: Likewise.
30306         * m4/mkdtemp.m4: Likewise.
30307         * m4/mktime.m4: Likewise.
30308         * m4/mmap-anon.m4: Likewise.
30309         * m4/mountlist.m4: Likewise.
30310         * m4/nanosleep.m4: Likewise.
30311         * m4/nls.m4: Likewise.
30312         * m4/nocrash.m4: Likewise.
30313         * m4/open.m4: Likewise.
30314         * m4/openat.m4: Likewise.
30315         * m4/openmp.m4: Likewise.
30316         * m4/pathmax.m4: Likewise.
30317         * m4/perl.m4: Likewise.
30318         * m4/physmem.m4: Likewise.
30319         * m4/pipe.m4: Likewise.
30320         * m4/po.m4: Likewise.
30321         * m4/poll.m4: Likewise.
30322         * m4/posixtm.m4: Likewise.
30323         * m4/posixver.m4: Likewise.
30324         * m4/printf-frexp.m4: Likewise.
30325         * m4/printf-frexpl.m4: Likewise.
30326         * m4/printf-posix.m4: Likewise.
30327         * m4/printf-posix-rpl.m4: Likewise.
30328         * m4/printf.m4: Likewise.
30329         * m4/progtest.m4: Likewise.
30330         * m4/putenv.m4: Likewise.
30331         * m4/readline.m4: Likewise.
30332         * m4/readlink.m4: Likewise.
30333         * m4/readutmp.m4: Likewise.
30334         * m4/realloc.m4: Likewise.
30335         * m4/regex.m4: Likewise.
30336         * m4/relocatable.m4: Likewise.
30337         * m4/relocatable-lib.m4: Likewise.
30338         * m4/rename-dest-slash.m4: Likewise.
30339         * m4/rename.m4: Likewise.
30340         * m4/rmdir-errno.m4: Likewise.
30341         * m4/rmdir.m4: Likewise.
30342         * m4/roundf.m4: Likewise.
30343         * m4/roundl.m4: Likewise.
30344         * m4/rpmatch.m4: Likewise.
30345         * m4/save-cwd.m4: Likewise.
30346         * m4/selinux-selinux-h.m4: Likewise.
30347         * m4/setenv.m4: Likewise.
30348         * m4/settime.m4: Likewise.
30349         * m4/sig2str.m4: Likewise.
30350         * m4/sig_atomic_t.m4: Likewise.
30351         * m4/signalblocking.m4: Likewise.
30352         * m4/signbit.m4: Likewise.
30353         * m4/sigpipe.m4: Likewise.
30354         * m4/sockets.m4: Likewise.
30355         * m4/sockpfaf.m4: Likewise.
30356         * m4/st_dm_mode.m4: Likewise.
30357         * m4/stat-time.m4: Likewise.
30358         * m4/stdbool.m4: Likewise.
30359         * m4/stdint.m4: Likewise.
30360         * m4/stdint_h.m4: Likewise.
30361         * m4/stpcpy.m4: Likewise.
30362         * m4/stpncpy.m4: Likewise.
30363         * m4/strcase.m4: Likewise.
30364         * m4/strchrnul.m4: Likewise.
30365         * m4/strcspn.m4: Likewise.
30366         * m4/strdup.m4: Likewise.
30367         * m4/strftime.m4: Likewise.
30368         * m4/strndup.m4: Likewise.
30369         * m4/strnlen.m4: Likewise.
30370         * m4/strpbrk.m4: Likewise.
30371         * m4/strptime.m4: Likewise.
30372         * m4/strsep.m4: Likewise.
30373         * m4/strtod.m4: Likewise.
30374         * m4/strtoimax.m4: Likewise.
30375         * m4/strtok_r.m4: Likewise.
30376         * m4/strtol.m4: Likewise.
30377         * m4/strtoll.m4: Likewise.
30378         * m4/strtoul.m4: Likewise.
30379         * m4/strtoull.m4: Likewise.
30380         * m4/strtoumax.m4: Likewise.
30381         * m4/strverscmp.m4: Likewise.
30382         * m4/threadlib.m4: Likewise.
30383         * m4/timegm.m4: Likewise.
30384         * m4/tm_gmtoff.m4: Likewise.
30385         * m4/tmpdir.m4: Likewise.
30386         * m4/tmpfile.m4: Likewise.
30387         * m4/tzset.m4: Likewise.
30388         * m4/uintmax_t.m4: Likewise.
30389         * m4/unlinkdir.m4: Likewise.
30390         * m4/unlocked-io.m4: Likewise.
30391         * m4/uptime.m4: Likewise.
30392         * m4/userspec.m4: Likewise.
30393         * m4/utimbuf.m4: Likewise.
30394         * m4/utime.m4: Likewise.
30395         * m4/utimes-null.m4: Likewise.
30396         * m4/utimes.m4: Likewise.
30397         * m4/vararrays.m4: Likewise.
30398         * m4/vasnprintf.m4: Likewise.
30399         * m4/vfprintf-posix.m4: Likewise.
30400         * m4/vprintf-posix.m4: Likewise.
30401         * m4/wait-process.m4: Likewise.
30402         * m4/wchar_t.m4: Likewise.
30403         * m4/wint_t.m4: Likewise.
30404         * m4/write-any-file.m4: Likewise.
30405         * m4/yield.m4: Likewise.
30406
30407 2009-01-13  Bruno Haible  <bruno@clisp.org>
30408
30409         Avoid test-copy-file.sh failures when ACL support insufficient.
30410         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
30411         TESTS_ENVIRONMENT.
30412         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
30413         Reported by Jim Meyering.
30414
30415 2009-01-13  Bruno Haible  <bruno@clisp.org>
30416
30417         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
30418         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
30419         * modules/unistdio/u8-printf-parse (Files): Likewise.
30420         * modules/unistdio/u32-printf-parse (Files): Likewise.
30421         * modules/unistdio/ulc-printf-parse (Files): Likewise.
30422
30423 2009-01-13  Simon Josefsson  <simon@josefsson.org>
30424
30425         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
30426         and m4/inttypes_h.m4 too.
30427
30428 2009-01-12  Eric Blake  <ebb9@byu.net>
30429
30430         tests: IRIX 6.2 cc can't compile -0.0 into .data
30431         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
30432         rather than at compile-time.
30433         * tests/test-floorl.c (minus_zero): Likewise.
30434         * tests/test-frexpl.c (minus_zero): Likewise.
30435         * tests/test-isnan.c (minus_zerol): Likewise.
30436         * tests/test-isnanl.h (minus_zero): Likewise.
30437         * tests/test-ldexpl.c (minus_zero): Likewise.
30438         * tests/test-roundl.c (minus_zero): Likewise.
30439         * tests/test-signbit.c (minus_zerol): Likewise.
30440         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
30441         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
30442         * tests/test-truncl.c (minus_zero): Likewise.
30443         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
30444         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
30445         Reported by Tom G. Christensen and Nelson H. F. Beebe.
30446
30447 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30448
30449         regex: fix glibc bug 9697
30450         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
30451         handling.
30452
30453 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30454
30455         regex: fix glibc bug 697
30456         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
30457         being NULL also if there are no backreferences.
30458
30459 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
30460
30461         regex: merge glibc changes
30462         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
30463         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
30464         re_string_skip_chars, re_string_reconstruct): Likewise.
30465         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
30466
30467 2009-01-07  Jim Meyering  <meyering@redhat.com>
30468
30469         poll: filter through cppi
30470         * lib/poll.c: Indent cpp directives to reflect nesting.
30471
30472 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
30473
30474         poll: don't return uninitialized
30475         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
30476
30477 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
30478
30479         avoid compile failure on AIX 6.1
30480         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
30481         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
30482
30483 2009-01-04  Jim Meyering  <meyering@redhat.com>
30484
30485         remove duplicate inclusion of <stdio.h>
30486         * tests/test-fprintf-posix.c: Likewise.
30487         * tests/test-printf-posix.c: Likewise.
30488         * tests/test-snprintf-posix.c: Likewise.
30489         * tests/test-sprintf-posix.c: Likewise.
30490         * tests/test-vasprintf-posix.c: Likewise.
30491         * tests/test-vfprintf-posix.c: Likewise.
30492         * tests/test-vprintf-posix.c: Likewise.
30493         * tests/test-vsnprintf-posix.c: Likewise.
30494         * tests/test-vsprintf-posix.c: Likewise.
30495
30496 2009-01-03  Jim Meyering  <meyering@redhat.com>
30497
30498         gnulib-tool: fix sed-based filtering
30499         * gnulib-tool (func_filter_filelist): Remove extra backslash
30500         in sed_fff_filter definition.
30501
30502 2009-01-02  Jim Meyering  <meyering@redhat.com>
30503
30504         strftime: avoid compilation failure on Solaris 2.6
30505         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
30506         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
30507         Don't #define mbrlen or mbsinit, since now they're guaranteed to
30508         be available.  Reported by Tom G. Christensen.  Details in
30509         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
30510
30511 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30512             Bruno Haible  <bruno@clisp.org>
30513
30514         Speed up gnulib-tool by doing more string processing through shell
30515         built-ins.
30516         * gnulib-tool (fast_func_append): New variable.
30517         (func_remove_prefix, func_remove_suffix): New functions.
30518         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
30519         (func_filter_filelist): New function.
30520         (func_get_dependencies): Use func_remove_suffix instead of sed.
30521         (func_get_automake_snippet): Use func_filter_filelist instead of a
30522         subshell and sed invocation.
30523
30524 2009-01-01  Bruno Haible  <bruno@clisp.org>
30525
30526         Fix a security bug.
30527         * gnulib-tool (func_import, import, update): Don't allow the characters
30528         '"', '$', '`', '\' in macro arguments that become part of commands that
30529         are evaluated.
30530
30531 2009-01-01  Bruno Haible  <bruno@clisp.org>
30532
30533         * gnulib-tool (func_reset_sigpipe): Add more comments.
30534
30535 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30536
30537         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
30538         func_emit_tests_Makefile_am, func_import): Abort loops early if we
30539         already know the answer.
30540
30541 2009-01-01  Jim Meyering  <meyering@redhat.com>
30542
30543         * lib/version-etc.c (version_etc_va): Update copyright year.
30544
30545 2008-12-30  Bruno Haible  <bruno@clisp.org>
30546
30547         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
30548         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
30549         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
30550
30551 2008-12-29  Eric Blake  <ebb9@byu.net>
30552
30553         multiarch: avoid autoconf AC_REQUIRE bug
30554         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
30555         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
30556         2.63 and older.
30557         Reported by Bruno Haible, and analyzed in
30558         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
30559
30560 2008-12-29  Bruno Haible  <bruno@clisp.org>
30561
30562         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
30563         files in subdirectories correctly.
30564         Reported by Ralf Wildenhues.
30565
30566 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30567
30568         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
30569         rather than 'join FILE -', for Solaris join.
30570
30571 2008-12-29  Bruno Haible  <bruno@clisp.org>
30572
30573         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
30574         quoting.
30575         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30576         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
30577         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
30578         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
30579         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30580         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30581         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30582         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30583         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30584         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30585         * m4/nls.m4 (AM_NLS): Likewise.
30586         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
30587         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30588         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30589         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30590         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30591         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30592         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
30593         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30594         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30595         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30596         * m4/xsize.m4 (gl_XSIZE): Likewise.
30597         Suggested by Jim Meyering.
30598
30599 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30600
30601         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
30602         * lib/parse-duration.c: use a switch instead of cascading if's.
30603
30604 2008-12-29  Eric Blake  <ebb9@byu.net>
30605
30606         wchar.h: supply WEOF on Irix 5.3
30607         * lib/wchar.in.h (wint_t): Also supply WEOF.
30608         * lib/wctype.in.h (wint_t): Likewise.
30609         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
30610         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
30611         Reported by Tom G. Christensen.
30612
30613 2008-12-26  Bruno Haible  <bruno@clisp.org>
30614
30615         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
30616         i486, i586, i686.
30617
30618 2008-12-26  Bruno Haible  <bruno@clisp.org>
30619
30620         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
30621
30622 2008-12-26  Bruno Haible  <bruno@clisp.org>
30623
30624         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
30625         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
30626         not __STDC_CONSTANT_MACROS.
30627         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
30628
30629 2008-12-25  Bruno Haible  <bruno@clisp.org>
30630
30631         Add support for universal builds to vasnprintf.
30632         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
30633         universal builds, guess no.
30634         * modules/vasnprintf-posix (Depends-on): Add multiarch.
30635         * modules/vasprintf-posix (Depends-on): Likewise.
30636         * modules/fprintf-posix (Depends-on): Likewise.
30637         * modules/vfprintf-posix (Depends-on): Likewise.
30638         * modules/snprintf-posix (Depends-on): Likewise.
30639         * modules/vsnprintf-posix (Depends-on): Likewise.
30640         * modules/sprintf-posix (Depends-on): Likewise.
30641         * modules/vsprintf-posix (Depends-on): Likewise.
30642         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30643         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30644         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30645         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30646         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30647         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30648         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30649
30650         Add support for universal builds to <inttypes.h>.
30651         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
30652         _SCNu64_PREFIX): In Apple
30653         universal builds, define directly, using _LP64.
30654         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
30655         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
30656         * modules/inttypes (Depends-on): Add multiarch.
30657         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30658
30659         Add support for universal builds to <stdint.h>.
30660         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
30661         universal builds, define directly, using _LP64.
30662         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
30663         Apple universal builds, don't test for the size and suffix of ptrdiff_t
30664         and size_t.
30665         * modules/stdint (Depends-on): Add multiarch.
30666         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
30667
30668         New module 'multiarch'.
30669         * modules/multiarch: New file.
30670         * m4/multiarch.m4: New file.
30671
30672 2008-12-25  Bruno Haible  <bruno@clisp.org>
30673
30674         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
30675
30676 2008-12-25  Bruno Haible  <bruno@clisp.org>
30677
30678         * modules/btowc (License): Relicense under LGPLv2+.
30679         * modules/mbsinit (License): Likewise.
30680         * modules/mbrtowc (License): Likewise.
30681         * modules/wcrtomb (License): Likewise.
30682         * modules/streq (License): Likewise.
30683         Reported by David Lutterkort <lutter@redhat.com>.
30684
30685 2008-12-23  Bruno Haible  <bruno@clisp.org>
30686
30687         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
30688
30689 2008-12-23  Bruno Haible  <bruno@clisp.org>
30690
30691         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
30692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
30693         GETADDRINFO_LIB, not in LIBS.
30694         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
30695         * modules/canon-host (Link): Likewise.
30696         * NEWS: Mention the change.
30697         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
30698         GETADDRINFO_LIB.
30699
30700 2008-12-22  Bruno Haible  <bruno@clisp.org>
30701
30702         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
30703         * doc/posix-functions/iswalpha_l.texi: Likewise.
30704         * doc/posix-functions/iswblank_l.texi: Likewise.
30705         * doc/posix-functions/iswcntrl_l.texi: Likewise.
30706         * doc/posix-functions/iswctype_l.texi: Likewise.
30707         * doc/posix-functions/iswdigit_l.texi: Likewise.
30708         * doc/posix-functions/iswgraph_l.texi: Likewise.
30709         * doc/posix-functions/iswlower_l.texi: Likewise.
30710         * doc/posix-functions/iswprint_l.texi: Likewise.
30711         * doc/posix-functions/iswpunct_l.texi: Likewise.
30712         * doc/posix-functions/iswspace_l.texi: Likewise.
30713         * doc/posix-functions/iswupper_l.texi: Likewise.
30714         * doc/posix-functions/iswxdigit_l.texi: Likewise.
30715         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
30716         * doc/posix-functions/open_wmemstream.texi: Likewise.
30717         * doc/posix-functions/swscanf.texi: Likewise.
30718         * doc/posix-functions/towctrans_l.texi: Likewise.
30719         * doc/posix-functions/towlower.texi: Likewise.
30720         * doc/posix-functions/towlower_l.texi: Likewise.
30721         * doc/posix-functions/towupper.texi: Likewise.
30722         * doc/posix-functions/towupper_l.texi: Likewise.
30723         * doc/posix-functions/vfwprintf.texi: Likewise.
30724         * doc/posix-functions/vfwscanf.texi: Likewise.
30725         * doc/posix-functions/vswscanf.texi: Likewise.
30726         * doc/posix-functions/vwprintf.texi: Likewise.
30727         * doc/posix-functions/vwscanf.texi: Likewise.
30728         * doc/posix-functions/wcpcpy.texi: Likewise.
30729         * doc/posix-functions/wcpncpy.texi: Likewise.
30730         * doc/posix-functions/wcscasecmp.texi: Likewise.
30731         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
30732         * doc/posix-functions/wcscoll_l.texi: Likewise.
30733         * doc/posix-functions/wcsdup.texi: Likewise.
30734         * doc/posix-functions/wcsncasecmp.texi: Likewise.
30735         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
30736         * doc/posix-functions/wcsnlen.texi: Likewise.
30737         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30738         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
30739         * doc/posix-functions/wctrans_l.texi: Likewise.
30740         * doc/posix-functions/wctype_l.texi: Likewise.
30741         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
30742         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
30743         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
30744         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
30745         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
30746         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
30747         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
30748         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
30749         * doc/glibc-functions/wcschrnul.texi: Likewise.
30750         * doc/glibc-functions/wcsftime_l.texi: Likewise.
30751         * doc/glibc-functions/wcstod_l.texi: Likewise.
30752         * doc/glibc-functions/wcstof_l.texi: Likewise.
30753         * doc/glibc-functions/wcstol_l.texi: Likewise.
30754         * doc/glibc-functions/wcstold_l.texi: Likewise.
30755         * doc/glibc-functions/wcstoll_l.texi: Likewise.
30756         * doc/glibc-functions/wcstoq.texi: Likewise.
30757         * doc/glibc-functions/wcstoul_l.texi: Likewise.
30758         * doc/glibc-functions/wcstoull_l.texi: Likewise.
30759         * doc/glibc-functions/wcstouq.texi: Likewise.
30760         * doc/glibc-functions/wmempcpy.texi: Likewise.
30761
30762 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
30763             Eric Blake  <ebb9@byu.net>
30764             Paolo Bonzini  <bonzini@gnu.org>
30765             Bruno Haible  <bruno@clisp.org>
30766
30767         Make c-stack work on Haiku.
30768         * lib/c-stack.c (SA_ONSTACK): Define fallback.
30769         (c_stack_action): Use SA_ONSTACK flag.
30770
30771 2008-12-22  Bruno Haible  <bruno@clisp.org>
30772
30773         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
30774
30775 2008-12-22  Bruno Haible  <bruno@clisp.org>
30776
30777         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
30778         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
30779         being overridden.
30780         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
30781         New macros.
30782         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
30783         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
30784         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
30785         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
30786
30787 2008-12-22  Bruno Haible  <bruno@clisp.org>
30788
30789         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
30790         from test code.
30791
30792 2008-12-22  Eric Blake  <ebb9@byu.net>
30793
30794         Avoid gcc warnings on cygwin.
30795         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
30796         Avoid unused variable.
30797         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
30798         Likewise.
30799
30800 2008-12-22  Bruno Haible  <bruno@clisp.org>
30801
30802         Remove HAVE_MBRTOWC conditionals.
30803         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
30804         (mbscasecmp): Assume mbrtowc function.
30805         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
30806         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
30807         * lib/mbschr.c: Include mbuiter.h unconditionally.
30808         (mbschr): Assume mbrtowc function.
30809         * lib/mbscspn.c: Include mbuiter.h unconditionally.
30810         (mbscspn): Assume mbrtowc function.
30811         * lib/mbslen.c: Include mbuiter.h unconditionally.
30812         (mbslen): Assume mbrtowc function.
30813         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
30814         (mbsncasecmp): Assume mbrtowc function.
30815         * lib/mbsnlen.c: Include mbiter.h unconditionally.
30816         (mbsnlen): Assume mbrtowc function.
30817         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
30818         (mbspbrk): Assume mbrtowc function.
30819         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
30820         (mbspcasecmp): Assume mbrtowc function.
30821         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
30822         (mbsrchr): Assume mbrtowc function.
30823         * lib/mbssep.c: Include mbuiter.h unconditionally.
30824         (mbssep): Assume mbrtowc function.
30825         * lib/mbsspn.c: Include mbuiter.h unconditionally.
30826         (mbsspn): Assume mbrtowc function.
30827         * lib/mbsstr.c: Include mbuiter.h unconditionally.
30828         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
30829         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
30830         (mbstok_r): Assume mbrtowc function.
30831         * lib/propername.c: Include mbuiter.h unconditionally.
30832         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
30833         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
30834         (trim2): Assume mbrtowc function.
30835         * lib/mbswidth.c (mbsinit): Remove fallback definition.
30836         (mbsnwidth): Assume mbrtowc function.
30837         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
30838         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
30839         fallback definitions.
30840         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
30841
30842 2008-12-22  Bruno Haible  <bruno@clisp.org>
30843
30844         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
30845
30846 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
30847
30848         * modules/regex: Request emulations for the mb*/wc* functions we need.
30849         * m4/regex.m4: Don't look for those functions here.
30850         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
30851
30852 2008-12-22  Bruno Haible  <bruno@clisp.org>
30853
30854         * modules/fnmatch (Depends-on): Remove duplicated dependency.
30855
30856 2008-12-21  Bruno Haible  <bruno@clisp.org>
30857
30858         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
30859         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
30860         (Include): Remove conditionalization.
30861         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
30862         (Include): Remove conditionalization.
30863         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
30864         (Include): Remove conditionalization.
30865         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
30866         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30867         * NEWS: Mention the change.
30868         Reported by Alan Hourihane <alanh@fairlite.co.uk>
30869         via Sergey Poznyakoff <gray@gnu.org.ua>.
30870
30871 2008-12-21  Bruno Haible  <bruno@clisp.org>
30872
30873         * MODULES.html.sh (Extended multibyte and wide character utilities
30874         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
30875         wcrtomb, wcsrtombs.
30876         (Support for systems lacking POSIX:2008): Add accept, bind, close,
30877         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
30878         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
30879         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
30880
30881 2008-12-21  Bruno Haible  <bruno@clisp.org>
30882
30883         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
30884
30885 2008-12-21  Bruno Haible  <bruno@clisp.org>
30886
30887         * modules/wcsnrtombs-tests: New file.
30888         * tests/test-wcsnrtombs1.sh: New file.
30889         * tests/test-wcsnrtombs2.sh: New file.
30890         * tests/test-wcsnrtombs3.sh: New file.
30891         * tests/test-wcsnrtombs4.sh: New file.
30892         * tests/test-wcsnrtombs.c: New file.
30893
30894         New module 'wcsnrtombs'.
30895         * lib/wchar.in.h (wcsnrtombs): New declaration.
30896         * lib/wcsnrtombs.c: New file.
30897         * lib/wcsrtombs-state.c: New file.
30898         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
30899         (internal_state): Remove variable.
30900         * m4/wcsnrtombs.m4: New file.
30901         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
30902         compilation units.
30903         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
30904         HAVE_WCSNRTOMBS.
30905         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
30906         HAVE_WCSNRTOMBS.
30907         * modules/wcsnrtombs: New file.
30908         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
30909         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
30910
30911 2008-12-21  Bruno Haible  <bruno@clisp.org>
30912
30913         * modules/wcsrtombs-tests: New file.
30914         * tests/test-wcsrtombs1.sh: New file.
30915         * tests/test-wcsrtombs2.sh: New file.
30916         * tests/test-wcsrtombs3.sh: New file.
30917         * tests/test-wcsrtombs4.sh: New file.
30918         * tests/test-wcsrtombs.c: New file.
30919
30920         New module 'wcsrtombs'.
30921         * lib/wchar.in.h (wcsrtombs): New declaration.
30922         * lib/wcsrtombs.c: New file.
30923         * m4/wcsrtombs.m4: New file.
30924         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
30925         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30926         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
30927         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
30928         * modules/wcsrtombs: New file.
30929         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
30930         bugs.
30931
30932 2008-12-21  Bruno Haible  <bruno@clisp.org>
30933
30934         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
30935         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
30936         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
30937         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
30938         if not correct.
30939         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
30940         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
30941         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
30942         m4/locale-zh.m4, m4/codeset.m4.
30943         * doc/posix-functions/wcrtomb.texi: Document the bug.
30944
30945 2008-12-21  Bruno Haible  <bruno@clisp.org>
30946
30947         Work around a btowc() bug on IRIX 6.5.
30948         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
30949         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
30950         REPLACE_WTOBC if not.
30951         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
30952         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
30953         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
30954
30955 2008-12-21  Bruno Haible  <bruno@clisp.org>
30956
30957         * modules/wcrtomb-tests: New file.
30958         * tests/test-wcrtomb.sh: New file.
30959         * tests/test-wcrtomb.c: New file.
30960
30961         New module 'wcrtomb'.
30962         * lib/wchar.in.h (wcrtomb): New declaration.
30963         * lib/wcrtomb.c: New file.
30964         * m4/wcrtomb.m4: New file.
30965         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
30966         HAVE_WCRTOMB.
30967         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
30968         HAVE_WCRTOMB.
30969         * modules/wcrtomb: New file.
30970         * doc/posix-functions/wcrtomb.texi: Mention the new module.
30971
30972 2008-12-21  Bruno Haible  <bruno@clisp.org>
30973
30974         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
30975         * modules/mbsrtowcs (Files): Likewise.
30976         * modules/wctob (Files): Likewise.
30977         * modules/c-strcase-tests (Files): Likewise.
30978         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
30979         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
30980         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
30981         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
30982         * modules/vasnprintf-posix-tests (Files): Likewise.
30983
30984 2008-12-21  William Pursell  <bill.pursell@gmail.com>
30985
30986         gitlog-to-changelog: pass all command-line arguments to git-log
30987         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
30988         it is sometimes convenient to filter the commits in various ways.
30989         gitlog-to-changelog only allows --since to specify a start date,
30990         but git-log itself supports many other filtering mechanisms.
30991         At the moment, I want to filter by branch name.  Rather than
30992         adding a --branch option to gitlog-to-changelog, it seems more
30993         flexible to simply pass all options directly to git-log and let
30994         git do the work.  Notice that this effectively makes --since a
30995         redundant option for gitlog-to-changelog, but removing it would
30996         require current usage to change since calls would then require
30997         an additional '--'.
30998
30999 2008-12-21  Bruno Haible  <bruno@clisp.org>
31000
31001         * modules/mbsnrtowcs-tests: New file.
31002         * tests/test-mbsnrtowcs1.sh: New file.
31003         * tests/test-mbsnrtowcs2.sh: New file.
31004         * tests/test-mbsnrtowcs3.sh: New file.
31005         * tests/test-mbsnrtowcs4.sh: New file.
31006         * tests/test-mbsnrtowcs.c: New file.
31007
31008         New module 'mbsnrtowcs'.
31009         * lib/wchar.in.h (mbsnrtowcs): New declaration.
31010         * lib/mbsnrtowcs.c: New file.
31011         * lib/mbsrtowcs-state.c: New file.
31012         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
31013         (internal_state): Remove variable.
31014         * m4/mbsnrtowcs.m4: New file.
31015         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
31016         compilation units.
31017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
31018         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31019         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
31020         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
31021         * modules/mbsnrtowcs: New file.
31022         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
31023         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
31024         portability problem.
31025
31026 2008-12-21  Bruno Haible  <bruno@clisp.org>
31027
31028         Work around mbsrtowcs bug.
31029         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
31030         (gl_FUNC_MBSRTOWCS): Invoke it.
31031         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31032         m4/locale-zh.m4.
31033         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
31034
31035 2008-12-21  Bruno Haible  <bruno@clisp.org>
31036
31037         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
31038
31039 2008-12-21  Bruno Haible  <bruno@clisp.org>
31040
31041         Update doc for AIX.
31042         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
31043         16-bit wchar_t type.
31044         * doc/posix-functions/btowc.texi: Likewise.
31045         * doc/posix-functions/fgetwc.texi: Likewise.
31046         * doc/posix-functions/fgetws.texi: Likewise.
31047         * doc/posix-functions/fputwc.texi: Likewise.
31048         * doc/posix-functions/fputws.texi: Likewise.
31049         * doc/posix-functions/fwide.texi: Likewise.
31050         * doc/posix-functions/fwprintf.texi: Likewise.
31051         * doc/posix-functions/fwscanf.texi: Likewise.
31052         * doc/posix-functions/getwchar.texi: Likewise.
31053         * doc/posix-functions/getwc.texi: Likewise.
31054         * doc/posix-functions/iswalnum.texi: Likewise.
31055         * doc/posix-functions/iswalpha.texi: Likewise.
31056         * doc/posix-functions/iswblank.texi: Likewise.
31057         * doc/posix-functions/iswcntrl.texi: Likewise.
31058         * doc/posix-functions/iswctype.texi: Likewise.
31059         * doc/posix-functions/iswdigit.texi: Likewise.
31060         * doc/posix-functions/iswgraph.texi: Likewise.
31061         * doc/posix-functions/iswlower.texi: Likewise.
31062         * doc/posix-functions/iswprint.texi: Likewise.
31063         * doc/posix-functions/iswpunct.texi: Likewise.
31064         * doc/posix-functions/iswspace.texi: Likewise.
31065         * doc/posix-functions/iswupper.texi: Likewise.
31066         * doc/posix-functions/iswxdigit.texi: Likewise.
31067         * doc/posix-functions/mbrtowc.texi: Likewise.
31068         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31069         * doc/posix-functions/mbstowcs.texi: Likewise.
31070         * doc/posix-functions/mbtowc.texi: Likewise.
31071         * doc/posix-functions/putwchar.texi: Likewise.
31072         * doc/posix-functions/putwc.texi: Likewise.
31073         * doc/posix-functions/swprintf.texi: Likewise.
31074         * doc/posix-functions/tolower.texi: Likewise.
31075         * doc/posix-functions/toupper.texi: Likewise.
31076         * doc/posix-functions/towctrans.texi: Likewise.
31077         * doc/posix-functions/ungetwc.texi: Likewise.
31078         * doc/posix-functions/vswprintf.texi: Likewise.
31079         * doc/posix-functions/wcrtomb.texi: Likewise.
31080         * doc/posix-functions/wcscat.texi: Likewise.
31081         * doc/posix-functions/wcschr.texi: Likewise.
31082         * doc/posix-functions/wcscmp.texi: Likewise.
31083         * doc/posix-functions/wcscoll.texi: Likewise.
31084         * doc/posix-functions/wcscpy.texi: Likewise.
31085         * doc/posix-functions/wcscspn.texi: Likewise.
31086         * doc/posix-functions/wcsftime.texi: Likewise.
31087         * doc/posix-functions/wcslen.texi: Likewise.
31088         * doc/posix-functions/wcsncat.texi: Likewise.
31089         * doc/posix-functions/wcsncmp.texi: Likewise.
31090         * doc/posix-functions/wcsncpy.texi: Likewise.
31091         * doc/posix-functions/wcspbrk.texi: Likewise.
31092         * doc/posix-functions/wcsrchr.texi: Likewise.
31093         * doc/posix-functions/wcsrtombs.texi: Likewise.
31094         * doc/posix-functions/wcsspn.texi: Likewise.
31095         * doc/posix-functions/wcsstr.texi: Likewise.
31096         * doc/posix-functions/wcstod.texi: Likewise.
31097         * doc/posix-functions/wcstof.texi: Likewise.
31098         * doc/posix-functions/wcstoimax.texi: Likewise.
31099         * doc/posix-functions/wcstok.texi: Likewise.
31100         * doc/posix-functions/wcstold.texi: Likewise.
31101         * doc/posix-functions/wcstoll.texi: Likewise.
31102         * doc/posix-functions/wcstol.texi: Likewise.
31103         * doc/posix-functions/wcstombs.texi: Likewise.
31104         * doc/posix-functions/wcstoull.texi: Likewise.
31105         * doc/posix-functions/wcstoul.texi: Likewise.
31106         * doc/posix-functions/wcstoumax.texi: Likewise.
31107         * doc/posix-functions/wcswidth.texi: Likewise.
31108         * doc/posix-functions/wcsxfrm.texi: Likewise.
31109         * doc/posix-functions/wctob.texi: Likewise.
31110         * doc/posix-functions/wctomb.texi: Likewise.
31111         * doc/posix-functions/wctrans.texi: Likewise.
31112         * doc/posix-functions/wctype.texi: Likewise.
31113         * doc/posix-functions/wcwidth.texi: Likewise.
31114         * doc/posix-functions/wmemchr.texi: Likewise.
31115         * doc/posix-functions/wmemcmp.texi: Likewise.
31116         * doc/posix-functions/wmemcpy.texi: Likewise.
31117         * doc/posix-functions/wmemmove.texi: Likewise.
31118         * doc/posix-functions/wmemset.texi: Likewise.
31119         * doc/posix-functions/wprintf.texi: Likewise.
31120         * doc/posix-functions/wscanf.texi: Likewise.
31121
31122 2008-12-21  Bruno Haible  <bruno@clisp.org>
31123
31124         Update doc for HP-UX 11.11.
31125         * doc/posix-functions/btowc.texi: Clarify that the function is missing
31126         in HP-UX version 11.00, not in all versions of HP-UX 11.
31127         * doc/posix-functions/fwide.texi: Likewise.
31128         * doc/posix-functions/fwprintf.texi: Likewise.
31129         * doc/posix-functions/fwscanf.texi: Likewise.
31130         * doc/posix-functions/inet_ntop.texi: Likewise.
31131         * doc/posix-functions/inet_pton.texi: Likewise.
31132         * doc/posix-functions/mbrlen.texi: Likewise.
31133         * doc/posix-functions/mbrtowc.texi: Likewise.
31134         * doc/posix-functions/mbsinit.texi: Likewise.
31135         * doc/posix-functions/mbsrtowcs.texi: Likewise.
31136         * doc/posix-functions/swprintf.texi: Likewise.
31137         * doc/posix-functions/swscanf.texi: Likewise.
31138         * doc/posix-functions/towctrans.texi: Likewise.
31139         * doc/posix-functions/vfwprintf.texi: Likewise.
31140         * doc/posix-functions/vswprintf.texi: Likewise.
31141         * doc/posix-functions/vwprintf.texi: Likewise.
31142         * doc/posix-functions/wcrtomb.texi: Likewise.
31143         * doc/posix-functions/wcsrtombs.texi: Likewise.
31144         * doc/posix-functions/wcsstr.texi: Likewise.
31145         * doc/posix-functions/wctob.texi: Likewise.
31146         * doc/posix-functions/wctrans.texi: Likewise.
31147         * doc/posix-functions/wmemchr.texi: Likewise.
31148         * doc/posix-functions/wmemcmp.texi: Likewise.
31149         * doc/posix-functions/wmemcpy.texi: Likewise.
31150         * doc/posix-functions/wmemmove.texi: Likewise.
31151         * doc/posix-functions/wmemset.texi: Likewise.
31152         * doc/posix-functions/wprintf.texi: Likewise.
31153         * doc/posix-functions/wscanf.texi: Likewise.
31154
31155 2008-12-21  Bruno Haible  <bruno@clisp.org>
31156
31157         Work around a portability problem.
31158         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
31159         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
31160
31161 2008-12-20  Bruno Haible  <bruno@clisp.org>
31162
31163         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
31164         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
31165         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
31166         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
31167         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
31168
31169         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
31170         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
31171         set.
31172         (GNULIB_defined_mbstate_t): New macro.
31173         (mbsinit): Redefine if REPLACE_MBSINIT is set.
31174         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
31175         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
31176         reuses the system's mbrtowc function but works around the bugs.
31177         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
31178         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
31179         macros.
31180         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
31181         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
31182         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
31183         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
31184         REPLACE_MBSINIT if mbsinit needs to be overridden.
31185         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
31186         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31187         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
31188         REPLACE_MBSINIT, REPLACE_MBRTOWC.
31189         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
31190         m4/locale-zh.m4.
31191         (Depends): Add mbsinit.
31192         * modules/mbsinit (Depends): Add mbrtowc.
31193         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
31194
31195 2008-12-20  Bruno Haible  <bruno@clisp.org>
31196
31197         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
31198         so that there are no conversion errors on AIX.
31199         * tests/test-mbsrtowcs.c (main): LIkewise.
31200
31201 2008-12-20  Bruno Haible  <bruno@clisp.org>
31202
31203         Work around wctob bug on Solaris <= 9.
31204         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
31205         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
31206         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
31207         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
31208         * modules/wctob (Files): Add m4/locale-fr.m4.
31209         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
31210
31211 2008-12-20  Bruno Haible  <bruno@clisp.org>
31212
31213         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
31214         /dev/null.
31215         * tests/test-select-in.sh: Likewise.
31216         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31217
31218 2008-12-20  Bruno Haible  <bruno@clisp.org>
31219
31220         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
31221         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
31222         Cygwin 1.5.x.
31223
31224 2008-12-20  Bruno Haible  <bruno@clisp.org>
31225
31226         Ensure mbstate_t is defined on HP-UX 11.11.
31227         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
31228         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
31229         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
31230         AC_USE_SYSTEM_EXTENSIONS.
31231         * modules/fnmatch (Depends-on): Add extensions.
31232         * modules/mbrlen (Depends-on): Likewise.
31233         * modules/mbrtowc (Depends-on): Likewise.
31234         * modules/mbsinit (Depends-on): Likewise.
31235         * modules/mbsrtowcs (Depends-on): Likewise.
31236         * modules/mbswidth (Depends-on): Likewise.
31237         * modules/quotearg (Depends-on): Likewise.
31238         * modules/strftime (Depends-on): Likewise.
31239
31240 2008-12-20  Bruno Haible  <bruno@clisp.org>
31241
31242         Ensure wctob is declared on IRIX 6.5.
31243         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
31244         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
31245         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
31246         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
31247         of HAVE_WCTOB.
31248         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
31249         HAVE_WCTOB.
31250         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
31251
31252 2008-12-19  Bruno Haible  <bruno@clisp.org>
31253
31254         * modules/mbsrtowcs-tests: New file.
31255         * tests/test-mbsrtowcs1.sh: New file.
31256         * tests/test-mbsrtowcs2.sh: New file.
31257         * tests/test-mbsrtowcs3.sh: New file.
31258         * tests/test-mbsrtowcs4.sh: New file.
31259         * tests/test-mbsrtowcs.c: New file.
31260
31261         New module 'mbsrtowcs'.
31262         * lib/wchar.in.h (mbsrtowcs): New declaration.
31263         * lib/mbsrtowcs.c: New file.
31264         * m4/mbsrtowcs.m4: New file.
31265         * modules/mbsrtowcs: New file.
31266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
31267         HAVE_MBSRTOWCS.
31268         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
31269         HAVE_MBSRTOWCS.
31270         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
31271
31272 2008-12-19  Bruno Haible  <bruno@clisp.org>
31273
31274         New module 'mbrlen'.
31275         * lib/wchar.in.h (mbrlen): New declaration.
31276         * lib/mbrlen.c: New file.
31277         * m4/mbrlen.m4: New file.
31278         * modules/mbrlen: New file.
31279         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
31280         HAVE_MBRLEN.
31281         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
31282         HAVE_MBRLEN.
31283         * doc/posix-functions/mbrlen.texi: Document the new module.
31284
31285 2008-12-19  Bruno Haible  <bruno@clisp.org>
31286
31287         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
31288         * modules/mbrtowc (Depends-on): Add verify.
31289         Suggested by Paul Eggert.
31290
31291 2008-12-18  Bruno Haible  <bruno@clisp.org>
31292
31293         * modules/mbsinit-tests: New file.
31294         * tests/test-mbsinit.sh: New file.
31295         * tests/test-mbsinit.c: New file.
31296
31297 2008-12-18  Bruno Haible  <bruno@clisp.org>
31298
31299         * modules/mbrtowc-tests: New file.
31300         * tests/test-mbrtowc1.sh: New file.
31301         * tests/test-mbrtowc2.sh: New file.
31302         * tests/test-mbrtowc3.sh: New file.
31303         * tests/test-mbrtowc4.sh: New file.
31304         * tests/test-mbrtowc.c: New file.
31305
31306         New module 'mbrtowc'.
31307         * lib/wchar.in.h (mbstate_t): Override when the system does not have
31308         mbsinit and mbrtowc.
31309         (mbrtowc): New declaration.
31310         * lib/mbrtowc.c: New file.
31311         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
31312         * modules/mbrtowc: New file.
31313         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
31314         HAVE_MBRTOWC.
31315         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
31316         HAVE_MBRTOWC.
31317         * doc/posix-functions/mbrtowc.texi: Document the new module.
31318
31319 2008-12-18  Bruno Haible  <bruno@clisp.org>
31320
31321         New module 'wctob'.
31322         * lib/wchar.in.h (wctob): New declaration.
31323         * lib/wctob.c: New file.
31324         * m4/wctob.m4: New file.
31325         * modules/wctob: New file.
31326         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
31327         HAVE_WCTOB.
31328         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
31329         * doc/posix-functions/wctob.texi: Document the new module.
31330
31331 2008-12-18  Bruno Haible  <bruno@clisp.org>
31332
31333         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
31334         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
31335
31336 2008-12-18  Simon Josefsson  <simon@josefsson.org>
31337
31338         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
31339         G. Christensen" <tgc@jupiterrise.com>.
31340
31341         * lib/flock.c: Need to include errno.h.  Reported by "Tom
31342         G. Christensen" <tgc@jupiterrise.com>.
31343
31344         * lib/flock.c: Need to include string.h.  Reported by "Tom
31345         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
31346         <ebb9@byu.net>.
31347
31348 2008-12-18  Bruno Haible  <bruno@clisp.org>
31349
31350         * m4/locale-ja.m4: New file, from GNU gettext.
31351
31352 2008-12-17  Bruno Haible  <bruno@clisp.org>
31353
31354         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
31355         Suggested by Eric Blake.
31356
31357 2008-12-17  Bruno Haible  <bruno@clisp.org>
31358
31359         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
31360
31361 2008-12-17  Bruno Haible  <bruno@clisp.org>
31362
31363         * lib/mbsinit.c: Include verify.h. Verify an assumption.
31364         * modules/mbsinit (Depends-on): Add verify.
31365         Suggested by Paul Eggert.
31366
31367 2008-12-17  Bruno Haible  <bruno@clisp.org>
31368
31369         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
31370         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
31371         gl_FUNC_MBRTOWC.
31372         * m4/mbiter.m4 (gl_MBITER): LIkewise.
31373         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
31374         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
31375         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
31376         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
31377         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
31378         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
31379         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
31380         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
31381         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
31382         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
31383         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
31384         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
31385         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
31386         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
31387         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31388         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
31389         * modules/trim (configure.ac): Likewise.
31390
31391 2008-12-17  Bruno Haible  <bruno@clisp.org>
31392
31393         * modules/btowc-tests: New file.
31394         * tests/test-btowc1.sh: New file.
31395         * tests/test-btowc2.sh: New file.
31396         * tests/test-btowc.c: New file.
31397
31398         New module 'btowc'.
31399         * lib/wchar.in.h (btowc): New declaration.
31400         * lib/btowc.c: New file.
31401         * m4/btowc.m4: New file.
31402         * modules/btowc: New file.
31403         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
31404         HAVE_BTOWC.
31405         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
31406         * doc/posix-functions/btowc.texi: Document the new module.
31407
31408 2008-12-17  Bruno Haible  <bruno@clisp.org>
31409
31410         New module 'mbsinit'.
31411         * lib/wchar.in.h (mbsinit): New declaration.
31412         * lib/mbsinit.c: New file.
31413         * m4/mbsinit.m4: New file.
31414         * modules/mbsinit: New file.
31415         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
31416         HAVE_MBSINIT.
31417         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
31418         HAVE_MBSINIT.
31419         * doc/posix-functions/mbsinit.texi: Document the new module.
31420
31421 2008-12-16  Bruno Haible  <bruno@clisp.org>
31422
31423         * lib/unistd.in.h: Add comment.
31424         * tests/test-environ.c: Don't include <stdlib.h>.
31425
31426 2008-12-16  Bruno Haible  <bruno@clisp.org>
31427
31428         * lib/parse-duration.h (parse_duration): Document return value
31429         convention.
31430         * lib/parse-duration.c: Include specification header first. Add
31431         comments.
31432         (_): Remove macro.
31433         (parse_year_month_day, parse_hour_minute_second): Move side effects
31434         outside of strchr call.
31435         (parse_non_iso8601): Move side effects outside of isspace call.
31436         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
31437         call.
31438
31439 2008-12-16  Bruno Haible  <bruno@clisp.org>
31440
31441         * tests/test-parse-duration.sh: Produce no output when the test
31442         succeeds.
31443
31444 2008-12-16  Bruno Haible  <bruno@clisp.org>
31445
31446         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
31447         expressions.
31448
31449 2008-12-15  Bruno Haible  <bruno@clisp.org>
31450
31451         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
31452         * doc/glibc-functions/flistxattr.texi: Likewise.
31453         * doc/glibc-functions/fopencookie.texi: Likewise.
31454         * doc/glibc-functions/fremovexattr.texi: Likewise.
31455         * doc/glibc-functions/fsetxattr.texi: Likewise.
31456         * doc/glibc-functions/getxattr.texi: Likewise.
31457         * doc/glibc-functions/lgetxattr.texi: Likewise.
31458         * doc/glibc-functions/listxattr.texi: Likewise.
31459         * doc/glibc-functions/llistxattr.texi: Likewise.
31460         * doc/glibc-functions/lremovexattr.texi: Likewise.
31461         * doc/glibc-functions/lsetxattr.texi: Likewise.
31462         * doc/glibc-functions/removexattr.texi: Likewise.
31463         * doc/glibc-functions/setxattr.texi: Likewise.
31464         * doc/posix-functions/open_memstream.texi: Likewise.
31465
31466 2008-12-15  Eric Blake  <ebb9@byu.net>
31467
31468         Update doc for cygwin 1.7.
31469         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
31470         functions.
31471         * doc/posix-functions/fchmodat.texi: Likewise.
31472         * doc/posix-functions/fchownat.texi: Likewise.
31473         * doc/posix-functions/fdopendir.texi: Likewise.
31474         * doc/posix-functions/fmemopen.texi: Likewise.
31475         * doc/posix-functions/freeaddrinfo.texi: Likewise.
31476         * doc/posix-functions/fstatat.texi: Likewise.
31477         * doc/posix-functions/futimens.texi: Likewise.
31478         * doc/posix-functions/gai_strerror.texi: Likewise.
31479         * doc/posix-functions/getaddrinfo.texi: Likewise.
31480         * doc/posix-functions/getnameinfo.texi: Likewise.
31481         * doc/posix-functions/if_freenameindex.texi: Likewise.
31482         * doc/posix-functions/if_indextoname.texi: Likewise.
31483         * doc/posix-functions/if_nameindex.texi: Likewise.
31484         * doc/posix-functions/if_nametoindex.texi: Likewise.
31485         * doc/posix-functions/insque.texi: Likewise.
31486         * doc/posix-functions/linkat.texi: Likewise.
31487         * doc/posix-functions/llrint.texi: Likewise.
31488         * doc/posix-functions/llrintf.texi: Likewise.
31489         * doc/posix-functions/llrintl.texi: Likewise.
31490         * doc/posix-functions/lockf.texi: Likewise.
31491         * doc/posix-functions/lrintl.texi: Likewise.
31492         * doc/posix-functions/mkdirat.texi: Likewise.
31493         * doc/posix-functions/mkfifoat.texi: Likewise.
31494         * doc/posix-functions/mknodat.texi: Likewise.
31495         * doc/posix-functions/mq_close.texi: Likewise.
31496         * doc/posix-functions/mq_getattr.texi: Likewise.
31497         * doc/posix-functions/mq_notify.texi: Likewise.
31498         * doc/posix-functions/mq_open.texi: Likewise.
31499         * doc/posix-functions/mq_receive.texi: Likewise.
31500         * doc/posix-functions/mq_send.texi: Likewise.
31501         * doc/posix-functions/mq_setattr.texi: Likewise.
31502         * doc/posix-functions/mq_timedreceive.texi: Likewise.
31503         * doc/posix-functions/mq_timedsend.texi: Likewise.
31504         * doc/posix-functions/mq_unlink.texi: Likewise.
31505         * doc/posix-functions/open_memstream.texi: Likewise.
31506         * doc/posix-functions/openat.texi: Likewise.
31507         * doc/posix-functions/posix_fadvise.texi: Likewise.
31508         * doc/posix-functions/posix_fallocate.texi: Likewise.
31509         * doc/posix-functions/posix_madvise.texi: Likewise.
31510         * doc/posix-functions/posix_memalign.texi: Likewise.
31511         * doc/posix-functions/posix_openpt.texi: Likewise.
31512         * doc/posix-functions/readlinkat.texi: Likewise.
31513         * doc/posix-functions/remque.texi: Likewise.
31514         * doc/posix-functions/renameat.texi: Likewise.
31515         * doc/posix-functions/rintl.texi: Likewise.
31516         * doc/posix-functions/sem_unlink.texi: Likewise.
31517         * doc/posix-functions/shm_open.texi: Likewise.
31518         * doc/posix-functions/shm_unlink.texi: Likewise.
31519         * doc/posix-functions/signgam.texi: Likewise.
31520         * doc/posix-functions/sigset.texi: Likewise.
31521         * doc/posix-functions/stpcpy.texi: Likewise.
31522         * doc/posix-functions/stpncpy.texi: Likewise.
31523         * doc/posix-functions/strerror.texi: Likewise.
31524         * doc/posix-functions/strtod.texi: Likewise.
31525         * doc/posix-functions/symlinkat.texi: Likewise.
31526         * doc/posix-functions/unlinkat.texi: Likewise.
31527         * doc/posix-functions/utimensat.texi: Likewise.
31528         * doc/glibc-functions/bindresvport.texi: Likewise.
31529         * doc/glibc-functions/dn_expand.texi: Likewise.
31530         * doc/glibc-functions/exp10.texi: Likewise.
31531         * doc/glibc-functions/exp10f.texi: Likewise.
31532         * doc/glibc-functions/fgetxattr.texi: Likewise.
31533         * doc/glibc-functions/flistxattr.texi: Likewise.
31534         * doc/glibc-functions/fopencookie.texi: Likewise.
31535         * doc/glibc-functions/freeifaddrs.texi: Likewise.
31536         * doc/glibc-functions/fremovexattr.texi: Likewise.
31537         * doc/glibc-functions/fsetxattr.texi: Likewise.
31538         * doc/glibc-functions/getifaddrs.texi: Likewise.
31539         * doc/glibc-functions/getxattr.texi: Likewise.
31540         * doc/glibc-functions/lgetxattr.texi: Likewise.
31541         * doc/glibc-functions/listxattr.texi: Likewise.
31542         * doc/glibc-functions/llistxattr.texi: Likewise.
31543         * doc/glibc-functions/lremovexattr.texi: Likewise.
31544         * doc/glibc-functions/lsetxattr.texi: Likewise.
31545         * doc/glibc-functions/pow10.texi: Likewise.
31546         * doc/glibc-functions/pow10f.texi: Likewise.
31547         * doc/glibc-functions/rcmd_af.texi: Likewise.
31548         * doc/glibc-functions/removexattr.texi: Likewise.
31549         * doc/glibc-functions/res_init.texi: Likewise.
31550         * doc/glibc-functions/res_mkquery.texi: Likewise.
31551         * doc/glibc-functions/res_query.texi: Likewise.
31552         * doc/glibc-functions/res_querydomain.texi: Likewise.
31553         * doc/glibc-functions/res_send.texi: Likewise.
31554         * doc/glibc-functions/rresvport_af.texi: Likewise.
31555         * doc/glibc-functions/setxattr.texi: Likewise.
31556         * doc/glibc-functions/strcasestr.texi: Likewise.
31557
31558 2008-12-15  Bruno Haible  <bruno@clisp.org>
31559
31560         Fix compilation error on OSF/1 4.0.
31561         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
31562         <sys/time.h>, simply delegate to the system header.
31563         Reported by Daniel Richard G. <oss@teragram.com>.
31564
31565 2008-12-15  Bruno Haible  <bruno@clisp.org>
31566
31567         * doc/posix-functions/openat.texi: Mention the 'openat' module.
31568         * doc/posix-functions/fchmodat.texi: Likewise.
31569         * doc/posix-functions/fchownat.texi: Likewise.
31570         * doc/posix-functions/fdopendir.texi: Likewise.
31571         * doc/posix-functions/fstatat.texi: Likewise.
31572         * doc/posix-functions/mkdirat.texi: Likewise.
31573         * doc/posix-functions/unlinkat.texi: Likewise.
31574
31575 2008-12-14  Bruno Haible  <bruno@clisp.org>
31576
31577         Update doc for POSIX:2008.
31578         * doc/posix-functions/faccessat.texi: New file.
31579         * doc/posix-functions/fchmodat.texi: New file.
31580         * doc/posix-functions/fchownat.texi: New file.
31581         * doc/posix-functions/fdopendir.texi: New file.
31582         * doc/posix-functions/fstatat.texi: New file.
31583         * doc/posix-functions/futimens.texi: New file.
31584         * doc/posix-functions/linkat.texi: New file.
31585         * doc/posix-functions/mkdirat.texi: New file.
31586         * doc/posix-functions/mkfifoat.texi: New file.
31587         * doc/posix-functions/mknodat.texi: New file.
31588         * doc/posix-functions/open_wmemstream.texi: New file.
31589         * doc/posix-functions/openat.texi: New file.
31590         * doc/posix-functions/psiginfo.texi: New file.
31591         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
31592         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
31593         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
31594         * doc/posix-functions/readlinkat.texi: New file.
31595         * doc/posix-functions/renameat.texi: New file.
31596         * doc/posix-functions/strerror_l.texi: New file.
31597         * doc/posix-functions/symlinkat.texi: New file.
31598         * doc/posix-functions/unlinkat.texi: New file.
31599         * doc/posix-functions/utimensat.texi: New file.
31600         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31601
31602 2008-12-14  Bruno Haible  <bruno@clisp.org>
31603
31604         Update doc for POSIX:2008.
31605         * doc/posix-functions/alphasort.texi: Renamed from
31606         doc/glibc-functions/alphasort.texi.
31607         * doc/posix-functions/dirfd.texi: Renamed from
31608         doc/glibc-functions/dirfd.texi.
31609         * doc/posix-functions/dprintf.texi: Renamed from
31610         doc/glibc-functions/dprintf.texi.
31611         * doc/posix-functions/duplocale.texi: Renamed from
31612         doc/glibc-functions/duplocale.texi.
31613         * doc/posix-functions/fexecve.texi: Renamed from
31614         doc/glibc-functions/fexecve.texi.
31615         * doc/posix-functions/fmemopen.texi: Renamed from
31616         doc/glibc-functions/fmemopen.texi.
31617         * doc/posix-functions/freelocale.texi: Renamed from
31618         doc/glibc-functions/freelocale.texi.
31619         * doc/posix-functions/getdate_err.texi: Renamed from
31620         doc/glibc-functions/getdate_err.texi.
31621         * doc/posix-functions/isalnum_l.texi: Renamed from
31622         doc/glibc-functions/isalnum_l.texi.
31623         * doc/posix-functions/isalpha_l.texi: Renamed from
31624         doc/glibc-functions/isalpha_l.texi.
31625         * doc/posix-functions/isblank_l.texi: Renamed from
31626         doc/glibc-functions/isblank_l.texi.
31627         * doc/posix-functions/iscntrl_l.texi: Renamed from
31628         doc/glibc-functions/iscntrl_l.texi.
31629         * doc/posix-functions/isdigit_l.texi: Renamed from
31630         doc/glibc-functions/isdigit_l.texi.
31631         * doc/posix-functions/isgraph_l.texi: Renamed from
31632         doc/glibc-functions/isgraph_l.texi.
31633         * doc/posix-functions/islower_l.texi: Renamed from
31634         doc/glibc-functions/islower_l.texi.
31635         * doc/posix-functions/isprint_l.texi: Renamed from
31636         doc/glibc-functions/isprint_l.texi.
31637         * doc/posix-functions/ispunct_l.texi: Renamed from
31638         doc/glibc-functions/ispunct_l.texi.
31639         * doc/posix-functions/isspace_l.texi: Renamed from
31640         doc/glibc-functions/isspace_l.texi.
31641         * doc/posix-functions/isupper_l.texi: Renamed from
31642         doc/glibc-functions/isupper_l.texi.
31643         * doc/posix-functions/iswalnum_l.texi: Renamed from
31644         doc/glibc-functions/iswalnum_l.texi.
31645         * doc/posix-functions/iswalpha_l.texi: Renamed from
31646         doc/glibc-functions/iswalpha_l.texi.
31647         * doc/posix-functions/iswblank_l.texi: Renamed from
31648         doc/glibc-functions/iswblank_l.texi.
31649         * doc/posix-functions/iswcntrl_l.texi: Renamed from
31650         doc/glibc-functions/iswcntrl_l.texi.
31651         * doc/posix-functions/iswctype_l.texi: Renamed from
31652         doc/glibc-functions/iswctype_l.texi.
31653         * doc/posix-functions/iswdigit_l.texi: Renamed from
31654         doc/glibc-functions/iswdigit_l.texi.
31655         * doc/posix-functions/iswgraph_l.texi: Renamed from
31656         doc/glibc-functions/iswgraph_l.texi.
31657         * doc/posix-functions/iswlower_l.texi: Renamed from
31658         doc/glibc-functions/iswlower_l.texi.
31659         * doc/posix-functions/iswprint_l.texi: Renamed from
31660         doc/glibc-functions/iswprint_l.texi.
31661         * doc/posix-functions/iswpunct_l.texi: Renamed from
31662         doc/glibc-functions/iswpunct_l.texi.
31663         * doc/posix-functions/iswspace_l.texi: Renamed from
31664         doc/glibc-functions/iswspace_l.texi.
31665         * doc/posix-functions/iswupper_l.texi: Renamed from
31666         doc/glibc-functions/iswupper_l.texi.
31667         * doc/posix-functions/iswxdigit_l.texi: Renamed from
31668         doc/glibc-functions/iswxdigit_l.texi.
31669         * doc/posix-functions/isxdigit_l.texi: Renamed from
31670         doc/glibc-functions/isxdigit_l.texi.
31671         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
31672         doc/glibc-functions/mbsnrtowcs.texi.
31673         * doc/posix-functions/mkdtemp.texi: Renamed from
31674         doc/glibc-functions/mkdtemp.texi.
31675         * doc/posix-functions/newlocale.texi: Renamed from
31676         doc/glibc-functions/newlocale.texi.
31677         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
31678         doc/glibc-functions/nl_langinfo_l.texi.
31679         * doc/posix-functions/open_memstream.texi: Renamed from
31680         doc/glibc-functions/open_memstream.texi.
31681         * doc/posix-functions/opterr.texi: Renamed from
31682         doc/glibc-functions/opterr.texi.
31683         * doc/posix-functions/optind.texi: Renamed from
31684         doc/glibc-functions/optind.texi.
31685         * doc/posix-functions/optopt.texi: Renamed from
31686         doc/glibc-functions/optopt.texi.
31687         * doc/posix-functions/psignal.texi: Renamed from
31688         doc/glibc-functions/psignal.texi.
31689         * doc/posix-functions/scandir.texi: Renamed from
31690         doc/glibc-functions/scandir.texi.
31691         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
31692         doc/glibc-functions/sched_get_priority_min.texi.
31693         * doc/posix-functions/signgam.texi: Renamed from
31694         doc/glibc-functions/signgam.texi.
31695         * doc/posix-functions/stpcpy.texi: Renamed from
31696         doc/glibc-functions/stpcpy.texi.
31697         * doc/posix-functions/stpncpy.texi: Renamed from
31698         doc/glibc-functions/stpncpy.texi.
31699         * doc/posix-functions/strcasecmp_l.texi: Renamed from
31700         doc/glibc-functions/strcasecmp_l.texi.
31701         * doc/posix-functions/strcoll_l.texi: Renamed from
31702         doc/glibc-functions/strcoll_l.texi.
31703         * doc/posix-functions/strfmon_l.texi: Renamed from
31704         doc/glibc-functions/strfmon_l.texi.
31705         * doc/posix-functions/strftime_l.texi: Renamed from
31706         doc/glibc-functions/strftime_l.texi.
31707         * doc/posix-functions/strncasecmp_l.texi: Renamed from
31708         doc/glibc-functions/strncasecmp_l.texi.
31709         * doc/posix-functions/strndup.texi: Renamed from
31710         doc/glibc-functions/strndup.texi.
31711         * doc/posix-functions/strnlen.texi: Renamed from
31712         doc/glibc-functions/strnlen.texi.
31713         * doc/posix-functions/strsignal.texi: Renamed from
31714         doc/glibc-functions/strsignal.texi.
31715         * doc/posix-functions/strxfrm_l.texi: Renamed from
31716         doc/glibc-functions/strxfrm_l.texi.
31717         * doc/posix-functions/timer_gettime.texi: Renamed from
31718         doc/glibc-functions/timer_gettime.texi.
31719         * doc/posix-functions/tolower_l.texi: Renamed from
31720         doc/glibc-functions/tolower_l.texi.
31721         * doc/posix-functions/toupper_l.texi: Renamed from
31722         doc/glibc-functions/toupper_l.texi.
31723         * doc/posix-functions/towctrans_l.texi: Renamed from
31724         doc/glibc-functions/towctrans_l.texi.
31725         * doc/posix-functions/towlower_l.texi: Renamed from
31726         doc/glibc-functions/towlower_l.texi.
31727         * doc/posix-functions/towupper_l.texi: Renamed from
31728         doc/glibc-functions/towupper_l.texi.
31729         * doc/posix-functions/uselocale.texi: Renamed from
31730         doc/glibc-functions/uselocale.texi.
31731         * doc/posix-functions/vdprintf.texi: Renamed from
31732         doc/glibc-functions/vdprintf.texi.
31733         * doc/posix-functions/wcpcpy.texi:
31734         Renamed from doc/glibc-functions/wcpcpy.texi.
31735         * doc/posix-functions/wcpncpy.texi: Renamed from
31736         doc/glibc-functions/wcpncpy.texi.
31737         * doc/posix-functions/wcscasecmp.texi: Renamed from
31738         doc/glibc-functions/wcscasecmp.texi.
31739         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
31740         doc/glibc-functions/wcscasecmp_l.texi.
31741         * doc/posix-functions/wcscoll_l.texi: Renamed from
31742         doc/glibc-functions/wcscoll_l.texi.
31743         * doc/posix-functions/wcsdup.texi: Renamed from
31744         doc/glibc-functions/wcsdup.texi.
31745         * doc/posix-functions/wcsncasecmp.texi: Renamed from
31746         doc/glibc-functions/wcsncasecmp.texi.
31747         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
31748         doc/glibc-functions/wcsncasecmp_l.texi.
31749         * doc/posix-functions/wcsnlen.texi: Renamed from
31750         doc/glibc-functions/wcsnlen.texi.
31751         * doc/posix-functions/wcsnrtombs.texi: Renamed from
31752         doc/glibc-functions/wcsnrtombs.texi.
31753         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
31754         doc/glibc-functions/wcsxfrm_l.texi.
31755         * doc/posix-functions/wctrans_l.texi: Renamed from
31756         doc/glibc-functions/wctrans_l.texi.
31757         * doc/posix-functions/wctype_l.texi: Renamed from
31758         doc/glibc-functions/wctype_l.texi.
31759         * doc/gnulib.texi (Function Substitutes): Add these subsections.
31760         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
31761         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
31762         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
31763         these subsections.
31764         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
31765         Remove sections.
31766
31767 2008-12-14  Bruno Haible  <bruno@clisp.org>
31768
31769         Update doc for POSIX:2008.
31770         * doc/posix-functions/*.texi: Update URL of POSIX specification.
31771
31772 2008-12-14  Bruno Haible  <bruno@clisp.org>
31773
31774         Update doc for POSIX:2008.
31775         * doc/pastposix-functions/bcmp.texi: Renamed from
31776         doc/posix-functions/bcmp.texi.
31777         * doc/pastposix-functions/bcopy.texi: Renamed from
31778         doc/posix-functions/bcopy.texi.
31779         * doc/pastposix-functions/bsd_signal.texi: Renamed from
31780         doc/posix-functions/bsd_signal.texi.
31781         * doc/pastposix-functions/bzero.texi: Renamed from
31782         doc/posix-functions/bzero.texi.
31783         * doc/pastposix-functions/ecvt.texi: Renamed from
31784         doc/posix-functions/ecvt.texi.
31785         * doc/pastposix-functions/fcvt.texi: Renamed from
31786         doc/posix-functions/fcvt.texi.
31787         * doc/pastposix-functions/ftime.texi: Renamed from
31788         doc/posix-functions/ftime.texi.
31789         * doc/pastposix-functions/gcvt.texi: Renamed from
31790         doc/posix-functions/gcvt.texi.
31791         * doc/pastposix-functions/getcontext.texi: Renamed from
31792         doc/posix-functions/getcontext.texi.
31793         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
31794         doc/posix-functions/gethostbyaddr.texi.
31795         * doc/pastposix-functions/gethostbyname.texi: Renamed from
31796         doc/posix-functions/gethostbyname.texi.
31797         * doc/pastposix-functions/getwd.texi: Renamed from
31798         doc/posix-functions/getwd.texi.
31799         * doc/pastposix-functions/h_errno.texi: Renamed from
31800         doc/posix-functions/h_errno.texi.
31801         * doc/pastposix-functions/index.texi: Renamed from
31802         doc/posix-functions/index.texi.
31803         * doc/pastposix-functions/makecontext.texi: Renamed from
31804         doc/posix-functions/makecontext.texi.
31805         * doc/pastposix-functions/mktemp.texi: Renamed from
31806         doc/posix-functions/mktemp.texi.
31807         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
31808         doc/posix-functions/pthread_attr_getstackaddr.texi.
31809         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
31810         doc/posix-functions/pthread_attr_setstackaddr.texi.
31811         * doc/pastposix-functions/rindex.texi: Renamed from
31812         doc/posix-functions/rindex.texi.
31813         * doc/pastposix-functions/scalb.texi: Renamed from
31814         doc/posix-functions/scalb.texi.
31815         * doc/pastposix-functions/setcontext.texi: Renamed from
31816         doc/posix-functions/setcontext.texi.
31817         * doc/pastposix-functions/swapcontext.texi: Renamed from
31818         doc/posix-functions/swapcontext.texi.
31819         * doc/pastposix-functions/ualarm.texi: Renamed from
31820         doc/posix-functions/ualarm.texi.
31821         * doc/pastposix-functions/usleep.texi: Renamed from
31822         doc/posix-functions/usleep.texi.
31823         * doc/pastposix-functions/vfork.texi: Renamed from
31824         doc/posix-functions/vfork.texi.
31825         * doc/pastposix-functions/wcswcs.texi: Renamed from
31826         doc/posix-functions/wcswcs.texi.
31827         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
31828         (Function Substitutes): Update.
31829
31830 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31831
31832         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
31833         m4/strerror.m4.
31834
31835 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31836             Bruno Haible  <bruno@clisp.org>
31837
31838         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
31839
31840 2008-12-13  Bruno Haible  <bruno@clisp.org>
31841
31842         * modules/strtoull (Depends-on): Remove unistd.
31843
31844 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31845
31846         * modules/strtoull (Depends-on): Add stdlib.
31847
31848 2008-12-11  Simon Josefsson  <simon@josefsson.org>
31849
31850         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
31851
31852 2008-12-10  Jim Meyering  <meyering@redhat.com>
31853
31854         gl_ASSERT: don't say assertions are disabled when they're not
31855         * m4/assert.m4 (gl_ASSERT): Do not make configure report
31856         "checking whether to enable assertions... no", when they are in
31857         fact enabled.  This is solely a bug in the output of configure.
31858         In spite of saying "no", NDEBUG was not defined in that case.
31859         Also, as noted by Eric Blake, leave assertions enabled upon
31860         --enable-assert=INVALID.
31861
31862 2008-12-10  Bruno Haible  <bruno@clisp.org>
31863
31864         Change MODULES.html to refer to POSIX:2008 where possible.
31865         * MODULES.html.sh (POSIX2008_URL): New variable.
31866         (posix_headers): Remove sys/timeb, ucontext.
31867         (posix2001_headers): New variable.
31868         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
31869         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
31870         index, makecontext, mktemp, pthread_attr_getstackaddr,
31871         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
31872         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
31873         (posix2001_functions): New variable.
31874         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
31875         otherwise.
31876
31877 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31878
31879         add missing include to parse-duration.c
31880         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
31881         * modules/parse-duration (Depends-on): Add xalloc.
31882
31883         fix sed script reading maint.mk
31884         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
31885         (syntax-check-rules): Use it.
31886
31887 2008-12-09  Bruno Haible  <bruno@clisp.org>
31888
31889         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
31890         MacOS X 10.4/PowerPC.
31891         Reported by Simon Josefsson.
31892
31893 2008-12-08  Jim Meyering  <meyering@redhat.com>
31894
31895         work around mingw's lack of some S_IF definitions
31896         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
31897         Reported by Simon Josefsson.
31898
31899 2008-12-08  Bruno Haible  <bruno@clisp.org>
31900
31901         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
31902         applied to variables. Needed on MacOS X 10.4/PowerPC.
31903         Reported by Simon Josefsson.
31904
31905 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
31906         and Eric Blake  <ebb9@byu.net>
31907
31908         assert: honor --enable-assert
31909         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
31910         order to honor --enable-assert, rather than treating it as a
31911         synonym for --disable-assert.
31912
31913 2008-12-08  Jim Meyering  <meyering@redhat.com>
31914
31915         * lib/posixtm.c: Remove now-useless declaration of mktime.
31916
31917         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
31918
31919 2008-12-07  Bruno Haible  <bruno@clisp.org>
31920
31921         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
31922         test_once): Mark functions as static.
31923         * tests/test-tls.c (test_tls): Likewise.
31924
31925 2008-12-07  Bruno Haible  <bruno@clisp.org>
31926
31927         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
31928         iconv_register_autodetect.
31929
31930 2008-12-07  Jim Meyering  <meyering@redhat.com>
31931
31932         posixtm.c: avoid a warning
31933         * lib/posixtm.c (posixtime): Don't initialize tm0.
31934         It's no longer needed to placate gcc4's -Wuninitialized,
31935         and the attempt to placate would elicit a new warning.
31936
31937         unicodeio.c: mark unused parameters
31938         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31939         (fallback_failure_callback): Likewise.
31940
31941 2008-12-07  Bruno Haible  <bruno@clisp.org>
31942
31943         * gnulib-tool (func_create_testdir): When building the tests
31944         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
31945         Reported by Simon Josefsson.
31946
31947 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31948
31949         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
31950
31951 2008-12-06  Bruno Haible  <bruno@clisp.org>
31952
31953         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
31954         Suggested by Eric Blake.
31955
31956 2008-12-06  Bruno Haible  <bruno@clisp.org>
31957
31958         Fix a c-stack test failure on MacOS X.
31959         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
31960         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
31961         handler for SIGBUS as well.
31962         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
31963         install a signal handler for SIGBUS as well.
31964         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
31965
31966 2008-12-06  Bruno Haible  <bruno@clisp.org>
31967
31968         Advocacy documentation.
31969         * doc/gnulib-intro.texi (Benefits): New section.
31970         * doc/gnulib.texi: Update.
31971
31972 2008-12-06  Bruno Haible  <bruno@clisp.org>
31973
31974         Document the 'manywarnings' module.
31975         * doc/manywarnings.texi: New file.
31976         * doc/gnulib.texi: Include it.
31977
31978 2008-12-05  Eric Blake  <ebb9@byu.net>
31979
31980         tests: silence some gcc warnings
31981         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
31982         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
31983         type mismatches.
31984
31985 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31986             Bruno Haible  <bruno@clisp.org>
31987
31988         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
31989
31990 2008-11-29  Jim Meyering  <meyering@redhat.com>
31991
31992         unicodeio.c: mark unused parameters
31993         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
31994         (fallback_failure_callback): Likewise.
31995
31996         fts: fix a thinko
31997         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
31998         (set_stat_type): Return S_IF*-valued "type" directly.
31999         Prompted by James Youngman's spotting a related bug.
32000         Confirmed by further testing through find.
32001
32002         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
32003         * lib/fts.c (D_TYPE): Define.
32004         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
32005         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
32006         (s_ifmt_shift_bits): New function.
32007         (set_stat_type): New function.
32008         (fts_build): When not calling fts_stat, call set_stat_type
32009         to propagate dirent.d_type info to fts_read caller.
32010         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
32011         fts_statp->st_mode type information may be valid.
32012
32013 2008-11-28  Simon Josefsson  <simon@josefsson.org>
32014
32015         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
32016         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
32017         <sds@gnu.org>.
32018
32019 2008-11-20  Bruno Haible  <bruno@clisp.org>
32020
32021         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
32022         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
32023         INCLUDE_NEXT.
32024         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
32025         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
32026         * modules/math (Makefile.am): Substitute
32027         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
32028         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32029
32030 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
32031             Bruno Haible  <bruno@clisp.org>
32032
32033         * lib/stdint.in.h: Define all type macros so that their expansion is
32034         a single typedef'ed token. Fixes a compilation failure in Boost which
32035         does "using ::int8_t;".
32036
32037 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32038
32039         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
32040         gl_MANYWARN_ALL_GCC.
32041         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
32042         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
32043         * modules/manywarnings: New file.
32044         * MODULES.html.sh: Mention manywarnings module.
32045
32046 2008-11-18  Bruno Haible  <bruno@clisp.org>
32047
32048         * doc/gnulib-tool.texi (Unit tests): New section.
32049
32050 2008-11-18  Simon Josefsson  <simon@josefsson.org>
32051
32052         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
32053         paths like 'lib/po/foo.po'.
32054
32055 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32056
32057         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
32058         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
32059
32060 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32061
32062         * m4/warnings.m4: Use CPPFLAGS to really check whether the
32063         parameter works.
32064
32065 2008-11-17  Simon Josefsson  <simon@josefsson.org>
32066
32067         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
32068
32069 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32070
32071         * modules/parse-duration-tests: New file.
32072         * tests/test-parse-duration.sh: New file.
32073         * tests/test-parse-duration.c: New file.
32074
32075         New module 'parse-duration'.
32076         * lib/parse-duration.h: New file.
32077         * lib/parse-duration.c: New file.
32078         * modules/parse-duration: New file.
32079
32080 2008-11-17  Bruno Haible  <bruno@clisp.org>
32081
32082         * tests/test-select-out.sh: Comment out the first pipe test.
32083         Reported by Simon Josefsson.
32084
32085 2008-11-17  Bruno Haible  <bruno@clisp.org>
32086
32087         * modules/getaddrinfo (Depends-on): Add servent, hostent.
32088         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
32089         gl_HOSTENT.
32090
32091 2008-11-17  Bruno Haible  <bruno@clisp.org>
32092
32093         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
32094         -lnetwork and -lnet. Needed for Haiku and BeOS.
32095
32096 2008-11-16  Bruno Haible  <bruno@clisp.org>
32097
32098         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
32099
32100 2008-11-16  Bruno Haible  <bruno@clisp.org>
32101
32102         Avoid test failure on Haiku.
32103         * tests/test-fsync.c: Include <errno.h>.
32104         (main): Don't require that fsync (0) fails.
32105
32106 2008-11-15  Bruno Haible  <bruno@clisp.org>
32107
32108         New module 'hostent'.
32109         * modules/hostent: New file.
32110         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
32111
32112 2008-11-15  Bruno Haible  <bruno@clisp.org>
32113
32114         New module 'servent'.
32115         * modules/servent: New file.
32116         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
32117
32118 2008-11-15  Bruno Haible  <bruno@clisp.org>
32119
32120         Avoid generating same test program with two different rules.
32121         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
32122         test-frexp to test-frexp-nolibm.
32123         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
32124         test-frexpl to test-frexpl-nolibm.
32125
32126 2008-11-15  Bruno Haible  <bruno@clisp.org>
32127
32128         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
32129         $(FREXPL_LIBM).
32130
32131 2008-11-15  Bruno Haible  <bruno@clisp.org>
32132
32133         * lib/netdb.in.h: Activate the definitions also when the system's
32134         <netdb.h> has 'struct addrinfo'.
32135         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
32136         EAI_OVERFLOW or AI_NUMERICSERV.
32137         * doc/posix-headers/netdb.texi: Document the problem.
32138
32139 2008-11-15  Bruno Haible  <bruno@clisp.org>
32140
32141         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
32142
32143         Make the 'sched' module work on platforms where <sched.h> exists but
32144         is incomplete (such as Haiku).
32145         * lib/sched.in.h; Include the system's <sched.h> if it exists.
32146         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
32147         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
32148         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
32149         HAVE_STRUCT_SCHED_PARAM.
32150         * modules/sched (Depends-on): Add include_next.
32151         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
32152         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
32153         * doc/posix-headers/sched.texi: Document the issue.
32154
32155 2008-11-13  Jim Meyering  <meyering@redhat.com>
32156
32157         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
32158         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
32159         test would fail due to the difference in the Report bugs to ...
32160         line.  The expected address is empty, "<>", while the actual
32161         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
32162
32163 2008-11-12  Bruno Haible  <bruno@clisp.org>
32164
32165         lstat: don't compile lstat.c on systems lacking lstat
32166         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
32167         which don't have lstat; this is handled by lib/sys_stat.in.h already.
32168         Reported by Daniel P. Berrange via Jim Meyering.
32169
32170 2008-11-12  Jim Meyering  <meyering@redhat.com>
32171
32172         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
32173
32174 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32175
32176         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
32177         instead.
32178
32179 2008-11-12  Bruno Haible  <bruno@clisp.org>
32180
32181         * lib/unicodeio.c: Include unistr.h.
32182         (utf8_wctomb): Remove function.
32183         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
32184
32185 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32186
32187         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
32188         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
32189         <bruno@clisp.org>.
32190         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
32191
32192 2008-11-12  Simon Josefsson  <simon@josefsson.org>
32193
32194         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
32195         * doc/gnulib.texi: Add section for warnings.
32196
32197 2008-11-11  Bruno Haible  <bruno@clisp.org>
32198
32199         * lib/sockets.h: Add a comment.
32200
32201 2008-11-11  Karl Berry  <karl@gnu.org>
32202
32203         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
32204
32205 2008-11-11  Eric Blake  <ebb9@byu.net>
32206
32207         fdl.texi: avoid git symlinks
32208         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
32209
32210 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32211
32212         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
32213
32214 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32215
32216         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
32217         (gl_WARN_ADD): Substitute $2 if literal.
32218
32219 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32220
32221         * m4/warning.m4: Remove.
32222
32223 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
32224
32225         * m4/warnings.m4: Almost complete rewrite. :-)
32226
32227 2008-11-10  Simon Josefsson  <simon@josefsson.org>
32228
32229         * modules/warnings: New module.
32230         * m4/warnings.m4: New file.
32231         * MODULES.html.sh: Mention warnings module.
32232         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
32233         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32234
32235 2008-11-10  Eric Blake  <ebb9@byu.net>
32236
32237         fdl.texi: make a symlink to the latest version
32238         * doc/standards.texi: Revert today's earlier change.
32239         * doc/fdl-1.2.texi: Rename from old fdl.texi...
32240         * doc/fdl.texi: ...and replace this with a symlink to the newer
32241         fdl-1.3.texi.
32242
32243 2008-11-10  Bruno Haible  <bruno@clisp.org>
32244
32245         * tests/test-select-fd.c (main): Accept the result file name as fourth
32246         argument.
32247         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
32248         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
32249
32250 2008-11-10  Bruno Haible  <bruno@clisp.org>
32251
32252         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
32253         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
32254         as autoconf-substituted macros.
32255         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
32256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
32257         gl_NETDB_H_DEFAULTS. Set these variables.
32258         * modules/netdb (Makefile.am): Substitute these variables.
32259
32260 2008-11-10  Eric Blake  <ebb9@byu.net>
32261
32262         standards.texi: include correct file for FDL 1.3
32263         * doc/standards.texi (GNU Free Documentation License): Change
32264         include file to pull in FDL 1.3, not 1.2.
32265
32266         fdl.texi: revert accidental change to license
32267         * doc/fdl.texi: This is FDL 1.2, not 1.3.
32268
32269 2008-11-10  Bruno Haible  <bruno@clisp.org>
32270
32271         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
32272         cross-compiling guesses also when the native compile gives no result.
32273
32274 2008-11-10  Bruno Haible  <bruno@clisp.org>
32275
32276         * lib/spawni.c (__spawni): Force variable into the stack.
32277
32278 2008-11-10  Bruno Haible  <bruno@clisp.org>
32279
32280         Add support for Haiku.
32281         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
32282         glibc and BeOS, but also on Haiku.
32283         * lib/fpurge.c (fpurge): Likewise.
32284         * lib/freadable.c (freadable): Likewise.
32285         * lib/freadahead.c (freadahead): Likewise.
32286         * lib/freading.c (freading): Likewise.
32287         * lib/freadptr.c (freadptr): Likewise.
32288         * lib/freadseek.c (freadptrinc): Likewise.
32289         * lib/fseeko.c (rpl_fseeko): Likewise.
32290         * lib/fseterr.c (fseterr): Likewise.
32291         * lib/fwritable.c (fwritable): Likewise.
32292         * lib/fwriting.c (fwriting): Likewise.
32293         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
32294
32295 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32296
32297         * lib/config.charset: Treat Haiku like BeOS.
32298
32299 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
32300
32301         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
32302         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
32303
32304 2008-11-08  Bruno Haible  <bruno@clisp.org>
32305
32306         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
32307         AC_CACHE_CHECK.
32308
32309 2008-11-08  Bruno Haible  <bruno@clisp.org>
32310
32311         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
32312
32313 2008-11-08  Bruno Haible  <bruno@clisp.org>
32314
32315         * tests/test-select-fd.c: New file.
32316         * tests/test-select-in.sh: New file.
32317         * tests/test-select-out.sh: New file.
32318         * tests/test-select-stdin.c: New file.
32319         * modules/select-tests (Files): Add the new files.
32320         (Depends-on): Add gettimeofday.
32321         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
32322         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
32323         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
32324
32325 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
32326             Bruno Haible  <bruno@clisp.org>
32327
32328         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
32329
32330 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
32331
32332         * build-aux/pmccabe2html: Added support for C++ source files.
32333
32334 2008-11-05  Ben Pfaff  <blp@gnu.org>
32335
32336         Fix lib/close.c build on Windows.
32337         * modules/close (Files): Add lib/w32sock.h.
32338
32339 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
32340
32341         Accept Bison's NEWS format.
32342         * build-aux/announce-gen (print_news_deltas): Tweak
32343         $re_prefix.
32344
32345 2008-11-04  Bruno Haible  <bruno@clisp.org>
32346
32347         * modules/random_r (Maintainer): Add glibc.
32348
32349 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32350
32351         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
32352         by karl@freefriends.org (Karl Berry).
32353         * doc/alloca.texi: Likewise.
32354         * doc/c-ctype.texi: Likewise.
32355         * doc/c-strcase.texi: Likewise.
32356         * doc/c-strcaseeq.texi: Likewise.
32357         * doc/c-strcasestr.texi: Likewise.
32358         * doc/c-strstr.texi: Likewise.
32359         * doc/c-strtod.texi: Likewise.
32360         * doc/c-strtold.texi: Likewise.
32361         * doc/ctime.texi: Likewise.
32362         * doc/error.texi: Likewise.
32363         * doc/fdl.texi: Likewise.
32364         * doc/gcd.texi: Likewise.
32365         * doc/getdate.texi: Likewise.
32366         * doc/gnulib-intro.texi: Likewise.
32367         * doc/gnulib-tool.texi: Likewise.
32368         * doc/gnulib.texi: Likewise.
32369         * doc/inet_ntoa.texi: Likewise.
32370         * doc/maintain.texi: Likewise.
32371         * doc/make-stds.texi: Likewise.
32372         * doc/quote.texi: Likewise.
32373         * doc/regexprops-generic.texi: Likewise.
32374         * doc/standards.texi: Likewise.
32375         * doc/verify.texi: Likewise.
32376         * doc/visibility.texi: Likewise.
32377         * doc/gnulib.texi (GNU Free Documentation License): Include
32378         fdl-1.3.texi instead of fdl.texi.
32379
32380 2008-11-04  Simon Josefsson  <simon@josefsson.org>
32381
32382         * doc/fdl-1.3.texi: New file, from
32383         <http://www.gnu.org/licenses/fdl-1.3.texi>.
32384         * modules/fdl-1.3: Add.
32385         * MODULES.html.sh: Add fdl-1.3.
32386
32387 2008-11-03  Bruno Haible  <bruno@clisp.org>
32388
32389         Make determination of absolute name of header file work with AIX xlc.
32390         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
32391         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
32392         preprocessing.
32393         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32394         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
32395
32396 2008-11-03  Simon Josefsson  <simon@josefsson.org>
32397
32398         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
32399         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
32400         <ludo@gnu.org>.
32401
32402 2008-11-02  Bruno Haible  <bruno@clisp.org>
32403
32404         Mark 'strpbrk' obsolete.
32405         * modules/strpbrk (Status, Notice): New sections.
32406         * modules/strtok_r (Depends-on): Add strpbrk.
32407
32408 2008-11-02  Bruno Haible  <bruno@clisp.org>
32409
32410         Mark 'strdup' obsolete.
32411         * modules/strdup (Status, Notice): New sections.
32412         * modules/findprog (Depends-on): Add strdup.
32413         * modules/getaddrinfo (Depends-on): Likewise.
32414         * modules/localename (Depends-on): Likewise.
32415         * modules/relocatable-lib (Depends-on): Likewise.
32416         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
32417         * modules/relocatable-prog (Depends-on): Likewise.
32418         * modules/trim (Depends-on): Likewise.
32419         * modules/unictype/gen-ctype (Depends-on): Likewise.
32420         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32421
32422 2008-11-02  Bruno Haible  <bruno@clisp.org>
32423
32424         Mark 'strcspn' obsolete.
32425         * modules/strcspn (Status, Notice): New sections.
32426
32427 2008-11-02  Bruno Haible  <bruno@clisp.org>
32428
32429         Mark 'rmdir' obsolete.
32430         * modules/rmdir (Status, Notice): New sections.
32431         * modules/clean-temp (Depends-on): Add rmdir.
32432         * modules/openat (Depends-on): Likewise.
32433
32434 2008-11-02  Bruno Haible  <bruno@clisp.org>
32435
32436         Mark 'raise' obsolete.
32437         * modules/raise (Status, Notice): New sections.
32438         (Include): Specify <signal.h>.
32439         * modules/stdio (Depends-on): Add raise.
32440         * modules/write (Depends-on): Likewise.
32441
32442 2008-11-02  Bruno Haible  <bruno@clisp.org>
32443
32444         Mark 'memset' obsolete.
32445         * modules/memset (Status, Notice): New sections.
32446
32447 2008-11-02  Bruno Haible  <bruno@clisp.org>
32448
32449         Mark 'memmove' obsolete.
32450         * modules/memmove (Status, Notice): New sections.
32451         * modules/argp (Depends-on): Add memmove.
32452         * modules/argz (Depends-on): Likewise.
32453         * modules/canonicalize (Depends-on): Likewise.
32454         * modules/canonicalize-lgpl (Depends-on): Likewise.
32455         * modules/fts (Depends-on): Likewise.
32456         * modules/getcwd (Depends-on): Likewise.
32457         * modules/human (Depends-on): Likewise.
32458         * modules/regex (Depends-on): Likewise.
32459         * modules/striconveh (Depends-on): Likewise.
32460         * modules/trim (Depends-on): Likewise.
32461         * modules/unistr/u8-move (Depends-on): Likewise.
32462         * modules/unistr/u16-move (Depends-on): Likewise.
32463         * modules/unistr/u32-move (Depends-on): Likewise.
32464
32465 2008-11-02  Bruno Haible  <bruno@clisp.org>
32466
32467         Mark 'memcpy' obsolete.
32468         * modules/memcpy (Status, Notice): New sections.
32469
32470 2008-11-02  Bruno Haible  <bruno@clisp.org>
32471
32472         Mark 'memcmp' obsolete.
32473         * modules/memcmp (Status, Notice): New sections.
32474         * modules/argmatch (Depends-on): Add memchr.
32475         * modules/backupfile (Depends-on): Likewise.
32476         * modules/c-strcasestr (Depends-on): Likewise.
32477         * modules/crypto/des (Depends-on): Likewise.
32478         * modules/csharpcomp (Depends-on): Likewise.
32479         * modules/fnmatch (Depends-on): Likewise.
32480         * modules/git-merge-changelog (Depends-on): Likewise.
32481         * modules/isnand (Depends-on): Likewise.
32482         * modules/isnand-nolibm (Depends-on): Likewise.
32483         * modules/isnanf (Depends-on): Likewise.
32484         * modules/isnanf-nolibm (Depends-on): Likewise.
32485         * modules/isnanl (Depends-on): Likewise.
32486         * modules/isnanl-nolibm (Depends-on): Likewise.
32487         * modules/mbchar (Depends-on): Likewise.
32488         * modules/memcoll (Depends-on): Likewise.
32489         * modules/quotearg (Depends-on): Likewise.
32490         * modules/regex (Depends-on): Likewise.
32491         * modules/relocatable-prog (Depends-on): Likewise.
32492         * modules/same (Depends-on): Likewise.
32493         * modules/signbit (Depends-on): Likewise.
32494         * modules/strcasestr-simple (Depends-on): Likewise.
32495         * modules/unictype/gen-ctype (Depends-on): Likewise.
32496         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
32497         * modules/uniname/uniname (Depends-on): Likewise.
32498         * modules/unistr/u8-cmp (Depends-on): Likewise.
32499
32500 2008-11-02  Bruno Haible  <bruno@clisp.org>
32501
32502         Mark 'memchr' obsolete.
32503         * modules/memchr (Status, Notice): New sections.
32504         * modules/argp (Depends-on): Add memchr.
32505         * modules/base64 (Depends-on): Likewise.
32506         * modules/c-strcasestr (Depends-on): Likewise.
32507         * modules/chdir-long (Depends-on): Likewise.
32508         * modules/fnmatch (Depends-on): Likewise.
32509         * modules/getsubopt (Depends-on): Likewise.
32510         * modules/git-merge-changelog (Depends-on): Likewise.
32511         * modules/glob (Depends-on): Likewise.
32512         * modules/strcasestr-simple (Depends-on): Likewise.
32513         * modules/strnlen (Depends-on): Likewise.
32514
32515 2008-11-02  Bruno Haible  <bruno@clisp.org>
32516
32517         Mark 'atexit' obsolete.
32518         * modules/atexit (Status, Notice): New sections.
32519         * modules/chdir-long (Depends-on): Add atexit.
32520         * modules/wait-process (Depends-on): Likewise.
32521
32522 2008-11-02  Bruno Haible  <bruno@clisp.org>
32523
32524         * gnulib-tool: New option --with-obsolete.
32525         (func_usage): Document it.
32526         (func_modules_transitive_closure): Drop obsolete dependencies if
32527         incobsolete is not true.
32528         (func_import): Read and save the incobsolete variable to the cache.
32529
32530 2008-11-02  Bruno Haible  <bruno@clisp.org>
32531
32532         * modules/TEMPLATE-EXTENDED: New field 'Status'.
32533         * gnulib-tool: New option --extract-status.
32534         (func_usage): Document it.
32535         (sed_extract_prog): Recognize it.
32536         (func_get_status): New function.
32537
32538 2008-10-30  Simon Josefsson  <simon@josefsson.org>
32539
32540         * modules/sockets (License): Change from LGPL to LGPLv2+.
32541
32542 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32543
32544         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
32545
32546 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32547
32548         * MODULES.html.sh (Support for systems lacking POSIX:2001):
32549         Mention times and sys_times.
32550         * modules/sys_times, modules/sys_times-tests: New modules.
32551         * modules/times, modules/times-tests: Likewise
32552         * m4/sys_times_h.m4: New file.
32553         * lib/sys_times.in.h: Likewise
32554         * lib/times.c: Likewise.
32555         * tests/test-sys_times.c: Likewise.
32556         * tests/test-times.c: Likewise.
32557         * doc/posix-headers/sys_times.texi: Update.
32558         * doc/posix-functions/times.texi: Update.
32559
32560 2008-10-28  Jim Meyering  <meyering@redhat.com>
32561
32562         * modules/tempname (Depends-on): Add lstat.
32563
32564         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
32565
32566 2008-10-28  Simon Josefsson  <simon@josefsson.org>
32567
32568         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
32569         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
32570         using idiom used elsewhere in gnulib.
32571
32572 2008-10-27  Jim Meyering  <meyering@redhat.com>
32573
32574         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
32575
32576 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32577
32578         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
32579         TESTS_ENVIRONMENT, for shell scripts that needs to call built
32580         programs.
32581         * tests/test-argp-2.sh: Use $EXEEXT when needed.
32582
32583 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32584
32585         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
32586
32587 2008-10-27  Bruno Haible  <bruno@clisp.org>
32588
32589         * tests/test-lstat.c: Include <stdio.h>.
32590
32591 2008-10-27  Simon Josefsson  <simon@josefsson.org>
32592
32593         * modules/lstat-tests: New module.
32594         * tests/test-lstat.c: New file.
32595
32596 2008-10-26  Jim Meyering  <meyering@redhat.com>
32597
32598         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
32599
32600 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32601             Bruno Haible  <bruno@clisp.org>
32602
32603         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
32604         * modules/configmake (Include): Add a note that the include must come
32605         after all system headers.
32606         * lib/javaversion.c: Include configmake.h after all other includes.
32607
32608 2008-10-26  Bruno Haible  <bruno@clisp.org>
32609
32610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
32611         HAVE_STRUCT_RANDOM_DATA to 1.
32612         (gl_STDLIB_H): Simplify.
32613
32614 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32615
32616         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
32617         substitute HAVE_STRUCT_RANDOM_DATA.
32618         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
32619         random_data.
32620         * modules/stdlib (Makefile.am): Substitute
32621         HAVE_STRUCT_RANDOM_DATA.
32622
32623 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32624
32625         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
32626         * doc/gnulib-intro.texi (Copyright): Likewise.
32627
32628 2008-10-26  Simon Josefsson  <simon@josefsson.org>
32629
32630         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
32631         findings.
32632
32633 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
32634             Bruno Haible  <bruno@clisp.org>
32635
32636         * lib/unistd.in.h: Include <winsock2.h>.
32637         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
32638         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
32639         Provide dummy declarations.
32640         (gethostname): Override.
32641         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
32642         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
32643         gl_PREREQ_SYS_H_WINSOCK2.
32644         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
32645         * doc/posix-functions/gethostname.texi: More details.
32646
32647 2008-10-25  Bruno Haible  <bruno@clisp.org>
32648
32649         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
32650         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
32651         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
32652
32653         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
32654         here ...
32655         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
32656         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
32657         gl_UNISTD_H_DEFAULTS.
32658
32659 2008-10-25  Eric Blake  <ebb9@byu.net>
32660
32661         signbit: avoid spurious compiler failure
32662         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
32663         declarations inside function.
32664
32665 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32666             Bruno Haible  <bruno@clisp.org>
32667
32668         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
32669         * modules/random_r (Depends-on): Add stdint.
32670
32671 2008-10-24  Bruno Haible  <bruno@clisp.org>
32672
32673         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
32674         Eggert.
32675         * modules/strerror (License): Likewise.
32676
32677 2008-10-24  Jim Meyering  <meyering@redhat.com>
32678
32679         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
32680         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
32681
32682 2008-10-24  Eric Blake  <ebb9@byu.net>
32683
32684         getgroups: fix compilation when getgroups is available
32685         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
32686         but with <config.h> override of getgroups disabled.
32687
32688 2008-10-24  Simon Josefsson  <simon@josefsson.org>
32689
32690         * doc/gnulib.texi (Header files): Add note about C++ problems.
32691         Explained by Bruno Haible <bruno@clisp.org>.
32692
32693 2008-10-23  Bruno Haible  <bruno@clisp.org>
32694
32695         Define a dummy SA_NODEFER macro on Interix.
32696         * lib/signal.in.h (SA_NODEFER): Define fallback.
32697         Reported by Aleksey Cheusov <cheusov@tut.by> via
32698         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
32699
32700 2008-10-23  Bruno Haible  <bruno@clisp.org>
32701
32702         * modules/freadahead (License): Change to LGPLv2+.
32703         Suggested by Simon Josefsson.
32704
32705 2008-10-23  Jim Meyering  <meyering@redhat.com>
32706
32707         random_r: new module
32708         * modules/random_r: New file.
32709         * m4/random_r.m4: New file.
32710         * lib/random_r.c: New file, from glibc.
32711         * modules/random_r-tests: New file.
32712         * tests/test-random_r.c: New file.
32713         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
32714          Declare.
32715         (RAND_MAX): Define.
32716         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
32717         * modules/stdlib: Substitute them, too.
32718         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
32719         * doc/glibc-functions/initstate_r.texi: Mention the new module.
32720         * doc/glibc-functions/random_r.texi: Likewise.
32721         * doc/glibc-functions/setstate_r.texi: Likewise.
32722         * doc/glibc-functions/srandom_r.texi: Likewise.
32723         * config/srclist.txt: Mention it.
32724
32725 2008-10-23  David Lutterkort  <lutter@redhat.com>
32726
32727         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
32728         link requirement
32729
32730 2008-10-23  Jim Meyering  <meyering@redhat.com>
32731
32732         selinux-h: mark parameters of stub functions as intentionally unused
32733         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
32734         * lib/se-context.in.h: Likewise.
32735
32736 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32737
32738         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
32739
32740 2008-10-22  Simon Josefsson  <simon@josefsson.org>
32741
32742         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
32743
32744 2008-10-22  Eric Blake  <ebb9@byu.net>
32745
32746         glthread/thread: avoid compiler warning
32747         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
32748         Add unreachable abort to silence compiler.
32749
32750 2008-10-22  Eric Blake  <ebb9@byu.net>
32751
32752         netdb: also supply struct addrinfo for cygwin 1.5.x
32753         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
32754         older cygwin.
32755         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
32756         cygwin.
32757         * doc/posix-headers/netdb.texi (netdb.h): Document this.
32758
32759 2008-10-22  Bruno Haible  <bruno@clisp.org>
32760
32761         * users.txt: Update entry about pspp.
32762
32763 2008-10-21  Bruno Haible  <bruno@clisp.org>
32764
32765         Simplification.
32766         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
32767         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
32768
32769         Simplification.
32770         * lib/ioctl.c (ioctl): Don't undefine.
32771         * lib/socket.c (socket): Don't undefine.
32772
32773         Remove unused module indicator macros.
32774         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
32775         GNULIB_$1 as a C macro.
32776
32777         * doc/posix-functions/close.texi: Undo last change.
32778         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
32779         Windows platforms.
32780
32781 2008-10-21  Bruno Haible  <bruno@clisp.org>
32782
32783         Add gethostname() declaration to <unistd.h>.
32784         * lib/unistd.in.h (gethostname): New declaration.
32785         * lib/gethostname.c: Include <unistd.h>.
32786         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
32787         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
32788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
32789         and HAVE_GETHOSTNAME.
32790         * modules/gethostname (Depends-on): Add unistd.
32791         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32792         (Include): Specify <unistd.h>.
32793         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
32794         HAVE_GETHOSTNAME.
32795         * tests/test-gethostname.c: Include <unistd.h> first.
32796
32797 2008-10-21  Bruno Haible  <bruno@clisp.org>
32798
32799         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
32800         * modules/select-tests (Depends-on): Likewise.
32801         Reported by Simon Josefsson.
32802
32803 2008-10-21  Simon Josefsson  <simon@josefsson.org>
32804
32805         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
32806         * lib/accept.c: New file, based on winsock.c.
32807         * lib/bind.c: New file, based on winsock.c.
32808         * lib/connect.c: New file, based on winsock.c.
32809         * lib/getpeername.c: New file, based on winsock.c.
32810         * lib/getsockname.c: New file, based on winsock.c.
32811         * lib/getsockopt.c: New file, based on winsock.c.
32812         * lib/ioctl.c: New file, based on winsock.c.
32813         * lib/listen.c: New file, based on winsock.c.
32814         * lib/recv.c: New file, based on winsock.c.
32815         * lib/recvfrom.c: New file, based on winsock.c.
32816         * lib/send.c: New file, based on winsock.c.
32817         * lib/sendto.c: New file, based on winsock.c.
32818         * lib/setsockopt.c: New file, based on winsock.c.
32819         * lib/shutdown.c: New file, based on winsock.c.
32820         * lib/socket.c: New file, based on winsock.c.
32821         * lib/w32sock.h: New file, based on winsock.c.
32822         * lib/winsock.c: Remove file.
32823         * modules/accept: Likewise.
32824         * modules/bind: Likewise.
32825         * modules/connect: Likewise.
32826         * modules/getpeername: Likewise.
32827         * modules/getsockname: Likewise.
32828         * modules/getsockopt: Likewise.
32829         * modules/ioctl: Likewise.
32830         * modules/listen: Likewise.
32831         * modules/recv: Likewise.
32832         * modules/recvfrom: Likewise.
32833         * modules/send: Likewise.
32834         * modules/sendto: Likewise.
32835         * modules/setsockopt: Likewise.
32836         * modules/shutdown: Likewise.
32837         * modules/socket: Use socket.c instead of winsock.c.
32838         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
32839         * doc/posix-functions/accept.texi: Doc fix.
32840         * doc/posix-functions/bind.texi: Doc fix.
32841         * doc/posix-functions/close.texi: Doc fix.
32842         * doc/posix-functions/connect.texi: Doc fix.
32843         * doc/posix-functions/getpeername.texi: Doc fix.
32844         * doc/posix-functions/getsockname.texi: Doc fix.
32845         * doc/posix-functions/getsockopt.texi: Doc fix.
32846         * doc/posix-functions/ioctl.texi: Doc fix.
32847         * doc/posix-functions/listen.texi: Doc fix.
32848         * doc/posix-functions/recv.texi: Doc fix.
32849         * doc/posix-functions/recvfrom.texi: Doc fix.
32850         * doc/posix-functions/send.texi: Doc fix.
32851         * doc/posix-functions/sendto.texi: Doc fix.
32852         * doc/posix-functions/setsockopt.texi: Doc fix.
32853         * doc/posix-functions/shutdown.texi: Doc fix.
32854         * doc/posix-functions/socket.texi: Doc fix.
32855
32856 2008-10-20  Bruno Haible  <bruno@clisp.org>
32857
32858         Take into account the role of SIGABRT_COMPAT on Windows 2008.
32859         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
32860         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
32861         as an alias for SIGABRT.
32862         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
32863         (sigaction): Map it to SIGABRT.
32864         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
32865
32866 2008-10-20  Bruno Haible  <bruno@clisp.org>
32867
32868         * lib/fts.c: Don't include lstat.h.
32869         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
32870
32871         Move the lstat() declaration to <sys/stat.h>.
32872         * lib/lstat.h: Remove file.
32873         * lib/sys_stat.in.h: Add special invocation convention.
32874         (lstat): New declaration.
32875         * lib/lstat.c (orig_lstat): New function.
32876         (rpl_lstat): Use orig_lstat instead of lstat.
32877         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
32878         AC_C_INLINE. Set REPLACE_LSTAT.
32879         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
32880         and REPLACE_LSTAT.
32881         * modules/lstat (Files): Remove lib/lstat.h.
32882         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
32883         (Include): Specify <sys/stat.h> instead of lstat.h.
32884         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
32885         REPLACE_LSTAT.
32886         * NEWS: Mention the change.
32887
32888 2008-10-20  Bruno Haible  <bruno@clisp.org>
32889
32890         * modules/posix_spawn-tests: New file.
32891         * tests/test-posix_spawn3.c: New file.
32892
32893 2008-10-20  Bruno Haible  <bruno@clisp.org>
32894
32895         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
32896         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32897         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
32898         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
32899         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
32900
32901 2008-10-20  Bruno Haible  <bruno@clisp.org>
32902
32903         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
32904         of posix_spawn on AIX 5.3.
32905
32906 2008-10-20  Bruno Haible  <bruno@clisp.org>
32907
32908         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
32909
32910 2008-10-20  Bruno Haible  <bruno@clisp.org>
32911
32912         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
32913         of AC_LANG_PROGRAM.
32914
32915 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32916
32917         * lib/netdb.in.h: Don't define GNU specific constants until they
32918         are supported or needed.  Reported by Bruno Haible
32919         <bruno@clisp.org>.
32920
32921 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32922
32923         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
32924
32925 2008-10-20  Simon Josefsson  <simon@josefsson.org>
32926
32927         * lib/getaddrinfo.h: Remove file.
32928         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
32929         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
32930         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
32931         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
32932         * modules/netdb: Substitute GNULIB_GETADDRINFO.
32933         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
32934         * tests/test-getaddrinfo.c: Likewise.
32935         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
32936         * NEWS: Mention change.
32937
32938 2008-10-19  Bruno Haible  <bruno@clisp.org>
32939
32940         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
32941
32942 2008-10-19  Bruno Haible  <bruno@clisp.org>
32943
32944         * lib/wait-process.c: Include simply <sys/wait.h>.
32945         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
32946         WIFSTOPPED): Remove fallback definitions.
32947         * modules/wait-process (Depends-on): Add sys_wait.
32948
32949         New module 'sys_wait'.
32950         * modules/sys_wait: New file.
32951         * lib/sys_wait.in.h: New file, partially copied from
32952         lib/wait-process.c.
32953         * m4/sys_wait_h.m4: New file.
32954         * doc/posix-headers/sys_wait.texi: Mention the new module.
32955
32956 2008-10-19  Bruno Haible  <bruno@clisp.org>
32957
32958         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
32959
32960 2008-10-19  Bruno Haible  <bruno@clisp.org>
32961
32962         Assume that waitpid() fills an 'int' status, not a 'union wait'.
32963         * lib/wait-process.c (WAIT_T): Remove type.
32964         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
32965         (wait_subprocess): Update.
32966
32967 2008-10-19  Bruno Haible  <bruno@clisp.org>
32968
32969         New module 'atoll'.
32970         * modules/atoll: New file.
32971         * lib/stdlib.in.h (atoll): New declaration.
32972         * lib/atoll.c: New file, from glibc with modifications.
32973         * m4/atoll.m4: New file.
32974         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
32975         HAVE_ATOLL.
32976         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
32977         * doc/posix-functions/atoll.texi: Mention the new module.
32978
32979 2008-10-19  Bruno Haible  <bruno@clisp.org>
32980
32981         Add strtoull() declaration to <stdlib.h>.
32982         * lib/stdlib.in.h (strtoull): New declaration.
32983         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32984         Set HAVE_STRTOULL.
32985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
32986         HAVE_STRTOULL.
32987         * modules/strtoull (Depends-on): Add stdlib.
32988         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
32989         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
32990         HAVE_STRTOULL.
32991
32992 2008-10-19  Bruno Haible  <bruno@clisp.org>
32993
32994         Add strtoll() declaration to <stdlib.h>.
32995         * lib/stdlib.in.h (strtoll): New declaration.
32996         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
32997         Set HAVE_STRTOLL.
32998         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
32999         HAVE_STRTOLL.
33000         * modules/strtoll (Depends-on): Add stdlib.
33001         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33002         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
33003
33004 2008-10-19  Bruno Haible  <bruno@clisp.org>
33005
33006         * modules/bcopy (Depends-on): Add strings.
33007         (Include): Specify <strings.h>.
33008
33009 2008-10-19  Bruno Haible  <bruno@clisp.org>
33010
33011         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
33012
33013 2008-10-19  Bruno Haible  <bruno@clisp.org>
33014
33015         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
33016         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
33017         mingw.
33018
33019 2008-10-19  Bruno Haible  <bruno@clisp.org>
33020
33021         * lib/atanl.c: Don't include isnanl.h.
33022         * lib/cosl.c: Likewise.
33023         * lib/ldexpl.c: Likewise.
33024         * lib/logl.c: Likewise.
33025         * lib/sinl.c: Likewise.
33026         * lib/sqrtl.c: Likewise.
33027         * lib/tanl.c: Likewise.
33028
33029         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
33030         * lib/isnanf.h: Remove file.
33031         * lib/isnand.h: Remove file.
33032         * lib/isnanl.h: Remove file.
33033         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
33034         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
33035         macros.
33036         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
33037         HAVE_ISNANF, don't define it as a C macro.
33038         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
33039         HAVE_ISNAND, don't define it as a C macro.
33040         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
33041         HAVE_ISNANL, don't define it as a C macro.
33042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
33043         HAVE_ISNAN[FDL].
33044         * modules/isnanf (Files): Remove lib/isnanf.h.
33045         (Depends-on): Add math.
33046         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33047         (Include): Specify <math.h> instead of isnanf.h.
33048         * modules/isnand (Files): Remove lib/isnand.h.
33049         (Depends-on): Add math.
33050         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33051         (Include): Specify <math.h> instead of isnand.h.
33052         * modules/isnanl (Files): Remove lib/isnanl.h.
33053         (Depends-on): Add math.
33054         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
33055         (Include): Specify <math.h> instead of isnanl.h.
33056         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
33057         HAVE_ISNAN[FDL].
33058         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
33059         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
33060         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
33061         * NEWS: Mention the change.
33062
33063 2008-10-18  Bruno Haible  <bruno@clisp.org>
33064
33065         Add getusershell(), setusershell(), endusershell() declarations to
33066         <unistd.h>.
33067         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
33068         declarations.
33069         * lib/getusershell.c: Include unistd.h.
33070         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
33071         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33072         HAVE_GETUSERSHELL.
33073         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
33074         and HAVE_GETUSERSHELL.
33075         * modules/getusershell (Depends-on): Add unistd, extensions.
33076         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33077         (Include): Specify <unistd.h>.
33078         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
33079         HAVE_GETUSERSHELL.
33080
33081 2008-10-18  Bruno Haible  <bruno@clisp.org>
33082
33083         Add a getloadavg() declaration to <stdlib.h>.
33084         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
33085         getloadavg declaration.
33086         (getloadavg): New declaration.
33087         * lib/getloadavg.c: Include <stdlib.h> first.
33088         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
33089         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
33090         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
33091         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
33092         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33093         * modules/getloadavg (Depends-on): Add stdlib, extensions.
33094         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33095         (Include): Specify <stdlib.h>.
33096         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
33097         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
33098
33099 2008-10-18  Bruno Haible  <bruno@clisp.org>
33100
33101         * lib/dirchownmod.c: Don't include lchmod.h.
33102
33103         Move the lchmod() declaration to <sys/stat.h>.
33104         * lib/lchmod.h: Remove file.
33105         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
33106         (lchmod): New declaration, moved here from lib/lchown.h.
33107         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
33108         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
33109         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
33110         and HAVE_LCHMOD.
33111         * modules/lchmod (Files): Remove lib/lchmod.h.
33112         (Depends-on): Add sys_stat, extensions.
33113         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
33114         (Include): Specify <sys/stat.h> instead of lchmod.h.
33115         * modules/sys_stat (Depends-on): Add link-warning.
33116         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
33117         definition of GL_LINK_WARNING.
33118         * NEWS: Mention the change.
33119
33120 2008-10-18  Bruno Haible  <bruno@clisp.org>
33121
33122         * lib/fchdir.c: Don't include dirfd.h.
33123         * lib/fts.c: Likewise.
33124         * lib/getcwd.c: Likewise.
33125         * lib/glob.c: Likewise.
33126
33127         Move the dirfd() declaration to <dirent.h>.
33128         * lib/dirfd.h: Remove file.
33129         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
33130         (dirfd): New declaration.
33131         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
33132         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
33133         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
33134         HAVE_DECL_DIRFD.
33135         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
33136         HAVE_DECL_DIRFD.
33137         * modules/dirfd (Files): Remove lib/dirfd.h.
33138         (Depends-on): Add dirent, extensions.
33139         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
33140         (Include): Specify <dirent.h> instead of dirfd.h.
33141         * modules/dirent (Depends-on): Add link-warning.
33142         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
33143         definition of GL_LINK_WARNING.
33144         * NEWS: Mention the change.
33145
33146 2008-10-18  Bruno Haible  <bruno@clisp.org>
33147
33148         Move the euidaccess() declaration to <unistd.h>.
33149         * lib/euidaccess.h: Remove file.
33150         * lib/unistd.in.h (euidaccess): New declaration.
33151         * lib/euidaccess.c: Don't include euidaccess.h.
33152         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
33153         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
33154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
33155         and HAVE_EUIDACCESS.
33156         * modules/euidaccess (Files): Remove lib/euidaccess.h.
33157         (Depends-on): Add unistd.
33158         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33159         (Include): Specify <unistd.h> instead of euidaccess.h.
33160         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
33161         HAVE_EUIDACCESS.
33162         * NEWS: Mention the change.
33163
33164 2008-10-18  Bruno Haible  <bruno@clisp.org>
33165
33166         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
33167
33168         Move the getdomainname() declaration to <unistd.h>.
33169         * lib/getdomainname.h: Remove file.
33170         * lib/unistd.in.h (getdomainname): New declaration.
33171         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
33172         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
33173         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
33174         HAVE_GETDOMAINNAME.
33175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33176         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
33177         * modules/getdomainname (Files): Remove lib/getdomainname.h.
33178         (Depends-on): Add unistd, extensions.
33179         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
33180         (Includes): Specify <unistd.h> instead of getdomainname.h.
33181         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
33182         HAVE_GETDOMAINNAME.
33183         * NEWS: Mention the change.
33184
33185 2008-10-18  Bruno Haible  <bruno@clisp.org>
33186
33187         * modules/dirent: New file.
33188         * m4/dirent_h.m4: New file.
33189         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
33190         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
33191         * modules/fchdir (Files): Remove lib/dirent.in.h.
33192         (Depends-on): Add dirent.
33193         (Makefile.am): Move rules to modules/dirent.
33194         * doc/posix-headers/dirent.texi: Mention the new module.
33195
33196 2008-10-18  Bruno Haible  <bruno@clisp.org>
33197
33198         Avoid -Wunused-parameter warnings in public gnulib header files.
33199         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
33200         macro.
33201         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
33202
33203 2008-10-18  Bruno Haible  <bruno@clisp.org>
33204
33205         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
33206         * doc/glibc-functions/error.texi: Mention the module 'error'.
33207         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
33208         * doc/glibc-functions/getdomainname.texi: Mention the module
33209         'getdomainname'.
33210         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
33211         * doc/glibc-functions/getpagesize.texi: Mention the module
33212         'getpagesize'.
33213         * doc/glibc-functions/getusershell.texi: Mention the module
33214         'getusershell'.
33215         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
33216         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
33217         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
33218         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
33219         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
33220         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
33221         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
33222         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
33223         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
33224         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
33225         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
33226         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
33227         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
33228         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
33229
33230 2008-10-17  Bruno Haible  <bruno@clisp.org>
33231
33232         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
33233         HP-UX and IRIX, use -0.0L.
33234         * tests/test-ceill.c (minus_zero): Likewise.
33235         * tests/test-floorl.c (minus_zero): Likewise.
33236         * tests/test-frexpl.c (minus_zero): Likewise.
33237         * tests/test-isnan.c (minus_zerol): Likewise.
33238         * tests/test-isnanl.h (minus_zero): Likewise.
33239         * tests/test-ldexpl.c (minus_zero): Likewise.
33240         * tests/test-roundl.c (minus_zero): Likewise.
33241         * tests/test-signbit.c (minus_zerol): Likewise.
33242         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
33243         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
33244         * tests/test-truncl.c (minus_zero): Likewise.
33245         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
33246         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
33247         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
33248         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
33249
33250 2008-10-17  Bruno Haible  <bruno@clisp.org>
33251
33252         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
33253         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
33254         that it gets activated only for gcc >= 3.0.
33255         * lib/dirent.in.h: Likewise.
33256         * lib/errno.in.h: Likewise.
33257         * lib/fcntl.in.h: Likewise.
33258         * lib/float.in.h: Likewise.
33259         * lib/iconv.in.h: Likewise.
33260         * lib/inttypes.in.h: Likewise.
33261         * lib/locale.in.h: Likewise.
33262         * lib/math.in.h: Likewise.
33263         * lib/netdb.in.h: Likewise.
33264         * lib/netinet_in.in.h: Likewise.
33265         * lib/search.in.h: Likewise.
33266         * lib/signal.in.h: Likewise.
33267         * lib/spawn.in.h: Likewise.
33268         * lib/stdarg.in.h: Likewise.
33269         * lib/stdint.in.h: Likewise.
33270         * lib/stdio.in.h: Likewise.
33271         * lib/stdlib.in.h: Likewise.
33272         * lib/string.in.h: Likewise.
33273         * lib/strings.in.h: Likewise.
33274         * lib/sys_file.in.h: Likewise.
33275         * lib/sys_ioctl.in.h: Likewise.
33276         * lib/sys_select.in.h: Likewise.
33277         * lib/sys_socket.in.h: Likewise.
33278         * lib/sys_stat.in.h: Likewise.
33279         * lib/sys_time.in.h: Likewise.
33280         * lib/sysexits.in.h: Likewise.
33281         * lib/time.in.h: Likewise.
33282         * lib/unistd.in.h: Likewise.
33283         * lib/wchar.in.h: Likewise.
33284         * lib/wctype.in.h: Likewise.
33285         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
33286
33287 2008-10-17  Jim Meyering  <meyering@redhat.com>
33288
33289         ignore-value: don't depend on inline module
33290         * modules/ignore-value (Depends-on): Remove 'inline'.
33291         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
33292         Suggestion from Bruno Haible.
33293
33294 2008-10-17  Bruno Haible  <bruno@clisp.org>
33295
33296         New implementation of condition variables for Win32.
33297         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
33298         (gl_linked_waitqueue_t): New type.
33299         (gl_cond_t): Use it.
33300         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
33301         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
33302         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
33303         (glthread_cond_init_func, glthread_cond_wait_func,
33304         glthread_cond_timedwait_func, glthread_cond_signal_func,
33305         glthread_cond_broadcast_func, glthread_cond_destroy_func):
33306         Reimplemented on the basis of gl_linked_waitqueue_t.
33307         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
33308         gl_waitqueue_t.
33309         (gl_rwlock_t): Update.
33310         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
33311
33312 2008-10-17  Simon Josefsson  <simon@josefsson.org>
33313
33314         * modules/recvfrom (Depends-on): Add dependency on getpeername.
33315         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33316
33317 2008-10-17  Jim Meyering  <meyering@redhat.com>
33318
33319         ignore-value: new module
33320         * modules/ignore-value: New file.
33321         * lib/ignore-value.h: New file.
33322         * MODULES.html.sh (Compiler warning management): New section,
33323         just for this module.  More to come.
33324
33325 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
33326
33327         open-safer.c: avoid 'signed and unsigned in conditional...' warning
33328         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
33329         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
33330
33331 2008-10-16  Jim Meyering  <meyering@redhat.com>
33332
33333         openat-die.c: avoid 'no previous prototype' warning
33334         * lib/openat-die.c: Include "openat.h".
33335         Reported by Reuben Thomas <rrt@sc3d.org>.
33336
33337 2008-10-16  Simon Josefsson  <simon@josefsson.org>
33338
33339         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
33340         * lib/netdb.in.h: Fix typo.
33341         Reported by Bruno Haible  <bruno@clisp.org>
33342
33343         * lib/netdb.in.h: Include sys/socket.h for platforms without
33344         netdb.h, to get structures like hostent on MinGW.
33345         * modules/netdb (Depends-on): Add sys_socket.
33346
33347 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33348
33349         * modules/netdb, modules/netdb-tests: New file.
33350         * m4/netdb_h.m4: New file.
33351         * lib/netdb.in.h: Add, currently just an empty file pending
33352         definitions.
33353         * tests/test-netdb.c: New file.
33354         * doc/posix-headers/netdb.texi: Mention that we replace it if
33355         needed.
33356         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
33357         netdb.
33358
33359 2008-10-15  Simon Josefsson  <simon@josefsson.org>
33360
33361         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
33362         with code.
33363
33364 2008-10-13  Bruno Haible  <bruno@clisp.org>
33365
33366         * lib/glthread/cond.c (glthread_cond_wait_func,
33367         glthread_cond_timedwait_func): Add a comment.
33368
33369 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33370
33371         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
33372         * tests/test-select.c: Likewise,
33373
33374 2008-10-13  Bruno Haible  <bruno@clisp.org>
33375
33376         * lib/glthread/cond.c (glthread_cond_wait_func,
33377         glthread_cond_timedwait_func): Fix variable name.
33378         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33379
33380 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
33381
33382         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
33383         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
33384         struct sockaddr.sa_len.
33385         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
33386
33387 2008-10-13  Simon Josefsson  <simon@josefsson.org>
33388
33389         * build-aux/pmccabe2html: Add css and css_url parameters.
33390
33391 2008-10-12  Bruno Haible  <bruno@clisp.org>
33392
33393         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
33394         calling aclx_get.
33395         Reported by Rainer Tammer <tammer@tammer.net>.
33396
33397 2008-10-12  Bruno Haible  <bruno@clisp.org>
33398
33399         Use msvcrt aware primitives for creation/termination of Win32 threads.
33400         * lib/glthread/thread.c: Include <process.h>.
33401         (glthread_create_func): Use _beginthreadex instead of CreateThread.
33402         (wrapper_func): Update signature.
33403         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
33404
33405 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
33406             Bruno Haible  <bruno@clisp.org>
33407
33408         Provide a Win32 implementation of the 'cond' module.
33409         * lib/glthread/cond.h [USE_WIN32]: New implementation.
33410         * lib/glthread/cond.c (glthread_cond_init_func,
33411         glthread_cond_wait_func, glthread_cond_timedwait_func,
33412         glthread_cond_signal_func, glthread_cond_broadcast_func,
33413         glthread_cond_destroy_func) [USE_WIN32]: New functions.
33414         * modules/cond (Dependencies): Add gettimeofday.
33415
33416 2008-10-11  Bruno Haible  <bruno@clisp.org>
33417
33418         Make sleep work on older versions of mingw.
33419         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
33420         only whether it exists.
33421         * doc/posix-functions/sleep.texi: Mention the problem with older
33422         versions of mingw.
33423
33424 2008-10-11  Bruno Haible  <bruno@clisp.org>
33425
33426         New module 'shutdown'.
33427         * modules/shutdown: New file.
33428         * lib/sys_socket.in.h (shutdown): New declaration.
33429         * lib/winsock.c (shutdown): New function.
33430         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
33431         GNULIB_SHUTDOWN.
33432         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
33433         * doc/posix-functions/shutdown.texi: Document the new module.
33434
33435 2008-10-11  Jim Meyering  <meyering@redhat.com>
33436
33437         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
33438
33439 2008-10-11  Bruno Haible  <bruno@clisp.org>
33440
33441         New module 'fclose'.
33442         * modules/fclose: New file.
33443         * lib/stdio.in.h (fclose): New declaration.
33444         * lib/fclose.c: New file.
33445         * m4/fclose.m4: New file.
33446         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
33447         REPLACE_FCLOSE.
33448         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
33449         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
33450         REPLACE_FCLOSE.
33451         * modules/close (Depends-on): fclose.
33452         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
33453
33454 2008-10-11  Bruno Haible  <bruno@clisp.org>
33455
33456         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
33457         set errno and don't call _close.
33458
33459 2008-10-10  Bruno Haible  <bruno@clisp.org>
33460
33461         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
33462         ACL, not afterwards. Fixes test failure on Cygwin.
33463
33464 2008-10-09  Ben Pfaff  <blp@gnu.org>
33465
33466         * build-aux/announce-gen: Fix gnulib version related part of usage
33467         message.  Die with a useful error message if no tarballs are
33468         found.
33469
33470 2008-10-10  Jim Meyering  <meyering@redhat.com>
33471
33472         bootstrap: use git's --depth=N option only if it's supported
33473         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
33474         recognize the --depth option.  Reported by Pádraig Brady.
33475
33476 2008-10-09  Bruno Haible  <bruno@clisp.org>
33477
33478         New module 'ioctl'.
33479         * modules/ioctl: New file.
33480         * lib/sys_socket.in.h (ioctl): Remove declaration.
33481         * lib/winsock.c: Include <sys/ioctl.h>.
33482         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
33483         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
33484         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
33485         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
33486         * doc/posix-functions/ioctl.texi: Mention the new module.
33487
33488 2008-10-09  Bruno Haible  <bruno@clisp.org>
33489
33490         New module 'sys_ioctl'.
33491         * lib/sys_ioctl.in.h: New file.
33492         * m4/sys_ioctl_h.m4: New file.
33493         * modules/sys_ioctl: New file.
33494         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
33495
33496 2008-10-09  Bruno Haible  <bruno@clisp.org>
33497
33498         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
33499         * lib/winsock.c: Include <stdarg.h>.
33500         (rpl_ioctl): Change to second argument 'int' and then varargs.
33501
33502 2008-10-09  Bruno Haible  <bruno@clisp.org>
33503
33504         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
33505         when the sys_socket module is present and the system has <winsock2.h>.
33506
33507 2008-10-09  Bruno Haible  <bruno@clisp.org>
33508
33509         * doc/posix-functions/close.texi: Mention module 'close' instead of
33510         module 'sys_socket'.
33511
33512 2008-10-09  Bruno Haible  <bruno@clisp.org>
33513
33514         * doc/glibc-headers/sys_ioctl.texi: New file.
33515         * doc/gnulib.texi: Include it.
33516
33517 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33518             Bruno Haible  <bruno@clisp.org>
33519
33520         Combine the two replacements of 'close'.
33521         * lib/sys_socket.in.h (close): Define to a reminder to include
33522         <unistd.h>.
33523         (_gl_close_fd_maybe_socket): New declaration.
33524         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
33525         * lib/winsock.c (close): Remove undefinition.
33526         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
33527         needed for the gnulib module 'close'.
33528         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
33529         define to an error symbol or to a warning, if suitable.
33530         * lib/close.c: Include <sys/socket.h>.
33531         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
33532         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
33533         UNISTD_H_HAVE_WINSOCK2_H.
33534         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
33535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33536         UNISTD_H_HAVE_WINSOCK2_H.
33537         * modules/sys_socket (Files): Add m4/unistd_h.m4.
33538         (configure.ac): Set a module indicator.
33539         (Makefile.am): Substitute GNULIB_CLOSE.
33540         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
33541         * modules/poll-tests (Depends-on): Add close.
33542         * modules/select-tests (Depends-on): Likewise.
33543
33544 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33545             Bruno Haible  <bruno@clisp.org>
33546
33547         New module 'close'.
33548         * modules/close: New file.
33549         * lib/unistd.in.h (close): Move declaration out of the
33550         FCHDIR_REPLACEMENT scope.
33551         (_gl_unregister_fd): New declaration.
33552         * lib/close.c: New file.
33553         * lib/fchdir.c (rpl_close): Remove function.
33554         * m4/close.m4: New file.
33555         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33556         close.
33557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
33558         REPLACE_CLOSE.
33559         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
33560         REPLACE_CLOSE.
33561         * modules/fchdir (Depends-on): Add close.
33562
33563 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33564             Bruno Haible  <bruno@clisp.org>
33565
33566         * lib/fcntl.in.h (open): Simplify conditionals.
33567         (_gl_register_fd): New declaration.
33568         * lib/fchdir.c (rpl_open): Remove function.
33569         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
33570         also.
33571         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
33572         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
33573         open.
33574
33575 2008-10-09  Jim Meyering  <meyering@redhat.com>
33576
33577         GNUmakefile: use the more name-space-friendly "_version"
33578         * top/GNUmakefile (_dummy): Update.
33579         (_version): Rename from "version".
33580
33581 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33582             Bruno Haible  <bruno@clisp.org>
33583
33584         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
33585         rpl_close.
33586         (_gl_register_fd): New function, extracted from rpl_open.
33587         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
33588         (rpl_open, rpl_opendir): Use _gl_register_fd.
33589
33590 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
33591
33592         Fix organization of 'open' replacement.
33593         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
33594         (gl_FUNC_OPEN): Use it.
33595         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
33596
33597 2008-10-08  Bruno Haible  <bruno@clisp.org>
33598
33599         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
33600
33601 2008-10-08  Simon Josefsson  <simon@josefsson.org>
33602
33603         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
33604         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
33605         listen).
33606
33607 2008-10-08  Eric Blake  <ebb9@byu.net>
33608
33609         GNUmakefile: add 'make version' target
33610         * top/GNUmakefile (_curr-ver): Split version update rules...
33611         (version): ...into a target.
33612
33613 2008-10-07  Bruno Haible  <bruno@clisp.org>
33614
33615         Use a more portable replacement expression for -0.0L.
33616         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
33617         instead of -0.0L. Fix m4 quotation.
33618
33619         * tests/test-signbit.c: Include <float.h>.
33620         (minus_zero): New variable.
33621         (test_signbitl): Use minus_zero instead of -zero.
33622         * modules/signbit-tests (Depends-on): Add float.
33623
33624         * tests/test-ceill.c: Include <float.h>.
33625         (zero): Remove variable.
33626         (minus_zero): New variable.
33627         (main): Use minus_zero instead of -zero.
33628         * modules/ceill-tests (Depends-on): Add float.
33629
33630         * tests/test-floorl.c: Include <float.h>.
33631         (zero): Remove variable.
33632         (minus_zero): New variable.
33633         (main): Use minus_zero instead of -zero.
33634         * modules/floorl-tests (Depends-on): Add float.
33635
33636         * tests/test-roundl.c: Include <float.h>.
33637         (zero): Remove variable.
33638         (minus_zero): New variable.
33639         (main): Use minus_zero instead of -zero.
33640         * modules/roundl-tests (Depends-on): Add float.
33641
33642         * tests/test-truncl.c: Include <float.h>.
33643         (zero): Remove variable.
33644         (minus_zero): New variable.
33645         (main): Use minus_zero instead of -zero.
33646         * modules/truncl-tests (Depends-on): Add float.
33647
33648         * tests/test-frexpl.c (zero): Remove variable.
33649         (minus_zero): New variable.
33650         (main): Use minus_zero instead of -zero.
33651         * modules/frexpl-tests (Depends-on): Add float.
33652
33653         * tests/test-isnan.c (zerol): Remove variable.
33654         (minus_zerol): New variable.
33655         (test_long_double): Use minus_zerol instead of -zerol.
33656         * modules/isnan-tests (Depends-on): Add float.
33657
33658         * tests/test-isnanl.h (zero): Remove variable.
33659         (minus_zero): New variable.
33660         (main): Use minus_zero instead of -zero.
33661         * modules/isnanl-nolibm-tests (Depends-on): Add float.
33662         * modules/isnanl-tests (Depends-on): Add float.
33663
33664         * tests/test-ldexpl.c (zero): Remove variable.
33665         (minus_zero): New variable.
33666         (main): Use minus_zero instead of -zero.
33667         * modules/ldexpl-tests (Depends-on): Add float.
33668
33669         * tests/test-snprintf-posix.h (zerol): Remove variable.
33670         (minus_zerol): New variable.
33671         (test_function): Use minus_zerol instead of -zerol.
33672         * modules/snprintf-posix-tests (Depends-on): Add float.
33673         * modules/vsnprintf-posix-tests (Depends-on): Add float.
33674
33675         * tests/test-sprintf-posix.h (zerol): Remove variable.
33676         (minus_zerol): New variable.
33677         (test_function): Use minus_zerol instead of -zerol.
33678         * modules/sprintf-posix-tests (Depends-on): Add float.
33679         * modules/vsprintf-posix-tests (Depends-on): Add float.
33680
33681         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
33682         (minus_zerol): New variable.
33683         (test_function): Use minus_zerol instead of -zerol.
33684         * modules/vasnprintf-posix-tests (Depends-on): Add float.
33685
33686         * tests/test-vasprintf-posix.c (zerol): Remove variable.
33687         (minus_zerol): New variable.
33688         (test_function): Use minus_zerol instead of -zerol.
33689         * modules/vasprintf-posix-tests (Depends-on): Add float.
33690
33691 2008-10-07  Simon Josefsson  <simon@josefsson.org>
33692
33693         * MODULES.html.sh (Support for building documentation): Mention
33694         pmccabe2html.  Sort entries.
33695
33696         Add pmccabe2html module, from gnupdf.
33697         * build-aux/pmccabe.css: New file.
33698         * build-aux/pmccabe2html: New file.
33699         * m4/pmccabe2html.m4: New file.
33700         * modules/pmccabe2html: New file.
33701
33702 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
33703
33704         flock: new module
33705         * MODULES.html.sh: Add to list of modules.
33706         * lib/flock.c: flock implementation for Windows and Unix systems
33707         which have fcntl.
33708         * doc/glibc-functions/flock.texi: Update documentation.
33709         * lib/sys_file.in.h: <sys/file.h> header file.
33710         * m4/flock.m4: M4 macros.
33711         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
33712         * modules/flock: flock module.
33713         * modules/flock-tests: flock tests module.
33714         * modules/sys_file: sys/file.h module.
33715         * tests/test-flock.c: test suite for flock.
33716
33717 2008-10-06  Jim Meyering  <meyering@redhat.com>
33718
33719         bootstrap: check for LT_INIT more portably still ;-)
33720         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
33721         Spotted by Bruno Haible.
33722
33723 2008-10-06  Eric Blake  <ebb9@byu.net>
33724
33725         test-signbit: avoid tripping Irix cc bug on -0.0L
33726         * tests/test-signbit.c (minus_zerol): Delete, and replace with
33727         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
33728         entire testsuite consistent and avoids an Irix 6.2 bug.
33729
33730 2008-10-05  Bruno Haible  <bruno@clisp.org>
33731             Jim Meyering  <jim@meyering.net>
33732
33733         Add an option for ignoring EPIPE during close_stdout.
33734         * lib/closeout.h: Include <stdbool.h>.
33735         (close_stdout_set_ignore_EPIPE): New declaration.
33736         * lib/closeout.c: Include <stdbool.h>.
33737         (ignore_EPIPE): New variable.
33738         (close_stdout_set_ignore_EPIPE): New function.
33739         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
33740         * lib/close-stream.c (close_stream): Mention the possible EPIPE
33741         failure.
33742         * modules/closeout (Depends-on): Add stdbool.
33743
33744 2008-10-05  Bruno Haible  <bruno@clisp.org>
33745
33746         * modules/accept: New file.
33747         * modules/bind: New file.
33748         * modules/connect: New file.
33749         * modules/getpeername: New file.
33750         * modules/getsockname: New file.
33751         * modules/getsockopt: New file.
33752         * modules/listen: New file.
33753         * modules/recv: New file.
33754         * modules/recvfrom: New file.
33755         * modules/send: New file.
33756         * modules/sendto: New file.
33757         * modules/setsockopt: New file.
33758         * modules/socket: New file.
33759         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
33760         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33761         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
33762         the particular module is requested. Add a link warning when the
33763         particular module is not requested.
33764         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
33765         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
33766         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
33767         the particular module is requested.
33768         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
33769         gl_SYS_SOCKET_H_DEFAULTS): New macros.
33770         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
33771         * modules/sys_socket (Depends-on): Add link-warning.
33772         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
33773         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
33774         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
33775         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
33776         GL_LINK_WARNING.
33777         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
33778         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
33779         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
33780         * doc/posix-functions/getpeername.texi: Mention the new module
33781         'getpeername'.
33782         * doc/posix-functions/getsockname.texi: Mention the new module
33783         'getsockname'.
33784         * doc/posix-functions/getsockopt.texi: Mention the new module
33785         'getsockopt'.
33786         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
33787         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
33788         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
33789         * doc/posix-functions/send.texi: Mention the new module 'send'.
33790         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
33791         * doc/posix-functions/setsockopt.texi: Mention the new module
33792         'setsockopt'.
33793         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
33794         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
33795         listen, connect, accept.
33796         * modules/select-tests (Depends-on): Likewise.
33797
33798 2008-10-05  Bruno Haible  <bruno@clisp.org>
33799
33800         * lib/winsock.c (strerror): Remove unused #undef.
33801         (rpl_close): Remove unused local variable.
33802
33803         * modules/sys_socket (Depends-on); Add errno.
33804
33805 2008-10-05  Bruno Haible  <bruno@clisp.org>
33806
33807         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
33808         (select): Add a link warning when the 'select' module is not used.
33809         * modules/sys_select (Depends-on): Add link-warning.
33810         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
33811         Suggested by Paolo Bonzini.
33812
33813 2008-10-05  Jim Meyering  <meyering@redhat.com>
33814
33815         bootstrap: check for LT_INIT more portably
33816         * build-aux/bootstrap: Avoid using grep -E, since it's not
33817         portable enough.  Suggestion from Bruno Haible.
33818
33819 2008-10-05  Bruno Haible  <bruno@clisp.org>
33820
33821         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
33822         as being fixed by gnulib.
33823
33824 2008-10-05  Bruno Haible  <bruno@clisp.org>
33825
33826         * modules/select-tests: New file, mostly copied from
33827         modules/sys_select-tests.
33828         * tests/test-select.c: New file, mostly copied from
33829         tests/test-sys_select.c.
33830         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
33831         * modules/sys_select-tests (Depends-on): Remove all dependencies.
33832         (Makefile.am): Remove test_sys_select_LDADD.
33833
33834         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
33835         to an undefined symbol, for an error message.
33836         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
33837         (gl_SYS_SELECT_H_DEFAULTS): New macro.
33838         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
33839         winsock-select.c here.
33840         * modules/sys_select (Files): Remove lib/winsock-select.c.
33841         (Depends-on): Remove alloca.
33842         (Makefile.am): Substitute GNULIB_SELECT.
33843         * modules/select: New file.
33844         * doc/posix-functions/select.texi: Update.
33845
33846 2008-10-05  Bruno Haible  <bruno@clisp.org>
33847
33848         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
33849         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
33850         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
33851         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
33852         getdtablesize.
33853         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
33854         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
33855
33856 2008-10-05  Bruno Haible  <bruno@clisp.org>
33857
33858         * modules/getdtablesize-tests: New file.
33859         * tests/test-getdtablesize.c: New file.
33860
33861         New module 'getdtablesize'.
33862         * lib/unistd.in.h (getdtablesize): New declaration.
33863         * lib/getdtablesize.c: New file.
33864         * m4/getdtablesize.m4: New file.
33865         * modules/getdtablesize: New file.
33866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33867         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
33868         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
33869         HAVE_GETDTABLESIZE.
33870         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
33871
33872 2008-10-05  Bruno Haible  <bruno@clisp.org>
33873
33874         * modules/sched (Makefile.am): Fix typo.
33875         Reported by Simon Josefsson.
33876
33877 2008-10-05  Jim Meyering  <meyering@redhat.com>
33878
33879         bootstrap: check for LT_INIT, too
33880         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
33881         are deprecated.  Suggestion from Ralf Wildenhues.
33882
33883 2008-10-05  Bruno Haible  <bruno@clisp.org>
33884
33885         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
33886         overriding them by ours.
33887         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
33888
33889 2008-10-05  Jim Meyering  <meyering@redhat.com>
33890
33891         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
33892         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
33893         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
33894
33895 2008-10-04  Bruno Haible  <bruno@clisp.org>
33896
33897         * modules/dup2 (License): Change to LGPLv2+.
33898         * modules/sleep (License): Likewise.
33899         * modules/perror (License): Likewise.
33900         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
33901         Blake.
33902         * modules/signal (License): Likewise.
33903         * modules/sigprocmask (License): Likewise.
33904         * modules/raise (License): Change to LGPLv2+, with approval by Jim
33905         Meyering.
33906
33907 2008-10-04  Bruno Haible  <bruno@clisp.org>
33908
33909         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
33910         Reported by Rainer Tammer <tammer@tammer.net>.
33911
33912 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
33913             Bruno Haible  <bruno@clisp.org>
33914
33915         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
33916         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
33917         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
33918
33919 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
33920
33921         filevercmp: new module
33922         * lib/filevercmp.h: New function filevercmp comparing version strings.
33923         * lib/filevercmp.c: Implementation of filevercmp function.
33924         * modules/filevercmp: Module metadata.
33925         * tests/test-filevercmp.c: Unit test for new module.
33926         * modules/filevercmp-tests: Unit test metadata.
33927         * MODULES.html.sh: Add filevercmp module.
33928
33929 2008-10-03  Bruno Haible  <bruno@clisp.org>
33930
33931         * lib/c-ctype.h: Add comment.
33932         Reported by Jim Meyering.
33933
33934 2008-10-02  Bruno Haible  <bruno@clisp.org>
33935
33936         * modules/posix_spawn-internal (Depends-on): Add 'open'.
33937
33938 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33939
33940         * build-aux/bootstrap: Allow renaming bootstrap, and change the
33941         name of bootstrap.conf accordingly.
33942
33943 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33944
33945         * build-aux/bootstrap: Install git-merge-changelog configuration
33946         items into .gitconfig if needed.
33947
33948 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
33949
33950         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
33951         git repository, and initialize/update it accordingly.
33952
33953 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
33954
33955         * modules/fsync-tests: New file.
33956         * tests/test-fsync.c: New file.
33957
33958         New module 'fsync'.
33959         * lib/fsync.c: New file.
33960         * m4/fsync.m4: New file.
33961         * modules/fsync: New file.
33962         * lib/unistd.in.h (fsync): New declaration.
33963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
33964         GNULIB_FSYNC and HAVE_FSYNC.
33965         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
33966         * MODULES.html.sh (posix_functions): Add fsync.
33967         * doc/posix-functions/fsync.texi: Mention the new module.
33968
33969 2008-10-02  Jim Meyering  <meyering@redhat.com>
33970
33971         fts.c: sync with similar code from coreutils' remove.c
33972         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
33973         Guard also with "#if defined __linux__", since for now at least,
33974         this code is Linux-kernel-specific.
33975
33976 2008-10-02  Jim Meyering  <meyering@redhat.com>
33977
33978         fts: bug fixes
33979         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
33980         Include <sys/vfs.h>, not <sys/statfs.h>.
33981
33982         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
33983         Include <sys/vfs.h>, not <sys/statfs.h>.
33984
33985 2008-10-01  Bruno Haible  <bruno@clisp.org>
33986
33987         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
33988         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
33989         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
33990         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
33991         * doc/posix-functions/posix_spawnp.texi: Likewise.
33992         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
33993         whether posix_spawn actually works.
33994         * m4/pipe.m4 (gl_PIPE): Likewise.
33995         * modules/execute (Files): Add m4/posix_spawn.m4.
33996         * modules/pipe (Files): Add m4/posix_spawn.m4.
33997         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
33998
33999 2008-10-01  Jim Meyering  <meyering@redhat.com>
34000
34001         remove trailing spaces
34002         * NEWS: Likewise.
34003         * lib/poll.c (poll): Likewise.
34004         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
34005         * lib/winsock.c (rpl_close): Likewise.
34006         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
34007         * modules/yield: Likewise.
34008         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
34009         * tests/test-sys_select.c (connect_to_socket): Likewise.
34010
34011         fts.c: adjust a new interface to be more generally useful
34012         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
34013         (fts_build): Adjust caller.
34014
34015 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34016
34017         * modules/cond-tests: New file.
34018         * tests/test-cond.c: New file.
34019
34020 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34021             Bruno Haible  <bruno@clisp.org>
34022
34023         * modules/cond (Dependencies): Add errno, time.
34024         * lib/glthread/cond.h: Include <time.h>.
34025         (gl_cond_define, gl_cond_define_initialized): Use the same definition
34026         across platforms.
34027
34028 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34029             Bruno Haible  <bruno@clisp.org>
34030
34031         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
34032
34033 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34034             Bruno Haible  <bruno@clisp.org>
34035
34036         * modules/tls-tests (Depends-on): Add thread, yield.
34037         (configure.ac): Remove all checks.
34038         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
34039         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34040         gl_thread_self): Remove definitions. Include glthread/thread.h and
34041         glthread/yield.h instead.
34042         (test_tls): Pass an additional NULL argument to gl_thread_join.
34043
34044 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34045             Bruno Haible  <bruno@clisp.org>
34046
34047         * modules/lock-tests (Depends-on): Add thread, yield.
34048         (configure.ac): Remove all checks.
34049         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
34050         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
34051         gl_thread_self): Remove definitions. Include glthread/thread.h and
34052         glthread/yield.h instead.
34053         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
34054         additional NULL argument to gl_thread_join.
34055
34056 2008-09-30  Bruno Haible  <bruno@clisp.org>
34057
34058         Fix the Win32 implementation of the 'thread' module.
34059         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
34060         pointer type.
34061         (gl_thread_self): Invoke gl_thread_self_func.
34062         (gl_thread_self_func): New declaration.
34063         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
34064         (do_init_self_key, init_self_key): New functions.
34065         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
34066         Remove some fields.
34067         (running_threads, running_lock): Remove variables.
34068         (get_current_thread_handle): New function.
34069         (gl_thread_self_func, wrapper_func, glthread_create_func,
34070         glthread_join_func, gl_thread_exit_func): Largely rewritten and
34071         simplified.
34072
34073 2008-09-30  Bruno Haible  <bruno@clisp.org>
34074
34075         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
34076         files.
34077
34078 2008-09-30  Jim Meyering  <meyering@redhat.com>
34079
34080         fts.m4: correct the test for statfs.f_type
34081         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
34082         when checking for statfs.f_type.
34083
34084 2008-09-15  Simon Josefsson  <simon@josefsson.org>
34085
34086         tests: avoid some compiler warnings
34087         * tests/test-memchr.c (main): Pass NULL indirectly.
34088         * tests/test-getdate.c (main): Remove unused variable 'ret'.
34089
34090 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
34091
34092         getdate.y: disallow countable dayshifts like "4 yesterday ago"
34093         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
34094         exactly specified dayshifts.
34095         (dayshift): New rule.
34096         (rel): Add dayshift.
34097         (relative_time_table) [tomorrow, yesterday, today, now]:
34098         Use tDAY_SHIFT in place of tDAY_UNIT.
34099         * tests/test-getdate.c: Add tests for now-disallowed countable
34100         dayshifts, e.g., "4 yesterday ago".
34101
34102 2008-09-29  Bruno Haible  <bruno@clisp.org>
34103
34104         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
34105         * tests/test-posix_spawn1.in.sh: Renamed from
34106         tests/test-posix_spawn.in.sh.
34107         * tests/test-posix_spawn2.c: New file.
34108         * tests/test-posix_spawn2.in.sh: New file.
34109         * modules/posix_spawnp-tests (Files): Update.
34110         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
34111
34112 2008-09-29  Bruno Haible  <bruno@clisp.org>
34113
34114         Propagate effects of putenv/setenv/unsetenv to child processes.
34115         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
34116         * lib/pipe.c (create_pipe): Likewise.
34117
34118 2008-09-29  Bruno Haible  <bruno@clisp.org>
34119
34120         Enable use of shell scripts as executables in mingw.
34121         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
34122         run the program as a shell script.
34123         * lib/pipe.c (create_pipe): Likewise.
34124         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
34125         resulting array.
34126
34127 2008-09-29  Eric Blake  <ebb9@byu.net>
34128
34129         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
34130
34131 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
34132
34133         * doc/posix-functions/accept.texi: Update mingw problems.
34134         * doc/posix-functions/bind.texi: Update mingw problems.
34135         * doc/posix-functions/close.texi: Update mingw problems.
34136         * doc/posix-functions/connect.texi: Update mingw problems.
34137         * doc/posix-functions/getpeername.texi: Update mingw problems.
34138         * doc/posix-functions/getsockname.texi: Update mingw problems.
34139         * doc/posix-functions/getsockopt.texi: Update mingw problems.
34140         * doc/posix-functions/ioctl.texi: Update mingw problems.
34141         * doc/posix-functions/listen.texi: Update mingw problems.
34142         * doc/posix-functions/recv.texi: Update mingw problems.
34143         * doc/posix-functions/recvfrom.texi: Update mingw problems.
34144         * doc/posix-functions/select.texi: Update mingw problems.
34145         * doc/posix-functions/send.texi: Update mingw problems.
34146         * doc/posix-functions/sendto.texi: Update mingw problems.
34147         * doc/posix-functions/setsockopt.texi: Update mingw problems.
34148         * doc/posix-functions/socket.texi: Update mingw problems.
34149
34150 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
34151             Bruno Haible  <bruno@clisp.org>
34152
34153         * lib/sys_select.in.h: Include sys/time.h.
34154         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
34155         * modules/sys_select: Depend on sys_time.
34156         * tests/test-sys_select.c: Test that sys/select.h defines struct
34157         timeval fully.
34158
34159 2008-09-29  Bruno Haible  <bruno@clisp.org>
34160
34161         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
34162         * lib/sys_select.in.h: Likewise.
34163
34164 2008-09-29  Bruno Haible  <bruno@clisp.org>
34165
34166         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
34167
34168 2008-09-29  Bruno Haible  <bruno@clisp.org>
34169
34170         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
34171         Set LIBSOCKET instead of augmenting LIBS.
34172         * modules/sockets (Link): New section.
34173         * modules/sockets-tests (test_sockets_LDADD): New variable.
34174         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
34175         * modules/poll-tests (test_poll_LDADD): New variable.
34176         * NEWS: Document the change.
34177
34178 2008-09-29  Bruno Haible  <bruno@clisp.org>
34179
34180         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
34181         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
34182         ARPA_INET_H directly.
34183         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34184
34185 2008-09-28  Bruno Haible  <bruno@clisp.org>
34186
34187         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
34188         from gl_HEADER_SYS_SOCKET.
34189         (gl_HEADER_SYS_SOCKET): Invoke it.
34190         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34191
34192 2008-09-28  Bruno Haible  <bruno@clisp.org>
34193
34194         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
34195         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
34196         Needed on OSF/1 4.0.
34197
34198 2008-09-28  Bruno Haible  <bruno@clisp.org>
34199
34200         Override open more carefully.
34201         * lib/open.c (orig_open): New function.
34202         (rpl_open): Use orig_open instead of open.
34203         * lib/fcntl.in.h: Add special invocation convention.
34204         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
34205         (gl_FUNC_OPEN): Invoke it.
34206
34207         Override freopen more carefully.
34208         * lib/freopen.c (orig_freopen): New function.
34209         (rpl_freopen): Use orig_freopen instead of freopen.
34210         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
34211         (gl_FUNC_FREOPEN): Invoke it.
34212
34213         Override fopen more carefully.
34214         * lib/fopen.c (orig_fopen): New function.
34215         (rpl_fopen): Use orig_fopen instead of fopen.
34216         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
34217         (gl_FUNC_FOPEN): Invoke it.
34218         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
34219
34220 2008-09-28  Bruno Haible  <bruno@clisp.org>
34221
34222         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
34223         SIGPIPE.
34224
34225 2008-09-28  Bruno Haible  <bruno@clisp.org>
34226
34227         * tests/test-sigaction.c (handler, main): Disable the check whether
34228         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
34229         glibc systems with LinuxThreads.
34230
34231 2008-09-28  Bruno Haible  <bruno@clisp.org>
34232
34233         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
34234
34235         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
34236         with AIX xlc.
34237         * lib/fcntl.in.h (open): Likewise.
34238         Reported by Rainer Tammer <tammer@tammer.net>.
34239
34240 2008-09-28  Bruno Haible  <bruno@clisp.org>
34241
34242         * modules/posix_spawnp-tests: New file.
34243         * tests/test-posix_spawn.c: New file.
34244         * tests/test-posix_spawn.in.sh: New file.
34245
34246         New module 'posix_spawnp'.
34247         * modules/posix_spawnp: New file.
34248         * lib/spawnp.c: New file, from GNU libc with modifications.
34249         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
34250
34251         New module 'posix_spawn'.
34252         * modules/posix_spawn: New file.
34253         * lib/spawn.c: New file, from GNU libc with modifications.
34254         * doc/posix-functions/posix_spawn.texi: Mention the new module.
34255
34256         New module 'posix_spawnattr_destroy'.
34257         * modules/posix_spawnattr_destroy: New file.
34258         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
34259         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
34260         module.
34261
34262         New module 'posix_spawnattr_setsigmask'.
34263         * modules/posix_spawnattr_setsigmask: New file.
34264         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
34265         modifications.
34266         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
34267         new module.
34268
34269         New module 'posix_spawnattr_getsigmask'.
34270         * modules/posix_spawnattr_getsigmask: New file.
34271         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
34272         modifications.
34273         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
34274         new module.
34275
34276         New module 'posix_spawnattr_setsigdefault'.
34277         * modules/posix_spawnattr_setsigdefault: New file.
34278         * lib/spawnattr_setdefault.c: New file, from GNU libc with
34279         modifications.
34280         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
34281         new module.
34282
34283         New module 'posix_spawnattr_getsigdefault'.
34284         * modules/posix_spawnattr_getsigdefault: New file.
34285         * lib/spawnattr_getdefault.c: New file, from GNU libc with
34286         modifications.
34287         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
34288         new module.
34289
34290         New module 'posix_spawnattr_setschedpolicy'.
34291         * modules/posix_spawnattr_setschedpolicy: New file.
34292         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
34293         modifications.
34294         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
34295         new module.
34296
34297         New module 'posix_spawnattr_getschedpolicy'.
34298         * modules/posix_spawnattr_getschedpolicy: New file.
34299         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
34300         modifications.
34301         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
34302         new module.
34303
34304         New module 'posix_spawnattr_setschedparam'.
34305         * modules/posix_spawnattr_setschedparam: New file.
34306         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
34307         modifications.
34308         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
34309         new module.
34310
34311         New module 'posix_spawnattr_getschedparam'.
34312         * modules/posix_spawnattr_getschedparam: New file.
34313         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
34314         modifications.
34315         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
34316         new module.
34317
34318         New module 'posix_spawnattr_setpgroup'.
34319         * modules/posix_spawnattr_setpgroup: New file.
34320         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
34321         modifications.
34322         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
34323         module.
34324
34325         New module 'posix_spawnattr_getpgroup'.
34326         * modules/posix_spawnattr_getpgroup: New file.
34327         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
34328         modifications.
34329         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
34330         module.
34331
34332         New module 'posix_spawnattr_setflags'.
34333         * modules/posix_spawnattr_setflags: New file.
34334         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
34335         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
34336         module.
34337
34338         New module 'posix_spawnattr_getflags'.
34339         * modules/posix_spawnattr_getflags: New file.
34340         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
34341         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
34342         module.
34343
34344         New module 'posix_spawnattr_init'.
34345         * modules/posix_spawnattr_init: New file.
34346         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
34347         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
34348         module.
34349
34350         New module 'posix_spawn_file_actions_destroy'.
34351         * modules/posix_spawn_file_actions_destroy: New file.
34352         * lib/spawn_faction_destroy.c: New file, from GNU libc with
34353         modifications.
34354         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
34355         the new module.
34356
34357         New module 'posix_spawn_file_actions_addopen'.
34358         * modules/posix_spawn_file_actions_addopen: New file.
34359         * lib/spawn_faction_addopen.c: New file, from GNU libc with
34360         modifications.
34361         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
34362         the new module.
34363
34364         New module 'posix_spawn_file_actions_adddup2'.
34365         * modules/posix_spawn_file_actions_adddup2: New file.
34366         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
34367         modifications.
34368         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
34369         the new module.
34370
34371         New module 'posix_spawn_file_actions_addclose'.
34372         * modules/posix_spawn_file_actions_addclose: New file.
34373         * lib/spawn_faction_addclose.c: New file, from GNU libc with
34374         modifications.
34375         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
34376         the new module.
34377
34378         New module 'posix_spawn_file_actions_init'.
34379         * modules/posix_spawn_file_actions_init: New file.
34380         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
34381         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
34382         new module.
34383
34384         New module 'posix_spawn-internal'.
34385         * modules/posix_spawn-internal: New file.
34386         * lib/spawn_int.h: New file, from GNU libc with modifications.
34387         * lib/spawni.c: New file, from GNU libc with modifications.
34388         * m4/posix_spawn.m4: New file.
34389
34390         New module 'spawn'.
34391         * modules/spawn: New file.
34392         * lib/spawn.in.h: New file, from GNU libc with modifications.
34393         * m4/spawn_h.m4: New file.
34394         * doc/posix-headers/spawn.texi: Mention the new module.
34395
34396 2008-09-28  Bruno Haible  <bruno@clisp.org>
34397
34398         * modules/sched-tests: New file.
34399         * tests/test-sched.c: New file.
34400
34401         New module 'sched'.
34402         * modules/sched: New file.
34403         * lib/sched.in.h: New file.
34404         * m4/sched_h.m4: New file.
34405         * doc/posix-headers/sched.texi: Mention the new module.
34406
34407 2008-09-27  Eric Blake  <ebb9@byu.net>
34408
34409         Fix previous patch, and tweak references to $0.
34410         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
34411         (func_version, func_gnulib_dir): Don't call this program
34412         gnulib-tool.
34413         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
34414         with using $0 in function.
34415         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
34416         (func_fatal_error): Reuse the name the user invoked us with.
34417
34418 2008-09-27  Bruno Haible  <bruno@clisp.org>
34419
34420         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
34421         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
34422         (gl_ICONV_H): Not here.
34423         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34424         instead of assigning ICONV_H directly.
34425
34426         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
34427         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
34428         WCHAR_H directly.
34429
34430 2008-09-27  Bruno Haible  <bruno@clisp.org>
34431
34432         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
34433         * modules/arpa_inet (Depends-on): Add link-warning.
34434         (Makefile.am): Insert the definition of GL_LINK-WARNING.
34435         * modules/unistd (Makefile.am): Likewise.
34436
34437 2008-09-26  Bruno Haible  <bruno@clisp.org>
34438
34439         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
34440         variables.
34441         (func_version): Essentially copied from gnulib-tool.
34442         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
34443         func_readlink): Copied from gnulib-tool.
34444
34445 2008-09-26  Bruno Haible  <bruno@clisp.org>
34446
34447         * gnulib-tool (func_version): Change directory to $gnulib_dir before
34448         invoking git-version-gen.
34449
34450 2008-09-26  Bruno Haible  <bruno@clisp.org>
34451
34452         * posix-modules: Update to directory names changed on 2008-01-19.
34453         Remove commas in output before splitting into words. No more need to
34454         avoid 'ftruncate' since 2007-02-19.
34455
34456 2008-09-26  Bruno Haible  <bruno@clisp.org>
34457
34458         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
34459
34460 2008-09-26  Bruno Haible  <bruno@clisp.org>
34461
34462         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
34463         * modules/fwriteerror (Depends-on): Add errno.
34464
34465 2008-09-26  Bruno Haible  <bruno@clisp.org>
34466
34467         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
34468         * tests/test-vc-list-files-cvs.sh: Likewise.
34469
34470 2008-09-26  Bruno Haible  <bruno@clisp.org>
34471
34472         * doc/posix-headers/sys_resource.texi: Reorder items.
34473
34474 2008-09-26  Jim Meyering  <meyering@redhat.com>
34475
34476         fts: tweak inode comparison function
34477         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
34478         inode numbers, as documented.
34479
34480         fts: sort dirent entries on inode number before traversing
34481         This avoids a quadratic, seek-related performance penalty when
34482         operating on a directory containing many entries (measurable at 10k;
34483         3.5 hours at 2 million entries with a cold cache) on certain types
34484         of file systems, including ext3 and ext4, but not tmpfs.
34485         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
34486         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
34487         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
34488         (fs_handles_readdir_ordered_dirents_efficiently): New function.
34489         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
34490         (fts_build): Set the stat.st_ino member from D_INO.
34491         If it is likely to be useful, sort dirent entries on inode number.
34492
34493         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
34494         and the struct statfs.f_type member.
34495         * modules/fts (Depends-on): Add d-ino.
34496
34497 2008-09-26  Bruno Haible  <bruno@clisp.org>
34498
34499         * modules/sigpipe-die (Depends-on): Add sigpipe.
34500
34501         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
34502         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
34503         and GNULIB_STDIO_H_SIGPIPE are set.
34504         * lib/stdio-write.c: New file.
34505         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
34506         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34507         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34508         REPLACE_STDIO_WRITE_FUNCS.
34509         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
34510         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34511         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34512         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34513         * modules/stdio (Files): Add lib/stdio-write.c.
34514         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
34515         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
34516         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
34517         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
34518         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
34519         REPLACE_FPRINTF_POSIX.
34520         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
34521         REPLACE_PRINTF_POSIX.
34522         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
34523         REPLACE_VFPRINTF_POSIX.
34524         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
34525         REPLACE_VPRINTF_POSIX.
34526         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
34527         SIGPIPE issue.
34528         * doc/posix-functions/fputc.texi: Likewise.
34529         * doc/posix-functions/fputs.texi: Likewise.
34530         * doc/posix-functions/fwrite.texi: Likewise.
34531         * doc/posix-functions/printf.texi: Likewise.
34532         * doc/posix-functions/putc.texi: Likewise.
34533         * doc/posix-functions/putchar.texi: Likewise.
34534         * doc/posix-functions/puts.texi: Likewise.
34535         * doc/posix-functions/vfprintf.texi: Likewise.
34536         * doc/posix-functions/vprintf.texi: Likewise.
34537
34538         * modules/safe-write (Depends-on): Add write.
34539
34540         * modules/sigpipe-tests: New file.
34541         * tests/test-sigpipe.c: New file.
34542         * tests/test-sigpipe.sh: New file.
34543
34544         * modules/write: New file.
34545         * lib/unistd.in.h: Include <sys/types.h>.
34546         (write): New declaration.
34547         * lib/write.c: New file.
34548         * m4/write.m4: New file.
34549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34550         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
34551         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
34552         GNULIB_WRITE, REPLACE_WRITE.
34553         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
34554         and the SIGPIPE issue.
34555
34556         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
34557         (raise): New declaration.
34558         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
34559         (ext_signal): New function.
34560         (rpl_raise): New function.
34561         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34562         GNULIB_SIGNAL_H_SIGPIPE.
34563         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
34564         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
34565
34566         * modules/sigpipe: New file.
34567         * m4/sigpipe.m4: New file.
34568
34569 2008-09-25  Derek Price  <derek@ximbiot.com>
34570             Bruno Haible  <bruno@clisp.org>
34571
34572         * gnulib-tool (func_import): Report all license incompatibilities, not
34573         just the first one.
34574
34575 2008-09-25  Bruno Haible  <bruno@clisp.org>
34576
34577         * gnulib-tool (func_import): When computing the edits, consider not
34578         only the Makefile.ams that exist but also those that will be generated.
34579
34580 2008-09-25  Simon Josefsson  <simon@josefsson.org>
34581
34582         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
34583         fixes gnulib-tool --test warning about duplicate dependency.
34584
34585 2008-09-25  Bruno Haible  <bruno@clisp.org>
34586
34587         * gnulib-tool: Don't ask the user to perform edits in the generated
34588         Makefile.ams.
34589         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
34590         apply to the Makefile.am being generated.
34591         (func_emit_tests_Makefile_am): Execute edits that apply to the
34592         Makefile.am being generated.
34593         (func_import): Setup list of Makefile.am edits before emitting the
34594         Makefile.ams, not at the end.
34595         (func_create_testdir): Update.
34596         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34597
34598 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34599
34600         * gnulib-tool (func_import): Store the --tests-base option in the
34601         comment in gnulib-cache.m4.
34602
34603 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
34604
34605         * NEWS: Document increased portability that sys_select now provides.
34606
34607         * lib/sys_select.in.h: Install select wrapper.
34608         * lib/sys_socket.in.h: Use more descriptive name when there is no
34609         select wrapper.
34610         * lib/winsock-select.c: New.
34611         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
34612         Require gl_HEADER_SYS_SOCKET.
34613         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
34614         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
34615         * tests/test-sys_select.c: Add functional tests.
34616
34617 2008-09-24  Eric Blake  <ebb9@byu.net>
34618
34619         open, fopen: close fd leak in last patch
34620         * lib/open.c (rpl_open): Close fd before returning error.
34621         * lib/fopen.c (rpl_fopen): Close fd before returning error.
34622         * doc/posix-functions/open.texi (open): Document that Irix also
34623         has the bug.
34624         * doc/posix-functions/fopen.texi (fopen): Likewise.
34625         Reported by Paolo Bonzini.
34626
34627 2008-09-24  Bruno Haible  <bruno@clisp.org>
34628
34629         Ensure that a filename ending in a slash cannot be used to access a
34630         non-directory.
34631         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
34632         to check whether it's really a directory.
34633         * lib/fopen.c: Include fcntl.h, unistd.h.
34634         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
34635         and fdopen().
34636         * modules/fopen (Depends-on): Add unistd.
34637         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
34638         * tests/test-fopen.c (main): Likewise.
34639         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
34640         * doc/posix-functions/fopen.texi: Likewise.
34641         Reported by Eric Blake.
34642
34643 2008-09-23  Eric Blake  <ebb9@byu.net>
34644
34645         c-stack: avoid compiler optimizations when provoking overflow
34646         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
34647         recursion harder to optimize, to ensure a stack overflow occurs.
34648         * tests/test-c-stack.c (recurse): Likewise.
34649         Borrowed from libsigsegv.
34650
34651         c-stack: work around Irix sigaltstack bug
34652         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
34653         whether sigaltstack uses wrong end of stack_t (copied in part from
34654         libsigsegv).
34655         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
34656         Irix bug, without requiring an over-allocation.
34657         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
34658         bug.
34659
34660         fopen: document mingw bug on directories
34661         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
34662         not allowing a stream visiting a directory, even though reading
34663         from such a stream is not portable.
34664
34665 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34666
34667         * lib/poll.c: Rewrite.
34668         * modules/poll: Depend on alloca.
34669
34670 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34671
34672         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
34673         instead define prototypes for a full set of wrappers.  Ensure
34674         that Cygwin does not use the compatibility code, which is only
34675         for MinGW.
34676         * lib/winsock.c: New.
34677         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
34678         * modules/sys_socket: Add lib/winsock.c.
34679
34680         * modules/poll-tests: Add errno and perror.
34681         * tests/test-poll.c: Use ioctl, not ioctlsocket.
34682
34683 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
34684
34685         * tests/test-poll.c: Downgrade minimum needed Winsock version.
34686
34687 2008-09-23  Bruno Haible  <bruno@clisp.org>
34688
34689         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
34690         * doc/glibc-functions/*: Likewise.
34691
34692 2008-09-23  Simon Josefsson  <simon@josefsson.org>
34693
34694         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
34695         success.
34696
34697 2008-09-22  Eric Blake  <ebb9@byu.net>
34698             Bruno Haible  <bruno@clisp.org>
34699
34700         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
34701         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
34702         supply %A but mishandle pseudo-NaN.
34703         Reported by Simon Josefsson.
34704
34705 2008-09-21  Bruno Haible  <bruno@clisp.org>
34706
34707         * tests/test-lock.c (main): Tweak skip message.
34708         * tests/test-tls.c (main): Likewise.
34709
34710 2008-09-21  Bruno Haible  <bruno@clisp.org>
34711
34712         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
34713         whether 'struct sigaction' has sa_sigaction here...
34714         (gl_PREREQ_SIG_HANDLER_H): ... not here.
34715         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
34716
34717 2008-09-21  Bruno Haible  <bruno@clisp.org>
34718
34719         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
34720         section.
34721         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
34722         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
34723         the new section.
34724         (Support for obsolete systems lacking POSIX:2001): New section.
34725         (String handling <string.h>): Move strdup to the new section.
34726         Suggested by Simon Josefsson and Paolo Bonzini.
34727
34728 2008-09-21  Bruno Haible  <bruno@clisp.org>
34729
34730         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
34731         exponents in %e and %g results on 'long double'. Needed for mingw's
34732         improved *printf functions.
34733         * tests/test-vasprintf-posix.c (test_function): Likewise.
34734         * tests/test-snprintf-posix.h (test_function): Likewise.
34735         * tests/test-sprintf-posix.h (test_function): Likewise.
34736         Reported by Eric Blake.
34737
34738 2008-09-21  Bruno Haible  <bruno@clisp.org>
34739
34740         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
34741         * tests/test-sprintf-posix.h (test_function): Likewise.
34742
34743 2008-09-21  Bruno Haible  <bruno@clisp.org>
34744
34745         * modules/getpass (Depends-on): Add strdup-posix.
34746
34747         New module 'strdup-posix'.
34748         * modules/strdup-posix: New file.
34749         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
34750         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
34751         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34752         REPLACE_STRDUP.
34753         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
34754         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
34755         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34756         strdup-posix.
34757
34758         * modules/strdup (Depends-on): Remove malloc-posix.
34759
34760 2008-09-20  Bruno Haible  <bruno@clisp.org>
34761
34762         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
34763         Wildenhues.
34764
34765 2008-09-20  Bruno Haible  <bruno@clisp.org>
34766
34767         Ensure that wint_t gets defined on IRIX 5.3.
34768         * lib/wchar.in.h (wint_t): Define if not defined by the system.
34769         * lib/wctype.in.h (wint_t): Likewise.
34770         (__wctype_wint_t): Remove type.
34771         (isw*): Use wint_t instead of __wctype_wint_t.
34772         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
34773         * modules/wchar (Files): Add m4/wint_t.m4.
34774         (Makefile.am): Substitute HAVE_WINT_T.
34775         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
34776         * tests/test-wctype.c: Check that wint_t is defined.
34777         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
34778         * doc/posix-headers/wctype.texi: Likewise.
34779         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34780
34781 2008-09-18  Bruno Haible  <bruno@clisp.org>
34782
34783         * gnulib-tool (func_exit): Update comment.
34784
34785 2008-09-18  Simon Josefsson  <simon@josefsson.org>
34786
34787         * modules/getaddrinfo (Depends-on): Remove strdup, this module
34788         assumes strdup exists and does not depend on strdup to return
34789         ENOMEM on out of memory conditions.
34790
34791 2008-09-18  Bruno Haible  <bruno@clisp.org>
34792
34793         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
34794         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
34795         digits for the exponent.
34796
34797 2008-09-18  Jim Meyering  <meyering@redhat.com>
34798             Bruno Haible  <bruno@clisp.org>
34799
34800         * lib/vasnprintf.c (decimal_point_char): Define also if
34801         NEED_PRINTF_INFINITE_LONG_DOUBLE.
34802
34803 2008-09-16  Bruno Haible  <bruno@clisp.org>
34804         and Eric Blake  <ebb9@byu.net>
34805
34806         vasnprintf: support Irix 5.3
34807         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
34808         that mishandle long double infinity.
34809         Reported by Tom G. Christensen.
34810
34811 2008-09-16  Bruno Haible  <bruno@clisp.org>
34812
34813         * doc/glibc-functions/scandir.texi: Mention the function is missing on
34814         Solaris 9.
34815         * doc/glibc-functions/alphasort.texi: Likewise.
34816         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
34817
34818 2008-09-16  Jim Meyering  <meyering@redhat.com>
34819
34820         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
34821         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
34822         a umask modification leak out of a subshell.  Otherwise, the
34823         opensolaris /bin/sh would be accepted and thus cause unwarranted
34824         failures in the coreutils test suite.
34825
34826 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
34827
34828         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
34829         to succeed.
34830
34831 2008-09-16  Jim Meyering  <meyering@redhat.com>
34832
34833         avoid spurious test failure when library is built without ACL support
34834         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
34835         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
34836         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
34837         * tests/test-copy-acl.sh: Likewise.
34838
34839 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34840
34841         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
34842         based on character occurrence counts.
34843
34844 2008-09-15  Eric Blake  <ebb9@byu.net>
34845
34846         tests: avoid some compiler warnings
34847         * tests/test-memchr.c (main): Pass NULL indirectly.
34848         * tests/test-closein.c (main): Avoid unused variable.
34849
34850 2008-09-15  Bruno Haible  <bruno@clisp.org>
34851
34852         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
34853         are missing on OpenBSD 4.0 individually.
34854         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34855
34856 2008-09-15  Bruno Haible  <bruno@clisp.org>
34857
34858         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
34859         * doc/posix-functions/strerror.texi: Mention also Cygwin.
34860         * doc/posix-functions/perror.texi: Likewise.
34861         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
34862         is missing.
34863         Reported by Eric Blake.
34864
34865         * lib/errno.in.h: Use replacement values >= 2000.
34866         Reported by Eric Blake.
34867
34868 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34869
34870         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
34871         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
34872         limit.
34873         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
34874         compareseq was aborted.
34875
34876 2008-09-14  Bruno Haible  <bruno@clisp.org>
34877
34878         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
34879         yvec_edit_count.
34880         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
34881         (fstrcmp_bounded): Simplify result computation accordingly.
34882
34883 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34884
34885         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
34886         (fstrcmp): Define in terms of fstrcmp_bounded.
34887         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
34888         lower_bound argument.
34889         Return quickly if the result is certainly < lower_bound.
34890         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
34891
34892 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34893
34894         * lib/diffseq.h (EARLY_ABORT): New macro.
34895         (compareseq): Change return type to bool. Return true when EARLY_ABORT
34896         evaluates to true.
34897
34898 2008-09-14  Bruno Haible  <bruno@clisp.org>
34899
34900         * modules/perror-tests: New file.
34901         * tests/test-perror.sh: New file.
34902         * tests/test-perror.c: New file.
34903
34904         New module 'perror'.
34905         * lib/stdio.in.h (perror): New declaration.
34906         * lib/perror.c: New file.
34907         * m4/perror.m4: New file.
34908         * modules/perror: New file.
34909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
34910         * doc/posix-functions/perror.texi: Mention the perror module.
34911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
34912         REPLACE_PERROR.
34913         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
34914         REPLACE_PERROR.
34915
34916 2008-09-14  Bruno Haible  <bruno@clisp.org>
34917
34918         * modules/stdio (Makefile.am): Reorder to match the order in
34919         lib/stdio.in.h.
34920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34921
34922 2008-09-13  Bruno Haible  <bruno@clisp.org>
34923
34924         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
34925
34926 2008-09-13  Bruno Haible  <bruno@clisp.org>
34927
34928         Extend strerror to cover the added errno values.
34929         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
34930         (rpl_strerror): Provide error messages for the added errno values and
34931         for the WSA* values.
34932         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
34933         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
34934         strerror.
34935         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
34936         * modules/strerror (Depends-on): Add errno.
34937         * doc/posix-functions/strerror.texi: Document the change.
34938         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
34939         and EOVERFLOW.
34940
34941 2008-09-13  Bruno Haible  <bruno@clisp.org>
34942
34943         * modules/EOVERFLOW: Remove file.
34944         * m4/eoverflow.m4: Remove file.
34945         * modules/EOVERFLOW-tests: Remove file.
34946         * tests/test-EOVERFLOW.c: Remove file.
34947         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
34948         * modules/ftell (Depends-on): Likewise.
34949         * modules/getdelim (Depends-on): Likewise.
34950         * modules/getugroups (Depends-on): Likewise.
34951         * modules/poll (Depends-on): Likewise.
34952         * modules/snprintf (Depends-on): Likewise.
34953         * modules/sprintf-posix (Depends-on): Likewise.
34954         * modules/vasnprintf (Depends-on): Likewise.
34955         * modules/vasprintf (Depends-on): Likewise.
34956         * modules/vfprintf-posix (Depends-on): Likewise.
34957         * modules/vsnprintf (Depends-on): Likewise.
34958         * modules/vsprintf-posix (Depends-on): Likewise.
34959         * modules/xvasprintf (Depends-on): Likewise.
34960         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
34961         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
34962         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
34963         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
34964         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
34965         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
34966         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
34967         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
34968         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
34969         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
34970         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
34971         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
34972         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
34973         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
34974         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
34975         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
34976         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
34977         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
34978         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
34979         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
34980         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
34981         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
34982         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
34983         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
34984         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
34985         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
34986         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
34987         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
34988         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
34989         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
34990         * MODULES.html.sh: Remove EOVERFLOW.
34991         * NEWS: Mention the change.
34992
34993 2008-09-13  Bruno Haible  <bruno@clisp.org>
34994
34995         * modules/errno-tests: New file.
34996         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
34997
34998         * lib/errno.in.h: New file.
34999         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
35000         * modules/errno: New file.
35001         * doc/posix-headers/errno.texi: Update documentation.
35002         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
35003
35004 2008-09-13  Bruno Haible  <bruno@clisp.org>
35005
35006         * tests/test-poll.c: Use #if for native Windows, rather than testing
35007         __MSVCRT__.
35008
35009 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35010             Bruno Haible  <bruno@clisp.org>
35011
35012         * lib/glob.c: Don't include <pwd.h> on native Windows.
35013         (WINDOWS32): New macro.
35014         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
35015
35016 2008-09-13  Bruno Haible  <bruno@clisp.org>
35017
35018         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
35019         (ETIMEDOUT): Remove macro.
35020         (glthread_cond_timedwait_multithreaded): New declaration.
35021         (glthread_cond_timedwait): Use it.
35022         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
35023         (glthread_cond_timedwait_multithreaded): New function.
35024
35025 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35026
35027         * modules/poll-tests: Do not check for io.h.
35028         * tests/test-poll.c: Check for __MSVCRT__ instead.
35029
35030 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35031
35032         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
35033         * modules/poll-tests: Add inet_pton, stdbool, sockets.
35034         * tests/test-poll.c: Use them.  Use _pipe on Windows.
35035
35036 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
35037
35038         * modules/poll-tests: New.
35039         * tests/test-poll.c: New.
35040
35041 2008-09-12  Eric Blake  <ebb9@byu.net>
35042
35043         frexp: test for NetBSD failure on -0.0
35044         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
35045         not all, bugs from NetBSD 3.0 have been fixed.
35046         * doc/posix-functions/frexp.texi (frexp): Document bug.
35047         Reported by Thomas Klausner.
35048
35049         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
35050         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
35051         literal -0.0.
35052         Reported by Jonathan C. Patschke <jp@centtech.com>.
35053
35054 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35055
35056         * lib/glthread/cond.h: Use dummy implementation also if
35057         USE_WIN32_THREADS.
35058
35059 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35060
35061         * modules/fnmatch-posix (License): Change to LGPLv2+.
35062         * modules/fnmatch-gnu (License): Likewise.
35063
35064 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35065
35066         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
35067
35068 2008-09-11  Jim Meyering  <meyering@redhat.com>
35069
35070         * users.txt: Add gtk-vnc.
35071
35072 2008-09-08  Simon Josefsson  <simon@josefsson.org>
35073
35074         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
35075         rotate amounts.
35076
35077         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
35078         required for 16-bit and 8-bit rotates.
35079         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
35080         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
35081         UINT8_MAX instead of hard-coded constants.
35082         Suggested by Paul Eggert.
35083
35084 2008-09-07  Bruno Haible  <bruno@clisp.org>
35085
35086         * tests/test-striconveh.c (main): Check behaviour when converting from
35087         UTF-7.
35088
35089         Make striconveh work better with stateful encodings.
35090         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
35091         that iconv does not increment the inptr when returning -1/EINVAL.
35092
35093 2008-09-07  Bruno Haible  <bruno@clisp.org>
35094
35095         * build-aux/config.rpath: Update according to libtool-2.2.6.
35096         * build-aux/config.libpath: Likewise.
35097
35098 2008-09-06  Bruno Haible  <bruno@clisp.org>
35099
35100         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
35101         * lib/freadptr.c (freadptr): Likewise.
35102         * lib/freadseek.c (freadptrinc): Likewise.
35103         Reported by Simon Josefsson.
35104
35105 2008-09-06  Bruno Haible  <bruno@clisp.org>
35106
35107         * modules/freadptr (License): Change to LGPLv2+.
35108         * modules/freadseek (License): Likewise.
35109         Suggested by Eric Blake.
35110
35111         * modules/memchr2 (License): Change to LGPLv2+.
35112         Approved by Eric Blake.
35113
35114 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35115             Bruno Haible  <bruno@clisp.org>
35116
35117         Make gnulib-tool work with native 'sed' on AIX.
35118         * gnulib-tool (sed_noop): New variable.
35119         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
35120         func_add_or_update, func_create_testdir): Use it to initialize sed
35121         script variables.
35122         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
35123
35124 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
35125             Bruno Haible  <bruno@clisp.org>
35126
35127         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
35128         also works after #include directives.
35129
35130 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
35131
35132         getdate.y: reject an out-of-range timezone value
35133         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
35134         the range [-24...+24].  When specified with only one or two digits,
35135         * tests/test-getdate.c: Tests for the fix.
35136         * doc/getdate.texi: Document this change.
35137
35138 2008-09-03  Bruno Haible  <bruno@clisp.org>
35139
35140         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
35141
35142 2008-09-02  Simon Josefsson  <simon@josefsson.org>
35143
35144         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
35145         <bruce.korb@gmail.com> with ideas from Ben Pfaff
35146         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
35147         Blake <ebb9@byu.net>.
35148
35149         * tests/test-bitrotate.c: Add more test vectors.
35150
35151 2008-09-02  Eric Blake  <ebb9@byu.net>
35152
35153         vasnprintf-posix: handle large precision via %.*d
35154         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
35155         when handling it ourselves.
35156         * tests/test-vasnprintf-posix.c (test_function): Add test.
35157         * tests/test-snprintf-posix.h (test_function): Likewise.
35158         * tests/test-sprintf-posix.h (test_function): Likewise.
35159         * tests/test-vasprintf-posix.c (test_function): Likewise.
35160         Reported by Alain Guibert.
35161
35162 2008-09-01  Eric Blake  <ebb9@byu.net>
35163
35164         c-stack: make configure-time check more robust
35165         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
35166         successful sigaction call.
35167         Reported by Tom G. Christensen.
35168
35169 2008-09-01  Bruno Haible  <bruno@clisp.org>
35170
35171         New module 'findprog-lgpl'.
35172         * modules/findprog-lgpl: New file.
35173         * lib/findprog-lgpl.c: New file.
35174         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
35175         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
35176         to decide whether to use strdup or xstrdup, concatenated_filename or
35177         xconcatenated_filename.
35178
35179 2008-09-01  Bruno Haible  <bruno@clisp.org>
35180
35181         Split module 'concat-filename' into 'concat-filename' (LGPL) and
35182         'xconcat-filename' (GPL).
35183         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
35184         (License): Change to LGPLv2+.
35185         * modules/xconcat-filename: New file.
35186         * lib/concat-filename.h (concatenated_filename): Change specification.
35187         (xconcatenated_filename): New declaration.
35188         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
35189         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
35190         memory situations.
35191         * lib/xconcat-filename.c: New file.
35192         * NEWS: Mention the change.
35193         * lib/findprog.c: Include concat-filename.h, not filename.h.
35194         (find_in_path): Use xconcatenated_filename instead of
35195         concatenated_filename.
35196         * lib/javacomp.c: Include concat-filename.h, not filename.h.
35197         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
35198         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
35199         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
35200         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
35201         instead of concatenated_filename.
35202         * lib/javaexec.c: Include concat-filename.h, not filename.h.
35203         (execute_java_class): Use xconcatenated_filename instead of
35204         concatenated_filename.
35205         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
35206         * modules/javacomp (Depends-on): Likewise.
35207         * modules/javaexec (Depends-on): Likewise.
35208
35209 2008-09-01  Bruno Haible  <bruno@clisp.org>
35210
35211         Split module 'filename' into 'filename' and 'concat-filename'.
35212         * modules/filename: Keep only lib/filename.h.
35213         (License): Change to LGPLv2+.
35214         * modules/concat-filename: New file, extracted from modules/filename.
35215         * lib/filename.h (concatenated_filename): Remove declaration.
35216         * lib/concat-filename.h: New file, extracted from lib/filename.h.
35217         * lib/concat-filename.c: Include concat-filename.h.
35218         * NEWS: Mention the change.
35219
35220 2008-09-01  Simon Josefsson  <simon@josefsson.org>
35221
35222         * lib/bitrotate.h (rotl8, rotr8): Add.
35223
35224         * modules/bitrotate (configure.ac): Need
35225         AC_REQUIRE([AC_C_INLINE]).
35226         (Description): Mention stdint.h.  Reported by Bruno Haible
35227         <bruno@clisp.org>.
35228
35229         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
35230         Paolo Bonzini <bonzini@gnu.org>.
35231
35232 2008-08-31  Bruno Haible  <bruno@clisp.org>
35233
35234         Assume Solaris specific bi-arch conventions on Solaris systems.
35235         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
35236         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
35237         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
35238         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
35239         like acl_libdirstem.
35240         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
35241         acl_libdirstem.
35242         * NEWS: Mention the change.
35243         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
35244
35245 2008-08-31  Jim Meyering  <meyering@redhat.com>
35246
35247         * lib/strftime.h: Add comments describing the two added arguments.
35248
35249         remove duplicate #include directives
35250         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
35251         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
35252
35253 2008-08-31  Bruno Haible  <bruno@clisp.org>
35254
35255         New module 'sigpipe-die'.
35256         * modules/sigpipe-die: New file.
35257         * lib/sigpipe-die.h: New file.
35258         * lib/sigpipe-die.c: New file.
35259         * MODULES.html.sh (Signal handling): Add sigpipe-die.
35260
35261 2008-08-31  Bruno Haible  <bruno@clisp.org>
35262
35263         Don't override previously installed signal handlers.
35264         * lib/fatal-signal.c (saved_sigactions): New variable.
35265         (uninstall_handlers): Reset the signal to the saved handler, not
35266         to SIG_DFL (except when ignored).
35267         (install_handlers): Save the previous handlers.
35268
35269 2008-08-30  Bruno Haible  <bruno@clisp.org>
35270
35271         * gnulib-tool (func_reset_sigpipe): New function.
35272         (func_get_automake_snippet, func_modules_transitive_closure,
35273         func_import): Invoke it before a join command that reads from stdin,
35274         to avoid "echo: write error: Broken pipe" error messages on stderr.
35275         Reported by Sam Steingold <sds@gnu.org>.
35276
35277 2008-08-30  Bruno Haible  <bruno@clisp.org>
35278
35279         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
35280         Code copied from m4/open.m4.
35281         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
35282         access and the filename ends in a slash. Code copied from lib/open.c.
35283         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
35284         * tests/test-fopen.c (main): Check against bug with trailing slash.
35285
35286 2008-08-29  Bruno Haible  <bruno@clisp.org>
35287
35288         Avoid some "gcc -pedantic" warnings.
35289         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
35290         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
35291         * lib/dirent.in.h: Likewise.
35292         * lib/fcntl.in.h: Likewise.
35293         * lib/float.in.h: Likewise.
35294         * lib/iconv.in.h: Likewise.
35295         * lib/inttypes.in.h: Likewise.
35296         * lib/locale.in.h: Likewise.
35297         * lib/math.in.h: Likewise.
35298         * lib/netinet_in.in.h: Likewise.
35299         * lib/search.in.h: Likewise.
35300         * lib/signal.in.h: Likewise.
35301         * lib/stdarg.in.h: Likewise.
35302         * lib/stdint.in.h: Likewise.
35303         * lib/stdio.in.h: Likewise.
35304         * lib/stdlib.in.h: Likewise.
35305         * lib/string.in.h: Likewise.
35306         * lib/strings.in.h: Likewise.
35307         * lib/sys_select.in.h: Likewise.
35308         * lib/sys_socket.in.h: Likewise.
35309         * lib/sys_stat.in.h: Likewise.
35310         * lib/sys_time.in.h: Likewise.
35311         * lib/sysexits.in.h: Likewise.
35312         * lib/time.in.h: Likewise.
35313         * lib/unistd.in.h: Likewise.
35314         * lib/wchar.in.h: Likewise.
35315         * lib/wctype.in.h: Likewise.
35316         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
35317         * modules/fchdir (Makefile.am): Likewise.
35318         * modules/fcntl (Makefile.am): Likewise.
35319         * modules/float (Makefile.am): Likewise.
35320         * modules/iconv_open (Makefile.am): Likewise.
35321         * modules/inttypes (Makefile.am): Likewise.
35322         * modules/locale (Makefile.am): Likewise.
35323         * modules/math (Makefile.am): Likewise.
35324         * modules/netinet_in (Makefile.am): Likewise.
35325         * modules/search (Makefile.am): Likewise.
35326         * modules/signal (Makefile.am): Likewise.
35327         * modules/stdarg (Makefile.am): Likewise.
35328         * modules/stdint (Makefile.am): Likewise.
35329         * modules/stdio (Makefile.am): Likewise.
35330         * modules/stdlib (Makefile.am): Likewise.
35331         * modules/string (Makefile.am): Likewise.
35332         * modules/strings (Makefile.am): Likewise.
35333         * modules/sys_select (Makefile.am): Likewise.
35334         * modules/sys_socket (Makefile.am): Likewise.
35335         * modules/sys_stat (Makefile.am): Likewise.
35336         * modules/sys_time (Makefile.am): Likewise.
35337         * modules/sysexits (Makefile.am): Likewise.
35338         * modules/time (Makefile.am): Likewise.
35339         * modules/unistd (Makefile.am): Likewise.
35340         * modules/wchar (Makefile.am): Likewise.
35341         * modules/wctype (Makefile.am): Likewise.
35342         Reported by Reuben Thomas <rrt@sc3d.org>.
35343
35344 2008-08-29  Bruno Haible  <bruno@clisp.org>
35345
35346         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
35347         any more.
35348
35349 2008-08-29  Simon Josefsson  <simon@josefsson.org>
35350
35351         * MODULES.html.sh (Misc): Add bitrotate.
35352
35353         * modules/bitrotate: New file.
35354
35355         * lib/bitrotate.h: New file.
35356
35357         * modules/bitrotate-tests: New file.
35358
35359         * tests/test-bitrotate.c: New file.
35360
35361         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
35362         on the bitrotate module.
35363
35364         * lib/arctwo.c: Use new bitrotate module.
35365
35366 2008-08-29  Jim Meyering  <meyering@redhat.com>
35367
35368         bootstrap: merge changes from coreutils
35369         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
35370         of copied files.  Remove a kludge, now that this is fixed.
35371         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
35372         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
35373         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
35374
35375 2008-08-29  Bruno Haible  <bruno@clisp.org>
35376
35377         * MODULES.html.sh: Remove --cvs-urls option.
35378
35379 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
35380
35381         maint.mk: adjust to file name change
35382         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
35383
35384 2008-08-28  Jim Meyering  <meyering@redhat.com>
35385
35386         * modules/getndelim2 (License): Relicense to LGPLv2+.
35387         Approved by Richard Stallman for the version of 1995, and by
35388         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
35389
35390 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
35391
35392         * lib/getdelim.c (flockfile, funlockfile): Make all of them
35393         dummy if one is not available.  Do not touch them if
35394         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
35395         (getc_maybe_unlocked): New.
35396         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
35397
35398 2008-08-26  Eric Blake  <ebb9@byu.net>
35399
35400         doc/INSTALL: resync from autoconf
35401         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
35402         (INSTALL_PRELUDE): Delete; this is done more efficiently by
35403         moving...
35404         * install.texi [!autoconf]: ...here.  Resync from autoconf.
35405         * INSTALL: Regenerate.
35406         * INSTALL.ISO: New file.
35407         * INSTALL.UTF-8: Likewise.
35408
35409 2008-08-26  Jim Meyering  <meyering@redhat.com>
35410
35411         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
35412         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
35413         these definitions conditional, so that they may be overridden, too.
35414
35415 2008-08-26  Bruno Haible  <bruno@clisp.org>
35416
35417         Generate INSTALL file variants with prettier quotes.
35418         * doc/Makefile (INSTALL_PRELUDE): New macro.
35419         (INSTALL): Use it.
35420         (INSTALL.ISO, INSTALL.UTF-8): New rules.
35421
35422 2008-08-26  Bruno Haible  <bruno@clisp.org>
35423
35424         Run makeinfo in an English locale.
35425         * doc/Makefile (MAKEINFO): New variable.
35426
35427 2008-08-26  Bruno Haible  <bruno@clisp.org>
35428
35429         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
35430         Suggested by Eric Blake.
35431
35432 2008-08-25  Bruno Haible  <bruno@clisp.org>
35433
35434         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
35435
35436 2008-08-25  Eric Blake  <ebb9@byu.net>
35437
35438         c-stack: test that stack overflow can be caught
35439         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
35440         that platform allows handling stack overflow; at least OS/2 EMX
35441         has sigaltstack, but crashes before transferring control to
35442         handler on stack overflow.
35443         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
35444         check for HAVE_STACK_OVERFLOW_HANDLING.
35445         Reported by Elbert Pol.
35446
35447 2008-08-25  Bruno Haible  <bruno@clisp.org>
35448
35449         * doc/posix-functions/strftime.texi: Fix description of strftime
35450         module.
35451
35452 2008-08-24  Bruno Haible  <bruno@clisp.org>
35453
35454         * tests/uniwidth/test-uc_width2.c: New file.
35455         * tests/uniwidth/test-uc_width2.sh: New file.
35456         * modules/uniwidth/width-tests (Files): Add the new files.
35457         (TESTS): Add uniwidth/test-uc_width2.sh.
35458         (TESTS_ENVIRONMENT): New variable.
35459         (check_PROGRAMS): Add test-uc_width2.
35460         (test_uc_width2_SOURCES): New variable.
35461
35462         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
35463         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
35464         not 0x00AB.
35465         Reported by Alexander V. Lukyanov <lav@netis.ru>.
35466
35467 2008-08-22  Eric Blake  <ebb9@byu.net>
35468
35469         test-lock, test-tls: mention why a test is skipped
35470         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
35471         skipped.
35472         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
35473
35474         count-one-bits: relax license
35475         * modules/count-one-bits (License): Relicense to LGPLv2+.
35476         Suggested by Ludovic Courtès, approved by Ben Pfaff.
35477
35478 2008-08-22  Andreas Schwab  <schwab@suse.de>
35479
35480         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35481         Remove spurious space in assignment.
35482
35483 2008-08-21  Simon Josefsson  <simon@josefsson.org>
35484
35485         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
35486         Paul Eggert <eggert@CS.UCLA.EDU>.
35487
35488 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
35489
35490         * modules/gettext: Add m4/threadlib.m4.
35491
35492 2008-08-19  Eric Blake  <ebb9@byu.net>
35493
35494         test-c-stack: fix compilation failure on FreeBSD 5.0
35495         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
35496         headers before <sys/resource.h>.
35497         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
35498         the bug.
35499         Reported by Nelson H. F. Beebe.
35500
35501         strverscmp: migrate from "strverscmp.h" to <string.h>
35502         * modules/string (Makefile.am): Add new hooks.
35503         * modules/strverscmp (Files): Remove strverscmp.h.
35504         (Depends-on): Add string.
35505         (configure.ac): Add indicator.
35506         (Include): Mention new header.
35507         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
35508         defaults.
35509         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
35510         results.
35511         * lib/strverscmp.h: Delete.
35512         * lib/string.in.h (strverscmp): Provide declaration, when needed.
35513         * tests/test-strverscmp.c (includes): Adjust client.
35514         * lib/check-version.c (includes): Likewise.
35515         * NEWS: Document the change.
35516
35517         strverscmp: add unit test
35518         * modules/strverscmp-tests: New file.
35519         * tests/test-strverscmp.c: Likewise.
35520
35521 2008-08-19  Simon Josefsson  <simon@josefsson.org>
35522
35523         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
35524         regarding Windows crypto stuff, from Mono.
35525
35526 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
35527
35528         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
35529         if present, for intel RND.  Return error on failures.
35530
35531 2008-08-18  Ben Pfaff  <blp@gnu.org>
35532
35533         gitlog-to-changelog: give better diagnostic for failed pipe-open
35534         * build-aux/gitlog-to-changelog: Improve error message: suggest
35535         that the version of Git may be too old.
35536
35537 2008-08-18  Simon Josefsson  <simon@josefsson.org>
35538
35539         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
35540         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
35541
35542 2008-08-18  Bruno Haible  <bruno@clisp.org>
35543
35544         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
35545         pthread_in_use().
35546
35547 2008-08-18  Bruno Haible  <bruno@clisp.org>
35548
35549         * lib/glthread/threadlib.c: Include <pthread.h>.
35550
35551 2008-08-18  Bruno Haible  <bruno@clisp.org>
35552
35553         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
35554         glthread_recursive_lock_* macros.
35555         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
35556         Fix syntax error.
35557
35558 2008-08-18  Bruno Haible  <bruno@clisp.org>
35559
35560         * lib/glthread/thread.c: Avoid forcing a context switch right after
35561         thread creation.
35562
35563 2008-08-17  Bruno Haible  <bruno@clisp.org>
35564
35565         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
35566         * lib/glthread/thread.h: Provide Win32 specific implementation.
35567         * modules/thread (Files): Add lib/glthread/thread.c.
35568         (Depends-on): Add lock.
35569         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
35570
35571 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35572
35573         New module 'yield'.
35574         * modules/yield: New file.
35575         * lib/glthread/yield.h: New file.
35576         * m4/yield.m4: New file.
35577         * MODULES.html.sh (Multithreading): Add yield.
35578
35579 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35580
35581         New module 'thread'.
35582         * modules/thread: New file.
35583         * lib/glthread/thread.h: New file.
35584         * m4/thread.m4: New file.
35585         * MODULES.html.sh (Multithreading): Add thread.
35586
35587 2008-08-17  Bruno Haible  <bruno@clisp.org>
35588
35589         * lib/glthread/lock.h: Include <stdlib.h> always.
35590         * lib/glthread/tls.h: Likewise.
35591         * lib/glthread/cond.h: Likewise.
35592
35593 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35594
35595         New module 'cond'.
35596         * modules/cond: New file.
35597         * lib/glthread/cond.h: New file.
35598         * lib/glthread/cond.c: New file.
35599         * m4/cond.m4: New file.
35600         * MODULES.html.sh (Multithreading): Add cond.
35601
35602 2008-08-16  Eric Blake  <ebb9@byu.net>
35603
35604         c-stack: fix regression on Irix 5.3 from 2008-06-21
35605         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
35606         sa_sigaction...
35607         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
35608         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
35609         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
35610         * modules/signal (Makefile.am): Use the value.
35611         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
35612         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
35613         * doc/posix-headers/signal.texi (signal.h): Document this
35614         portability issue.
35615         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
35616         Reported by Tom G. Christensen.
35617
35618 2008-08-17  Bruno Haible  <bruno@clisp.org>
35619
35620         New module 'threadlib'.
35621         * modules/threadlib: New file.
35622         * lib/glthread/threadlib.c: New file, extracted from
35623         lib/glthread/lock.c.
35624         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
35625         functions.
35626         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
35627         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
35628         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
35629         macros.
35630         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
35631         (gl_DISABLE_THREADS): Remove macro.
35632         * modules/lock (Files): Remove build-aux/config.rpath.
35633         (Depends-on): Remove havelib. Add threadlib.
35634         (configure.ac-early): Remove section.
35635         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
35636         * modules/tls (Depends-on): Remove lock. Add threadlib.
35637         (Link): New section, copied from threadlib.
35638         * MODULES.html.sh (Multithreading): Add threadlib.
35639
35640 2008-08-14  Bruno Haible  <bruno@clisp.org>
35641
35642         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
35643         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
35644         glthread_rwlock_unlock, glthread_rwlock_destroy,
35645         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
35646         glthread_recursive_lock_destroy): Define as macros always.
35647         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
35648         glthread_lock_lock.
35649         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
35650         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
35651         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
35652         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
35653         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
35654         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
35655         (glthread_recursive_lock_lock_func): Renamed from
35656         glthread_recursive_lock_lock.
35657         (glthread_recursive_lock_unlock_func): Renamed from
35658         glthread_recursive_lock_unlock.
35659         (glthread_recursive_lock_destroy_func): Renamed from
35660         glthread_recursive_lock_destroy.
35661
35662 2008-08-14  Bruno Haible  <bruno@clisp.org>
35663
35664         * lib/glthread/lock.h: Renamed from lib/lock.h.
35665         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
35666         * lib/glthread/tls.h: Renamed from lib/tls.h.
35667         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
35668         * lib/fstrcmp.c: Update includes.
35669         * lib/strsignal.c: Update includes.
35670         * modules/lock (Files, Makefile.am): Update.
35671         (Include): Change to "glthread/lock.h".
35672         * modules/tls (Files, Makefile.am): Update.
35673         (Include): Change to "glthread/tls.h".
35674         * tests/test-lock.c: Update includes.
35675         * tests/test-tls.c: Update includes.
35676         * NEWS: Mention the renamed header files.
35677
35678 2008-08-11  Jim Meyering  <meyering@redhat.com>
35679
35680         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
35681
35682 2008-08-11  Eric Blake  <ebb9@byu.net>
35683
35684         test-c-stack: avoid C99-ism
35685         * tests/test-c-stack.c (main): Fix whitespace, move declaration
35686         before statement.
35687         Reported by Alain Guibert.
35688
35689 2008-08-10  Jim Meyering  <meyering@redhat.com>
35690
35691         ensure that return value of uinttostr et al are not ignored
35692         * lib/inttostr.h (__GNUC_PREREQ): Define.
35693         (__attribute_warn_unused_result__): Define.
35694         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
35695
35696 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
35697
35698         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
35699         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
35700
35701 2008-08-07  Jim Meyering  <meyering@redhat.com>
35702
35703         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
35704
35705         * modules/mkstemp (License): Relicense under LGPLv2+.
35706         * modules/tempname (License): Likewise.
35707
35708 2008-08-06  Bruno Haible  <bruno@clisp.org>
35709
35710         * lib/poll.c (poll): Further micro-optimization.
35711
35712 2008-08-06  Jim Meyering  <meyering@redhat.com>
35713
35714         inet_pton.c: use locale-independent tolower
35715         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
35716         (inet_pton6): Use c_tolower rather than tolower.
35717         * modules/inet_pton (Depends-on): Add c-ctype.
35718
35719 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
35720
35721         * lib/poll.c (poll): Avoid division when timeout is 0, cache
35722         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
35723
35724 2008-08-06  Jim Meyering  <meyering@redhat.com>
35725
35726         * modules/inet_pton (License): Relicense under LGPLv2+.
35727
35728 2008-08-03  Bruno Haible  <bruno@clisp.org>
35729
35730         Additional non-aborting API for lock and tls.
35731         * lib/lock.h: Include <errno.h>.
35732         (glthread_lock_init): New macro/function.
35733         (gl_lock_init): Define as wrapper around glthread_lock_init.
35734         (glthread_lock_lock): New macro/function.
35735         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
35736         (glthread_lock_unlock): New macro/function.
35737         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
35738         (glthread_lock_destroy): New macro/function.
35739         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
35740         (glthread_rwlock_init): New macro/function.
35741         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
35742         (glthread_rwlock_rdlock): New macro/function.
35743         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
35744         (glthread_rwlock_wrlock): New macro/function.
35745         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
35746         (glthread_rwlock_unlock): New macro/function.
35747         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
35748         (glthread_rwlock_destroy): New macro/function.
35749         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
35750         (glthread_recursive_lock_init): New macro/function.
35751         (gl_recursive_lock_init): Define as wrapper around
35752         glthread_recursive_lock_init.
35753         (glthread_recursive_lock_lock): New macro/function.
35754         (gl_recursive_lock_lock): Define as wrapper around
35755         glthread_recursive_lock_lock.
35756         (glthread_recursive_lock_unlock): New macro/function.
35757         (gl_recursive_lock_unlock): Define as wrapper around
35758         glthread_recursive_lock_unlock.
35759         (glthread_recursive_lock_destroy): New macro/function.
35760         (gl_recursive_lock_destroy): Define as wrapper around
35761         glthread_recursive_lock_destroy.
35762         (glthread_once): New macro/function.
35763         (gl_once): Define as wrapper around glthread_once.
35764         Update function declarations.
35765         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
35766         glthread_rwlock_init. Return error code.
35767         (glthread_rwlock_rdlock_multithreaded): Renamed from
35768         glthread_rwlock_rdlock. Return error code.
35769         (glthread_rwlock_wrlock_multithreaded): Renamed from
35770         glthread_rwlock_wrlock. Return error code.
35771         (glthread_rwlock_unlock_multithreaded): Renamed from
35772         glthread_rwlock_unlock. Return error code.
35773         (glthread_rwlock_destroy_multithreaded): Renamed from
35774         glthread_rwlock_destroy. Return error code.
35775         (glthread_recursive_lock_init_multithreaded): Renamed from
35776         glthread_recursive_lock_init. Return error code.
35777         (glthread_recursive_lock_lock_multithreaded): Renamed from
35778         glthread_recursive_lock_lock. Return error code.
35779         (glthread_recursive_lock_unlock_multithreaded): Renamed from
35780         glthread_recursive_lock_unlock. Return error code.
35781         (glthread_recursive_lock_destroy_multithreaded): Renamed from
35782         glthread_recursive_lock_destroy. Return error code.
35783         (glthread_once_call): Make static.
35784         (glthread_once_multithreaded): Renamed from glthread_once.
35785         * lib/tls.h: Include <errno.h>.
35786         (glthread_tls_key_init): New macro/function.
35787         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
35788         (glthread_tls_set): New macro/function.
35789         (gl_tls_set): Define as wrapper around glthread_tls_set.
35790         (glthread_tls_key_destroy): New macro/function.
35791         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
35792         Update function declarations.
35793         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
35794         glthread_tls_get.
35795         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35796
35797 2008-08-04  Eric Blake  <ebb9@byu.net>
35798
35799         gnumakefile: use space, not TAB, outside of targets
35800         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
35801
35802 2008-08-02  Jim Meyering  <meyering@redhat.com>
35803
35804         getdate.y: avoid locale-dependent date parsing failure
35805         In Turkish locales, getdate would fail to recognize keywords
35806         containing a lowercase "i".  The solution is not to rely on
35807         locale-sensitive case-conversion.
35808         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
35809         (lookup_word): Use c_toupper in place of toupper.
35810         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
35811         Reported by Vefa Bicakci <bicave@superonline.com> in
35812         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
35813         * modules/getdate (Depends-on): Add c-ctype.
35814
35815 2008-08-02  Bruno Haible  <bruno@clisp.org>
35816
35817         * gnulib-tool (func_import): When updating or creating a .gitignore
35818         file, prepend each added line with a slash, and ignore leading slashes
35819         from the existing lines.
35820         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
35821
35822 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35823
35824         Portability fix for GNU make 3.79.1.
35825         * top/GNUmakefile: Avoid 'else COND', which older GNU make
35826         versions do not understand.
35827
35828 2008-08-01  Bruno Haible  <bruno@clisp.org>
35829
35830         Work around bug of HP-UX 10.20 cc with -0.0 literal.
35831         * tests/test-isnanf.h (zero): New variable.
35832         (main): Avoid literal -0.0f.
35833         * tests/test-isnand.h (zero): New variable.
35834         (main): Avoid literal -0.0.
35835         * tests/test-isnanl.h (zero): New variable.
35836         (main): Avoid literal -0.0L.
35837         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
35838         (test_float, test_double, test_long_double): Avoid literals -0.0f,
35839         -0.0, -0.0L.
35840         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
35841         (test_signbitd): Avoid literal -0.0.
35842         (test_signbitl): Avoid literal -0.0L.
35843         * tests/test-ceilf1.c (zero): New variable.
35844         (main): Avoid literal -0.0f.
35845         * tests/test-ceill.c (zero): New variable.
35846         (main): Avoid literal -0.0L.
35847         * tests/test-floorf1.c (zero): New variable.
35848         (main): Avoid literal -0.0f.
35849         * tests/test-floorl.c (zero): New variable.
35850         (main): Avoid literal -0.0L.
35851         * tests/test-roundf1.c (zero): New variable.
35852         (main): Avoid literal -0.0f.
35853         * tests/test-round1.c (zero): New variable.
35854         (main): Avoid literal -0.0.
35855         * tests/test-roundl.c (zero): New variable.
35856         (main): Avoid literal -0.0L.
35857         * tests/test-truncf1.c (zero): New variable.
35858         (main): Avoid literal -0.0f.
35859         * tests/test-trunc1.c (zero): New variable.
35860         (main): Avoid literal -0.0.
35861         * tests/test-truncl.c (zero): New variable.
35862         (main): Avoid literal -0.0L.
35863         * tests/test-frexp.c (zero): New variable.
35864         (main): Avoid literal -0.0.
35865         * tests/test-frexpl.c (zero): New variable.
35866         (main): Avoid literal -0.0L.
35867         * tests/test-ldexpl.c (zero): New variable.
35868         (main): Avoid literal -0.0L.
35869         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35870         (zerod, zerol): New variables.
35871         (test_function): Avoid literals -0.0, -0.0L.
35872         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
35873         (zerod, zerol): New variables.
35874         (test_function): Avoid literals -0.0, -0.0L.
35875         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35876         (zerod, zerol): New variables.
35877         (test_function): Avoid literals -0.0, -0.0L.
35878         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
35879         (zerod, zerol): New variables.
35880         (test_function): Avoid literals -0.0, -0.0L.
35881         * tests/test-strtod.c (zero): New variable.
35882         (main): Avoid literal -0.0.
35883         Reported by Jonathan C. Patschke <jp@centtech.com>.
35884
35885 2008-07-31  Jim Meyering  <meyering@redhat.com>
35886
35887         sha256.h: correct definition of SHA224_DIGEST_SIZE
35888         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
35889         Reported by Paulie Pena IV <paulie4@gmail.com>.
35890         Define as 224 / 8, rather than as a literal.
35891         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
35892         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
35893         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
35894
35895 2008-07-31  Bruno Haible  <bruno@clisp.org>
35896
35897         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
35898         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
35899         Reported by Jonathan Patschke <jp@centtech.com>.
35900
35901 2008-07-31  Bruno Haible  <bruno@clisp.org>
35902
35903         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
35904         Reported by Paolo Bonzini <bonzini@gnu.org>.
35905
35906 2008-07-30  Eric Blake  <ebb9@byu.net>
35907
35908         test-strtod: allow compilation without -lm
35909         * tests/test-strtod.c (main): Avoid link dependence on fabs.
35910         Reported by Dennis Clarke <blastwave@gmail.com>.
35911
35912 2008-07-28  Jim Meyering  <meyering@redhat.com>
35913
35914         bootstrap: work also when there are no .po files in po/
35915         * build-aux/bootstrap (update_po_files): Complete the change
35916         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
35917
35918 2008-07-27  Jim Meyering  <meyering@redhat.com>
35919
35920         * users.txt: Add zile.
35921
35922 2008-07-26  Ben Pfaff  <blp@gnu.org>
35923
35924         Add missing dependencies on new m4/exponent[fdl].m4 files.
35925         * modules/isnanf-nolibm: Add m4/exponentf.m4.
35926         * modules/isnand-nolibm: Add m4/exponentd.m4.
35927         * modules/isnanl-nolibm: Add m4/exponentl.m4.
35928         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
35929         m4/isnan[fdl].m4, because the macros actually used moved.
35930         Reported by Jim Meyering.
35931
35932 2008-07-14  Ben Pfaff  <blp@gnu.org>
35933
35934         Add isinf module.
35935         * lib/isinf.c: New file.
35936         * lib/math.in.h: Define isinf macro if we have decided to replace
35937         it.
35938         * m4/isinf.m4: New file.
35939         * m4/math_h.m4: Initialize and substitute variables for isinf
35940         module.
35941         * modules/isinf: New file.
35942         * modules/isinf-tests: New file.
35943         * modules/math: Add substitutions for new module.
35944         * tests/test-isinf.c: New file.
35945         * doc/posix-functions/isinf.texi: Mention new module.
35946         * MODULES.html.sh: Mention new module.
35947
35948 2008-07-14  Ben Pfaff  <blp@gnu.org>
35949
35950         Factor out some macros for use by additional modules.
35951         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
35952         exponentf.m4.
35953         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
35954         exponentd.m4.
35955         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
35956         file exponentl.m4.
35957         * m4/exponentf.m4: New file.
35958         * m4/exponentd.m4: New file.
35959         * m4/exponentl.m4: New file.
35960         * modules/isnanf: Use new file m4/exponentf.m4.
35961         * modules/isnand: Use new file m4/exponentd.m4.
35962         * modules/isnanl: Use new file m4/exponentl.m4.
35963
35964 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
35965
35966         mktime.c: normalize tp->tm_isdst value to -1/0/1.
35967         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
35968         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
35969         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
35970
35971         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
35972         readlink on platforms without PATH_MAX.
35973
35974 2008-07-21  Eric Blake  <ebb9@byu.net>
35975
35976         Warn, not fail, on stale version.
35977         * top/GNUmakefile (_curr-ver): Tone down previous patch.
35978
35979         Don't allow installation with stale devel version number.
35980         * top/GNUmakefile (_is-install-target): New macro.
35981         (_curr-ver): Forbid installation with stale version number.
35982
35983 2008-07-20  Bruno Haible  <bruno@clisp.org>
35984
35985         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
35986         TESTS_ENVIRONMENT.
35987         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
35988
35989 2008-07-20  Bruno Haible  <bruno@clisp.org>
35990
35991         * lib/c-stack.h (c_stack_action): Add documentation.
35992         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
35993
35994 2008-07-20  Bruno Haible  <bruno@clisp.org>
35995
35996         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
35997         * modules/readlink (License): Likewise.
35998
35999 2008-07-17  Eric Blake  <ebb9@byu.net>
36000
36001         * modules/c-stack (Link): Fix typo.
36002
36003         Make c-stack use libsigsegv, when available.
36004         * modules/c-stack (Depends-on): Add libsigsegv.
36005         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
36006         needed.
36007         * lib/c-stack.c (SIGSTKSZ): Define fallback.
36008         (segv_handler, overflow_handler, c_stack_action)
36009         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
36010         implementation when libsigsegv is available, but only when using
36011         the library is necessary.
36012         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
36013         comment, explaining why XSI check fails on Linux.
36014         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
36015         * tests/test-c-stack2.sh: Tweak skip message.
36016         * NEWS: Document new link-time requirements.
36017
36018 2008-07-16  Eric Blake  <ebb9@byu.net>
36019
36020         c-stack: Expose false positives when not using libsigsegv.
36021         * modules/c-stack-tests (Files): Expand test.
36022         * tests/test-c-stack.c (main): Add means to conditionally trigger
36023         non-overflow SIGSEGV.
36024         * tests/test-c-stack2.sh: New file.
36025
36026 2008-07-14  Bruno Haible  <bruno@clisp.org>
36027
36028         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
36029         Reported by Eric Blake.
36030
36031 2008-07-14  Sam Steingold  <sds@gnu.org>
36032             Bruno Haible  <bruno@clisp.org>
36033
36034         New module libsigsegv.
36035         * modules/libsigsegv: New file.
36036         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
36037         modifications.
36038         * MODULES.html.sh (Signal handling): New section.
36039
36040 2008-07-14  Bruno Haible  <bruno@clisp.org>
36041
36042         * modules/unictype/ctype-* (Description): Add the word "function".
36043         Improves the resulting doc in MODULES.html.
36044
36045 2008-07-12  Ben Pfaff  <blp@gnu.org>
36046
36047         Add longlong module.
36048         * modules/longlong: New file.
36049
36050 2008-07-12  Bruno Haible  <bruno@clisp.org>
36051
36052         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
36053         to empty.
36054
36055 2008-07-10  Ben Pfaff  <blp@gnu.org>
36056
36057         Add isnan module.
36058         * doc/posix-functions/isnan.texi: Mention new module.
36059         * lib/math.in.h: Define isnan macro if we have decided to replace
36060         it.
36061         * m4/isnan.m4: New file.
36062         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
36063         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
36064         also.
36065         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
36066         redundancy.
36067         * m4/math_h.m4: Initialize and substitute variables for isnan
36068         module.
36069         * modules/isnan: New file.
36070         * modules/isnan-tests: New file.
36071         * modules/math: Add substitutions for new module.
36072         * tests/test-isnan.c: New file.
36073         * MODULES.html.sh: Mention new module.
36074
36075 2008-07-10  Ben Pfaff  <blp@gnu.org>
36076
36077         Add isnanf module.
36078         * lib/isnanf.m4: New file.
36079         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
36080         (gl_HAVE_ISNANF_IN_LIBM): New macro.
36081         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
36082         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
36083         * modules/isnanf: New file.
36084         * modules/isnanf-tests: New file.
36085         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
36086         files.
36087         * tests/test-isnanf-nolibm.c: factored most of its contents into
36088         new file tests/test-isnanf.h.
36089         * tests/test-isnanf.h: New file.
36090         * tests/test-isnanf.c: New file.
36091         * MODULES.html.sh: Mention new module.
36092         * doc/glibc-functions/isnanf.texi: Mention new module.
36093
36094 2008-07-10  Ben Pfaff  <blp@gnu.org>
36095
36096         Add isnand module.
36097         * lib/isnand.h: New file.
36098         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
36099         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
36100         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
36101         functionality also.
36102         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
36103         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
36104         (gl_HAVE_ISNAND_IN_LIBM): New macro.
36105         * modules/isnand: New file.
36106         * modules/isnand-tests: New file.
36107         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
36108         files.
36109         * tests/test-isnand-nolibm.c: factored most of its contents into
36110         new file tests/test-isnand.h.
36111         * tests/test-isnand.h: New file.
36112         * tests/test-isnand.c: New file.
36113         * MODULES.html.sh: Mention new module.
36114
36115 2008-07-10  Ben Pfaff  <blp@gnu.org>
36116
36117         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
36118         * lib/isnand.h: Rename lib/isnand-nolibm.h.
36119         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
36120         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
36121         * modules/isnanf-nolibm: Update references to renamed files.
36122         * modules/isnand-nolibm: Likewise.
36123         * modules/isnanf-nolibm-tests: Likewise.
36124         * modules/isnand-nolibm-tests: Likewise.
36125         * lib/frexp.c: Likewise.
36126         * lib/isfinite.c: Likewise.
36127         * lib/signbitd.c: Likewise.
36128         * lib/signbitf.c: Likewise.
36129         * lib/vasnprintf.c: Likewise.
36130         * tests/test-ceilf1.c: Likewise.
36131         * tests/test-ceilf2.c: Likewise.
36132         * tests/test-floorf1.c: Likewise.
36133         * tests/test-floorf2.c: Likewise.
36134         * tests/test-frexp.c: Likewise.
36135         * tests/test-round1.c: Likewise.
36136         * tests/test-round2.c: Likewise.
36137         * tests/test-roundf1.c: Likewise.
36138         * tests/test-strtod.c: Likewise.
36139         * tests/test-trunc1.c: Likewise.
36140         * tests/test-trunc2.c: Likewise.
36141         * tests/test-truncf1.c: Likewise.
36142         * tests/test-truncf2.c: Likewise.
36143         * NEWS: Mention the renamed header files.
36144
36145 2008-07-11  Jim Meyering  <meyering@redhat.com>
36146
36147         vc-list-files: make the last-resort awk code more portable
36148         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
36149         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
36150         does not support it.
36151
36152 2008-07-10  Eric Blake  <ebb9@byu.net>
36153
36154         Work with tar's bootstrap.
36155         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
36156         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
36157         an m4 comment.
36158
36159 2008-07-09  Jim Meyering  <meyering@redhat.com>
36160
36161         posix-shell.m4: fix typo that made this test malfunction
36162         * m4/posix-shell.m4: Remove capitalization in variable name.
36163
36164 2008-07-08  Bruno Haible  <bruno@clisp.org>
36165
36166         * m4/onceonly.m4: Update comments.
36167         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36168
36169 2008-07-04  Jim Meyering  <meyering@redhat.com>
36170
36171         * users.txt: Add vc-dwim.
36172         (bison, coreutils): Use the gitweb URL.
36173
36174 2008-07-03  Jim Meyering  <meyering@redhat.com>
36175
36176         * users.txt: Add libffcall.  From Sam Steingold.
36177
36178 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
36179
36180         getdate.y: do not ignore TZ with relative day, month or year offset
36181         * lib/getdate.y (get_date): Move the tz-handling block to follow the
36182         relative-date-handling, since otherwise, the latter would clobber the
36183         sole output (an updated Start value) of the tz-handling block.
36184         * tests/test-getdate.c: Tests for the fix
36185
36186 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36187
36188         Recognize 'foo_LIBRARIES += libgnu.a'.
36189         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
36190         makefile snippet has already specified an installation location,
36191         also using '+='.
36192
36193 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
36194
36195         getdate.y: factor out common actions
36196         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
36197         Use them in place of open-coded actions.
36198
36199 2008-07-01  Simon Josefsson  <simon@josefsson.org>
36200
36201         Add self-test for getdate module.
36202         * modules/getdate-tests: New file.
36203         * tests/test-getdate.c: New file.
36204
36205 2008-06-29  Bruno Haible  <bruno@clisp.org>
36206
36207         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
36208         .gitignore.
36209         Reported by Sylvain Beucler <beuc@beuc.net>.
36210
36211 2008-06-29  Bruno Haible  <bruno@clisp.org>
36212
36213         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
36214         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
36215
36216 2008-06-29  Bruno Haible  <bruno@clisp.org>
36217
36218         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
36219         EXTRA_DIST.
36220         Reported by Sylvain Beucler <beuc@beuc.net>.
36221
36222 2008-06-26  Jim Meyering  <meyering@redhat.com>
36223
36224         make several modules depend on the "open" module
36225         This provides slightly increased consistency when opening-for-write
36226         the name of a non-directory spelled with a trailing slash.
36227         * modules/chdir-safer: Likewise.
36228         * modules/chown: Likewise.
36229         * modules/clean-temp: Likewise.
36230         * modules/copy-file: Likewise.
36231         * modules/fchdir: Likewise.
36232         * modules/fcntl-safer: Likewise.
36233         * modules/pipe: Likewise.
36234         * modules/utime: Likewise.
36235         Prompted by Eric Blake and Bruno Haible.
36236
36237 2008-06-24  Andreas Schwab  <schwab@suse.de>
36238
36239         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
36240         literals can be used as initializers for global variables.
36241
36242 2008-06-23  Eric Blake  <ebb9@byu.net>
36243
36244         Make gnulib-cache.m4 easier to diff.
36245         * gnulib-tool (func_import): Allow newlines when reading cached
36246         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
36247
36248 2008-06-23  Bruno Haible  <bruno@clisp.org>
36249
36250         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
36251         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
36252         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
36253         m4/signalblocking.m4.
36254         (gl_PREREQ_SIGACTION): Don't invoke it.
36255         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
36256         gl_PREREQ_SIG_HANDLER_H.
36257         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36258         Don't check for sigaction here.
36259
36260 2008-06-23  Bruno Haible  <bruno@clisp.org>
36261
36262         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
36263         (install_handlers): Don't set the SA_RESETHAND flag.
36264
36265 2008-06-23  Bruno Haible  <bruno@clisp.org>
36266
36267         * m4/sigaction.m4: Comment fixes.
36268         * lib/signal.in.h: Likewise.
36269
36270 2008-06-23  Eric Blake  <ebb9@byu.net>
36271
36272         Fix typo.
36273         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
36274
36275         Avoid SA_ namespace.
36276         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
36277         Reported by Ralf Wildenhues.
36278
36279         Avoid test failure due to SA_RESTORER.
36280         * tests/test-sigaction.c (SA_MASK): New macro.
36281         (main): Avoid failing due to extension flags being set.
36282         Reported by Jim Meyering.
36283
36284         Revert use of sig-handler.h in sigprocmask.c.
36285         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
36286         it requires the existence of struct sigaction.
36287         * lib/sigprocmask.c (handler_t): Restore typedef.
36288         (rpl_signal, old_handlers): Use local type.
36289
36290 2008-06-22  Bruno Haible  <bruno@clisp.org>
36291
36292         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
36293         conditionally.
36294         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36295
36296 2008-06-22  Bruno Haible  <bruno@clisp.org>
36297
36298         * doc/posix-functions/siginterrupt.texi: Move note.
36299
36300         * lib/signal.in.h (SA_RESTART): New macro.
36301         * lib/sigaction.c: Update comment.
36302
36303         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
36304
36305         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
36306         (gl_PREREQ_SIGPROCMASK): Invoke it.
36307         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
36308
36309         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
36310
36311         * lib/sigprocmask.c: Update a comment.
36312
36313 2008-06-21  Eric Blake  <ebb9@byu.net>
36314
36315         Use sigaction module rather than signal().
36316         * modules/c-stack (Depends-on): Add sigaction.
36317         * modules/fatal-signal (Depends-on): Likewise.
36318         * modules/nanosleep (Depends-on): Likewise.
36319         * modules/sigprocmask (Files): Add sig-handler.h.
36320         * modules/sigaction (Files): Likewise.
36321         * lib/sig-handler.h (get_handler): New file, suggested by Paul
36322         Eggert.
36323         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
36324         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
36325         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
36326         (init_fatal_signals): Likewise.
36327         * lib/nanosleep.c (rpl_nanosleep): Likewise.
36328         (siginterrupt): Delete fallback.
36329         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
36330         instead.
36331         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
36332         siginterrupt.
36333
36334         New module sigaction, for mingw.
36335         * modules/sigaction: New module...
36336         * modules/sigaction-tests: ...and its test.
36337         * m4/sigaction.m4: New file.
36338         * lib/sigaction.c: Likewise.
36339         * tests/test-sigaction.c: Likewise.
36340         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
36341         * modules/signal (Makefile.am): Likewise.
36342         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
36343         needed.
36344         * doc/posix-headers/signal.texi (signal.h): Mention provided
36345         types.
36346         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
36347         that sigaction is preferable.
36348         * doc/posix-functions/sigaction.texi (sigaction): Mention new
36349         module.
36350         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36351         sigaction.
36352
36353         Improve robustness of sigprocmask by overriding signal.
36354         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
36355         is in use.
36356         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
36357         (SIGKILL, SIGSTOP): Provide fallbacks.
36358         (rpl_signal): Implement.
36359         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
36360         signal can be called inside handlers.
36361
36362         Fix nanosleep module on mingw.
36363         * modules/nanosleep (Depends-on): Add sys_select.
36364         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
36365
36366         Fix licensing of sigprocmask.
36367         * modules/raise (License): Relicense as LGPL.
36368
36369 2008-06-21  Bruno Haible  <bruno@clisp.org>
36370
36371         * lib/propername.c (proper_name_utf8): Don't use the transliterated
36372         result if it contains question marks.
36373         Reported by Michael Geng <linux@michaelgeng.de>.
36374
36375 2008-06-19  Bruno Haible  <bruno@clisp.org>
36376
36377         Fix CVS-ism.
36378         * doc/gnulib.texi: Include updated-stamp.texi.
36379         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
36380         (updated-stamp.texi): New rule.
36381         (gnulib.info): Depend on it.
36382         * doc/.gitignore: Add updated-stamp.texi.
36383         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
36384
36385 2008-06-19  Bruno Haible  <bruno@clisp.org>
36386
36387         * doc/Makefile (gnulib.info): Update and simplify dependencies.
36388         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
36389
36390 2008-06-19  Eric Blake  <ebb9@byu.net>
36391
36392         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
36393         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
36394         Reported by Stepan Kasal.
36395
36396 2008-06-18  Bruno Haible  <bruno@clisp.org>
36397
36398         * lib/fatal-signal.c (init_fatal_signals): Add comment.
36399         Reported by Eric Blake.
36400
36401 2008-06-18  Eric Blake  <ebb9@byu.net>
36402
36403         Work around cygwin 1.5.25 strsignal bug.
36404         * tests/test-strsignal.c: Allow for const char *.
36405         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
36406
36407 2008-06-18  Simon Josefsson  <simon@josefsson.org>
36408
36409         * users.txt: Update URL to article and add author/date
36410         information.
36411
36412 2008-06-17  Bruno Haible  <bruno@clisp.org>
36413
36414         New macro gl_DISABLE_THREADS.
36415         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
36416         if the user did not pass --enable-threads or --disable-threads option.
36417         (gl_DISABLE_THREADS): New macro.
36418         Reported by Eric Blake <ebb9@byu.net>.
36419
36420 2008-06-17  Bruno Haible  <bruno@clisp.org>
36421
36422         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
36423         when the macro ignores it.
36424         Based on a patch by Eric Blake <ebb9@byu.net>.
36425
36426 2008-06-17  Bruno Haible  <bruno@clisp.org>
36427
36428         * modules/tls (License): Change to LGPLv2+.
36429         Reported by Eric Blake.
36430
36431 2008-06-17  Eric Blake  <ebb9@byu.net>
36432
36433         Simplify c-stack prerequisites.
36434         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
36435         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
36436         no longer requires <ucontext.h> to exist.  Optimize setrlimit
36437         check.
36438         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
36439         <sys/resource.h>.
36440
36441         Move c-stack test into testsuite.
36442         * modules/c-stack-tests: New file.
36443         * lib/c-stack.c [DEBUG]: Move test program...
36444         * tests/test-c-stack.c: ...into this new file.  Skip rather than
36445         fail test if sigaltstack is lacking.
36446         * tests/test-c-stack.sh: New driver file.
36447
36448 2008-06-16  Eric Blake  <ebb9@byu.net>
36449
36450         Use raise module consistently.
36451         * modules/fatal-signal (Depends-on): Add raise.
36452         * modules/sigprocmask (Depends-on): Likewise.
36453         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
36454         * lib/sigprocmask.c (sigprocmask): Likewise.
36455         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36456         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
36457
36458         Fix compliance bug in sigpending.
36459         * lib/sigprocmask.c (sigpending): Return pending array via
36460         parameter, not return value.
36461
36462 2008-06-14  Eric Blake  <ebb9@byu.net>
36463
36464         Improve obstack-printf test code.
36465         * tests/test-obstack-printf.c (test_function): Fix comment, and
36466         simplify usage of obstack_* in macros.  Add a test for coverage.
36467         Reported by Bruno Haible.
36468
36469 2008-06-14  Bruno Haible  <bruno@clisp.org>
36470
36471         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
36472         array size as a constant, not as a const variable.
36473         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
36474         AC_USE_SYSTEM_EXTENSIONS.
36475         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36476         Test whether the obstack_printf function actually exists.
36477         * modules/obstack-printf (Depends-on): Add extensions.
36478         (Include): Remove obstack.h.
36479         * modules/obstack-printf-posix (Depends-on): Add extensions.
36480         (Include): Remove obstack.h.
36481
36482 2008-06-13  Eric Blake  <ebb9@byu.net>
36483
36484         Add obstack-printf and obstack-printf-posix modules.
36485         * modules/obstack-printf: New file.
36486         * modules/obstack-printf-posix: Likewise.
36487         * MODULES.html.sh (Misc): Mention them.
36488         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
36489         Likewise.
36490         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
36491         Likewise.
36492         * modules/stdio (Makefile.am): Accomodate new modules.
36493         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36494         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
36495         Declare.
36496         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
36497         functions.
36498         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
36499         (gl_REPLACE_OBSTACK_PRINTF): New macros
36500         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
36501         * tests/test-obstack-printf.c: New file.
36502         * modules/obstack-printf-tests: Likewise.
36503         * modules/obstack-printf-posix-tests: Likewise.
36504
36505 2008-06-11  Bruno Haible  <bruno@clisp.org>
36506
36507         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
36508         * lib/open.c: Include errno.h.
36509         (open): Fail when attempting to write to a file that has a trailing
36510         slash.
36511         * tests/test-open.c (main): Test against trailing slash bug.
36512         * doc/posix-functions/open.texi: Mention the trailing slash bug.
36513
36514 2008-06-10  Bruno Haible  <bruno@clisp.org>
36515
36516         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
36517         for $? to work inside the trap command, with various /bin/sh-s.
36518         * tests/test-vc-list-files-cvs.sh: Likewise.
36519
36520 2008-06-10  Bruno Haible  <bruno@clisp.org>
36521
36522         * lib/acl-internal.h: Don't include gettext.h here.
36523         * lib/set-mode-acl.c: Include gettext.h here.
36524         * lib/copy-acl.c: Likewise.
36525
36526 2008-06-10  Bruno Haible  <bruno@clisp.org>
36527
36528         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
36529         * lib/wait-process.c (wait_subprocess): Likewise.
36530         * lib/execute.h (execute): Add termsigp argument.
36531         * lib/execute.c (execute): Likewise.
36532         * lib/csharpcomp.c (compile_csharp_using_pnet,
36533         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
36534         * lib/csharpexec.c (execute_csharp_using_pnet,
36535         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
36536         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
36537         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
36538         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
36539         is_jikes_present): Update.
36540         * lib/javaexec.c (execute_java_class): Update.
36541         * lib/javaversion.c (execute_and_read_line): Update.
36542         * NEWS: Document the changes.
36543         Reported by Eric Blake.
36544
36545 2008-06-10  Eric Blake  <ebb9@byu.net>
36546
36547         Add missing include.
36548         * tests/test-strstr.c (includes): Add <signal.h>.
36549         * tests/test-strcasestr.c (includes): Likewise.
36550         * tests/test-memmem.c (includes): Likewise.
36551
36552 2008-06-10  Bruno Haible  <bruno@clisp.org>
36553
36554         * lib/wait-process.c (wait_subprocess): Add an assertion.
36555
36556 2008-06-10  Bruno Haible  <bruno@clisp.org>
36557
36558         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
36559
36560 2008-06-10  Bruno Haible  <bruno@clisp.org>
36561
36562         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
36563         using alarm().
36564         * tests/test-strcasestr.c (main): Likewise.
36565         * tests/test-strstr.c (main): Likewise.
36566
36567 2008-06-09  Bruno Haible  <bruno@clisp.org>
36568
36569         Work around the Solaris 10 ACE ACLs ABI change.
36570         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
36571         declare if ACL_NO_TRIVIAL is present.
36572         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
36573         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
36574         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
36575         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
36576         define if ACL_NO_TRIVIAL is present.
36577         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
36578         and use the current ABI.
36579         (file_has_acl): Use same #if condition as elsewhere.
36580         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
36581         in use, and use the current ABI.
36582         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
36583         Reported by Jim Meyering.
36584
36585 2008-06-09  Eric Blake  <ebb9@byu.net>
36586
36587         Work around environments that (stupidly) ignore SIGALRM.
36588         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
36589         before using alarm().
36590         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36591         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36592         Reported by Ian Beckwith <ianb@erislabs.net>.
36593
36594         Produce autobuild blurb earlier in log.
36595         * modules/autobuild (configure.ac-early): Move AB_INIT here.
36596
36597 2008-06-09  Jim Meyering  <meyering@redhat.com>
36598         and OndÅ™ej Vašík  <ovasik@redhat.com>
36599
36600         utimens.c: correct kernel bug work-around
36601         OndÅ™ej Vašík found that the invalid return value of 280 indicates
36602         failure, not success, and the kernel bug we're trying to work
36603         around affects not just the utimensat call, but also the fallback
36604         futimens call.
36605         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
36606         not success.
36607         [HAVE_FUTIMENS]: Use the same work-around, here.
36608
36609 2008-06-09  Jim Meyering  <meyering@redhat.com>
36610
36611         add more guards around definition of ACE_-related code
36612         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
36613         ALLOW and ACE_OWNER are also defined.
36614
36615 2008-06-08  Bruno Haible  <bruno@clisp.org>
36616
36617         * lib/acl-internal.h: Add me as co-author.
36618         * lib/file-has-acl.c: Likewise.
36619         * lib/set-mode-acl.c: Likewise.
36620         * lib/copy-acl.c: Likewise.
36621
36622 2008-06-08  Bruno Haible  <bruno@clisp.org>
36623
36624         Add support for AIX ACLs.
36625         * lib/acl-internal.h (acl_nontrivial): New declaration.
36626         * lib/file-has-acl.c (acl_nontrivial): New function.
36627         (file_has_acl): Add implementation using AIX 4 ACL API.
36628         * lib/set-mode-acl.c (qset_acl): Likewise.
36629         * lib/copy-acl.c (qcopy_acl): Likewise.
36630
36631 2008-06-08  Bruno Haible  <bruno@clisp.org>
36632
36633         Add support for HP-UX ACLs.
36634         * lib/acl-internal.h (acl_nontrivial): New declaration.
36635         * lib/file-has-acl.c (acl_nontrivial): New function.
36636         (file_has_acl): Add implementation using HP-UX 11 ACL API.
36637         * lib/set-mode-acl.c (qset_acl): Likewise.
36638         * lib/copy-acl.c (qcopy_acl): Likewise.
36639
36640 2008-06-08  Bruno Haible  <bruno@clisp.org>
36641
36642         Add support for Cygwin ACLs.
36643         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
36644         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
36645         the chmod_or_fchmod call.
36646         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
36647
36648 2008-06-08  Bruno Haible  <bruno@clisp.org>
36649
36650         Fix bug with setuid modes in Solaris 10+ code.
36651         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
36652         succeeded, when the mode contains some special bits.
36653
36654 2008-06-08  Bruno Haible  <bruno@clisp.org>
36655
36656         Add support for Solaris 7..10 ACLs.
36657         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
36658         declarations.
36659         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
36660         functions.
36661         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
36662         * lib/set-mode-acl.c (qset_acl): Likewise.
36663         * lib/copy-acl.c (qcopy_acl): Likewise.
36664
36665 2008-06-08  Bruno Haible  <bruno@clisp.org>
36666
36667         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
36668         declaration.
36669         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
36670         (acl_access_nontrivial): Remove MacOS X case.
36671         (file_has_acl): Use acl_extended_nontrivial.
36672         * lib/copy-acl.c (qcopy_acl): Likewise.
36673
36674 2008-06-08  Bruno Haible  <bruno@clisp.org>
36675
36676         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
36677
36678 2008-06-08  Jim Meyering  <meyering@redhat.com>
36679
36680         * modules/acl (Maintainer): Add Bruno Haible.
36681
36682 2008-06-07  Bruno Haible  <bruno@clisp.org>
36683
36684         Improve support for Tru64 ACLs.
36685         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
36686         ACL on OSF/1.
36687
36688 2008-06-07  Bruno Haible  <bruno@clisp.org>
36689
36690         Add support for MacOS X ACLs.
36691         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
36692         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
36693         * lib/set-mode-acl.c (qset_acl): Likewise.
36694         * lib/copy-acl.c (qcopy_acl): Likewise.
36695
36696 2008-06-07  Bruno Haible  <bruno@clisp.org>
36697
36698         Fix memory leak introduced on 2008-05-22.
36699         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
36700         use.
36701
36702 2008-06-07  Bruno Haible  <bruno@clisp.org>
36703
36704         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
36705         to construct an empty ACL.
36706
36707 2008-06-07  Bruno Haible  <bruno@clisp.org>
36708
36709         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
36710         precisely.
36711         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
36712
36713 2008-06-07  Bruno Haible  <bruno@clisp.org>
36714
36715         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
36716         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
36717
36718 2008-06-07  Bruno Haible  <bruno@clisp.org>
36719
36720         * doc/posix-functions/_setjmp.texi: Explain the use of this function
36721         regardless of POSIX.
36722         * doc/posix-functions/_longjmp.texi: Likewise.
36723         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
36724         SystemV platform in this case.
36725
36726 2008-06-06  Eric Blake  <ebb9@byu.net>
36727
36728         Document abort() bugs.
36729         * doc/posix-functions/abort.texi (abort): Mention anomalies.
36730
36731         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
36732         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
36733         sigsetjmp.
36734         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
36735         siglongjmp, but only as a macro.
36736         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
36737         is obsolete.
36738         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
36739
36740         Tweak documentation to cover cygwin argz bugs.
36741         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
36742         argz bug fix; no code change needed since no cygwin releases
36743         occurred between the last fix and the bug being tested.
36744         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
36745         module and recently fixed cygwin bugs.
36746         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
36747         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
36748         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
36749         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
36750         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
36751         Likewise.
36752         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
36753         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
36754         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
36755         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
36756         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
36757         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
36758         Likewise.
36759
36760         Avoid gcc warning on cygwin.
36761         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
36762         !ACL_NO_TRIVIAL]: Avoid unused variable.
36763
36764 2008-06-05  Eric Blake  <ebb9@byu.net>
36765
36766         Be tolerant of UNKNOWN version in gnulib-tool test dir.
36767         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
36768         git-version-gen fails to come up with a version.
36769         Reported by Simon Josefsson.
36770
36771 2008-06-05  Jim Meyering  <meyering@redhat.com>
36772             Paul Eggert  <eggert@cs.ucla.edu>
36773
36774         utimens.c: work around a probable Linux kernel bug
36775         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
36776         appears to be a kernel bug that causes utimensat to return 280
36777         instead of 0, indicating success.
36778
36779 2008-06-04  Bruno Haible  <bruno@clisp.org>
36780
36781         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
36782         2008-06-01 commit.
36783
36784 2008-06-04  Bruno Haible  <bruno@clisp.org>
36785
36786         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
36787         * lib/file-has-acl.c (acl_access_nontrivial): New function.
36788         (file_has_acl): Use it. Save errno afterwards.
36789         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
36790
36791 2008-06-03  Bruno Haible  <bruno@clisp.org>
36792
36793         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
36794         draft code. Simplify #ifs.
36795         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
36796         Put Solaris code after POSIX-draft code. Fix comments regarding
36797         Solaris 10, HP-UX. Mention Cygwin.
36798         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
36799
36800 2008-06-03  Eric Blake  <ebb9@byu.net>
36801
36802         Provide fallback for older kernels.
36803         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
36804         Provide runtime fallback if kernel lacks support.
36805         Reported by Mike Frysinger.
36806
36807 2008-06-02  Bruno Haible  <bruno@clisp.org>
36808
36809         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
36810         it exists.
36811
36812 2008-06-02  Bruno Haible  <bruno@clisp.org>
36813
36814         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
36815         * lib/copy-acl.c (qcopy_acl): Update comment.
36816
36817 2008-06-02  Bruno Haible  <bruno@clisp.org>
36818
36819         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
36820         like ACL APIs.
36821
36822 2008-06-02  Bruno Haible  <bruno@clisp.org>
36823
36824         * tests/test-file-has-acl.sh: Use different code for Cygwin.
36825         * tests/test-set-mode-acl.sh: Likewise.
36826         * tests/test-copy-acl.sh: Likewise.
36827         * tests/test-copy-file.sh: Likewise.
36828
36829 2008-06-02  Bruno Haible  <bruno@clisp.org>
36830
36831         * tests/test-file-has-acl.sh: Remove unused code.
36832
36833 2008-06-01  Bruno Haible  <bruno@clisp.org>
36834
36835         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
36836         (copy_acl): Just a wrapper around qcopy_acl that emits the error
36837         messages.
36838         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
36839
36840 2008-06-01  Bruno Haible  <bruno@clisp.org>
36841
36842         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
36843         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
36844         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
36845         APIs.
36846         * modules/acl-tests (configure.ac): Remove tests now contained in
36847         m4/acl.m4.
36848
36849 2008-06-02  Jim Meyering  <meyering@redhat.com>
36850
36851         announce-gen: use a better key-server host name
36852         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
36853         it may be more consistently reliable.  Suggested by Werner Koch
36854         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
36855
36856 2008-06-01  Bruno Haible  <bruno@clisp.org>
36857
36858         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
36859         Reported by Voroskoi Andras <voroskoi@gmail.com>.
36860
36861 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
36862
36863         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
36864
36865 2008-06-01  Bruno Haible  <bruno@clisp.org>
36866
36867         New ACL tests.
36868         * tests/test-file-has-acl.sh: New file.
36869         * tests/test-file-has-acl.c: New file.
36870         * tests/test-set-mode-acl.sh: New file.
36871         * tests/test-set-mode-acl.c: New file.
36872         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
36873         * tests/test-copy-acl.c: New file.
36874         * modules/acl-tests: New file, based on modules/copy-file-tests.
36875         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
36876         (Depends-on): Add acl-tests.
36877         (configure.ac): Remove checks.
36878         (Makefile.am): Don't create test-sameacls program here any more.
36879
36880 2008-06-01  Bruno Haible  <bruno@clisp.org>
36881
36882         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
36883         * tests/test-sameacls.c: Include progname.h.
36884         (main): Invoke set_program_name. Portability fixes for MacOS X,
36885         Solaris, HP-UX.
36886
36887 2008-06-01  Bruno Haible  <bruno@clisp.org>
36888
36889         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
36890         function.
36891         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
36892
36893 2008-06-01  Bruno Haible  <bruno@clisp.org>
36894
36895         * modules/rpmatch (Depends-on): Add strdup.
36896
36897 2008-06-01  Bruno Haible  <bruno@clisp.org>
36898
36899         * lib/pipe.c: Include unistd-safer.h.
36900         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
36901         * modules/pipe (Depends-on): Add unistd-safer.
36902
36903 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36904
36905         * modules/autobuild (configure.ac): Call AB_INIT.
36906
36907 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36908
36909         * tests/test-getaddrinfo.c: Don't print debug messages by default.
36910         Suggested by Bruno Haible <bruno@clisp.org>.
36911
36912 2008-05-30  Simon Josefsson  <simon@josefsson.org>
36913
36914         * tests/test-base64.c: Cast size_t to unsigned long when invoking
36915         printf.  Use %lu instead of %d.  Reported by Bruno Haible
36916         <bruno@clisp.org>.
36917
36918 2008-05-29  Eric Blake  <ebb9@byu.net>
36919
36920         Prefer new POSIX 200x interfaces over futimesat.
36921         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
36922         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
36923         when available.
36924         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
36925
36926 2008-05-28  Bruno Haible  <bruno@clisp.org>
36927
36928         * modules/stpcpy (License): Change to LGPLv2+.
36929         Requested by David Lutterkort <dlutter@redhat.com>.
36930
36931 2008-05-27  Bruno Haible  <bruno@clisp.org>
36932
36933         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
36934         current mingw.
36935         Reported by Jose E. Marchesi <jemarch@gnu.org>.
36936
36937 2008-05-27  Bruno Haible  <bruno@clisp.org>
36938
36939         * modules/iconv_open (Link): New section, from module 'iconv'.
36940         * modules/striconv (Link): Likewise.
36941         * modules/striconveh (Link): Likewise.
36942         * modules/xstriconv (Link): Likewise.
36943         * modules/unicodeio (Link): Likewise.
36944         * modules/propername (Link): Likewise.
36945         Reported by Jim Meyering.
36946
36947 2008-05-26  Jim Meyering  <meyering@redhat.com>
36948
36949         sha256: do not artificially restrict buffer length to be < 2^32
36950         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
36951         uint32_t to size_t.
36952         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
36953         to match.
36954
36955         avoid unaligned access errors, e.g., on sparc
36956         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
36957         direct access through a possibly-unaligned uint64* pointer.
36958         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
36959         direct access through a possibly-unaligned uint32* pointer.
36960         Prompted by this patch from Tom "spot" Callaway:
36961         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
36962
36963         sha512.c: fix typo in comment
36964         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
36965
36966 2008-05-25  Bruno Haible  <bruno@clisp.org>
36967
36968         * lib/set-mode-acl.c: Renamed from lib/acl.c.
36969         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
36970         (Makefile.am): Update lib_SOURCES.
36971
36972 2008-05-25  Bruno Haible  <bruno@clisp.org>
36973
36974         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
36975
36976 2008-05-25  Jim Meyering  <meyering@redhat.com>
36977
36978         useless-if-before-free: freed expr may have white-space differences
36979         * build-aux/useless-if-before-free: Recognize cases in which the
36980         freed expression differs from the tested one in embedded white
36981         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
36982         $1 was used, so we can't make any regexp shy.  Improved tests now
36983         detect this.
36984
36985         useless-if-before-free: accept white space in the expression.
36986         * build-aux/useless-if-before-free: For now, any white space
36987         in the expression must be identical in the free argument.
36988
36989         useless-if-before-free: efficiency tweak
36990         * build-aux/useless-if-before-free: Make the expression-matching
36991         regexp "shy".
36992         Make the *outer* regexp shy, not the expr-matching one.
36993
36994         update code-in-comment to accept cast of free arg
36995         * build-aux/useless-if-before-free: Update regexp.
36996
36997 2008-05-25  Bruno Haible  <bruno@clisp.org>
36998
36999         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
37000         * modules/copy-file-tests (Files, Makefile.am): Update.
37001         * tests/test-copy-file.c (func_test_copy): Update.
37002
37003 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
37004
37005         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
37006
37007 2008-05-23  Bruno Haible  <bruno@clisp.org>
37008
37009         Improve support for ACLs on OSF/1.
37010         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
37011         Remove fallback for unknown flavors of ACLs.
37012
37013 2008-05-22  Bruno Haible  <bruno@clisp.org>
37014
37015         Add support for ACLs on OSF/1.
37016         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
37017         replacements.
37018         (acl_free_text): New macro fallback.
37019         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
37020         acl_free.
37021         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
37022         acl_free_text function. Require AC_C_INLINE.
37023
37024 2008-05-22  Bruno Haible  <bruno@clisp.org>
37025
37026         Make copy_acl work on MacOS X 10.5.
37027         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
37028         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
37029         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
37030         If MODE_INSIDE_ACL, don't assume that every system has the same text
37031         representation for ACLs as FreeBSD.
37032         * lib/copy-acl.c (copy_acl): Add support for platforms with
37033         !MODE_INSIDE_ACL.
37034         * lib/file-has-acl.c (file_has_acl): Likewise.
37035         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
37036         FreeBSD, MacOS X, or IRIX, respectively.
37037
37038 2008-05-22  Bruno Haible  <bruno@clisp.org>
37039
37040         * lib/acl.h: Don't include <sys/acl.h>.
37041         (GETACLCNT): Move fallback to lib/acl-internal.h.
37042         * lib/acl-internal.h: Include <sys/acl.h> here.
37043         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
37044
37045 2008-05-22  Bruno Haible  <bruno@clisp.org>
37046
37047         Split off copy_acl function to separate file.
37048         * lib/copy-acl.c: New file, extracted from lib/acl.c.
37049         * lib/acl.c (copy_acl): Moved function to separate file.
37050         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
37051         * modules/acl (Files): Add lib/copy-acl.c.
37052         (Makefiles.am): Augment lib_SOURCES.
37053
37054 2008-05-22  Bruno Haible  <bruno@clisp.org>
37055
37056         * modules/copy-file-tests: New file.
37057         * tests/test-copy-file.sh: New file.
37058         * tests/test-copy-file.c: New file.
37059         * tests/test-copy-file-sameacls.c: New file.
37060
37061 2008-05-22  Eric Blake  <ebb9@byu.net>
37062
37063         Avoid gcc warning.
37064         * tests/test-memcmp.c (main): Pass NULL indirectly.
37065
37066 2008-05-21  Bruno Haible  <bruno@clisp.org>
37067
37068         Add reference doc about ACLs.
37069         * doc/acl-resources.txt: New file.
37070         * doc/acl-cygwin.txt: New file.
37071
37072 2008-05-21  Bruno Haible  <bruno@clisp.org>
37073
37074         Avoid one more warning from gcc.
37075         * lib/vasnprintf.c (IF_LINT): Update comments.
37076         (VASNPRINTF): Use it also for the 'prefix' array initializer.
37077
37078 2008-05-21  Jim Meyering  <meyering@redhat.com>
37079
37080         avoid a warning from gcc
37081         * lib/vasnprintf.c (IF_LINT): Define.
37082         (scale10_round_decimal_long_double):
37083         Use it to avoid a "may be used uninitialized" warning.
37084         (scale10_round_decimal_double): Likewise.
37085
37086 2008-05-21  Simon Josefsson  <simon@josefsson.org>
37087
37088         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
37089         declared.
37090
37091 2008-05-20  Bruno Haible  <bruno@clisp.org>
37092
37093         * tests/test-memcmp.c (main): Test also the sign of the result. Test
37094         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
37095
37096 2008-05-20  Simon Josefsson  <simon@josefsson.org>
37097
37098         * modules/memcmp-tests: New file.
37099         * tests/test-memcmp.c: New file.
37100
37101 2008-05-19  Bruno Haible  <bruno@clisp.org>
37102
37103         * modules/propername (Notice, configure.ac): Put quoted "..." into
37104         --keyword option.
37105         * lib/propername.h: Update comments accordingly.
37106         Reported by Eric Blake.
37107
37108 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
37109
37110         * modules/getpass-gnu (Depends-on): Add fseeko.
37111
37112 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37113
37114         * modules/base64-tests: New file.
37115
37116 2008-05-19  Bo Borgerson <gigabo@gmail.com>
37117
37118         * lib/base64.c (base64_decode_ctx): If a decode context structure
37119         was passed in use it to ignore newlines.  If a context structure
37120         was _not_ passed in, continue to treat newlines as garbage (this
37121         is the historical behavior).  Formerly base64_decode.
37122         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37123         takes a decode context structure.
37124         * lib/base64.h (base64_decode): Macro for four-argument calls.
37125         (base64_decode_alloc): Likewise.
37126         * lib/base64.c (base64_decode_ctx): If a decode context structure
37127         was passed in use it to ignore newlines.  If a context structure
37128         was _not_ passed in, continue to treat newlines as garbage (this
37129         is the historical behavior).  Formerly base64_decode.
37130         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
37131         takes a decode context structure.
37132         * lib/base64.h (base64_decode): Macro for four-argument calls.
37133         (base64_decode_alloc): Likewise.
37134
37135 2008-05-19  Jim Meyering  <meyering@redhat.com>
37136
37137         avoid a warning from gcc
37138         * lib/trim.c (IF_LINT): Define.
37139         (trim2): Use it to avoid a "may be used uninitialized" warning.
37140
37141         Fix doc typo.
37142         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
37143
37144 2008-05-19  Bruno Haible  <bruno@clisp.org>
37145
37146         * doc/glibc-functions/getpass.texi: Document limits of other
37147         implementations.
37148
37149 2008-05-19  Simon Josefsson  <simon@josefsson.org>
37150             Bruno Haible <bruno@clisp.org>
37151
37152         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
37153
37154 2008-05-18  Bruno Haible  <bruno@clisp.org>
37155
37156         * modules/propername: New file, from GNU gettext.
37157         * lib/propername.h: New file, from GNU gettext.
37158         * lib/propername.c: New file, from GNU gettext.
37159         * MODULES.html.sh (Internationalization functions): Add propername.
37160
37161 2008-05-16  Jim Meyering  <meyering@redhat.com>
37162             Bruno Haible  <bruno@clisp.org>
37163
37164         Avoid some warnings from "gcc -Wshadow".
37165         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
37166
37167 2008-05-15  Eric Blake  <ebb9@byu.net>
37168
37169         Extend previous patch to cygwin 1.7.0.
37170         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
37171         fast implementation in cygwin >= 1.7.0.
37172         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37173         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37174
37175 2008-05-15  Bruno Haible  <bruno@clisp.org>
37176
37177         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
37178         implementation in glibc >= 2.9.
37179         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
37180         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37181
37182 2008-05-15  Bruno Haible  <bruno@clisp.org>
37183
37184         * MODULES.html.sh (Internationalization functions): Remove linebreak.
37185         (Unicode string functions): Add unilbrk/*.
37186         Reported by Karl Berry.
37187
37188 2008-05-15  Eric Blake  <ebb9@byu.net>
37189
37190         Fix violation of <stdbool.h> replacement in regex.
37191         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
37192         * lib/regexec.c (re_search_internal): Likewise.
37193         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
37194
37195 2008-05-15  Jim Meyering  <meyering@redhat.com>
37196
37197         avoid distracting test output when git or cvs is not found
37198         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
37199         * tests/test-vc-list-files-git.sh: Likewise.
37200
37201 2008-05-15  Eric Blake  <ebb9@byu.net>
37202
37203         Glibc finally accepted the memmem speedup code, bugzilla #5514.
37204         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
37205         glibc version.
37206         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
37207         * doc/posix-functions/strstr.texi (strstr): Likewise.
37208         * lib/str-two-way.h (MAX): Sychronize with glibc.
37209
37210 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
37211
37212         * lib/regcomp.c (optimize_utf8): Add a note on why we test
37213         opr.ctx_type.
37214         (calc_first): Initialize constraint field.
37215         (duplicate_node_closure): Use it instead of special casing ANCHORS.
37216         Fix grammar.
37217         (duplicate_node): Merge constraint field for all node types.
37218         (calc_eclosure_iter): Look at constraint field for all node types.
37219         * lib/regex_internal.c (create_cd_newstate): Don't look at
37220         opr.ctx_type.
37221
37222 2008-05-14  Bruno Haible  <bruno@clisp.org>
37223
37224         Help GCC to do better code generation.
37225         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
37226         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
37227         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
37228         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
37229         Declare with attribute 'malloc' if supported.
37230
37231 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
37232
37233         use "echo STR|wc -c" rather than unportable "expr length STR"
37234         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
37235         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
37236
37237 2008-05-14  Jim Meyering  <meyering@redhat.com>
37238
37239         use dd ibs=$n count=1 ... rather than less-portable head -c$n
37240         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
37241         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
37242         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
37243         via Collin Lasse.
37244
37245 2008-05-14  Eric Blake  <ebb9@byu.net>
37246
37247         Avoid quadratic growth in gl_LIBSOURCES.
37248         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
37249         Suggested by Bruno Haible.
37250
37251         Test xmemdup0.
37252         * modules/xmemdup0-tests: New file.
37253         * tests/test-xmemdup0.c: Likewise.
37254
37255 2008-05-13  Eric Blake  <ebb9@byu.net>
37256
37257         Split xmemdup0 into its own module.
37258         * modules/xmemdup0: New file.
37259         * lib/xmemdup0.h: Likewise.
37260         * lib/xmemdup0.c: Likewise.
37261         * MODULES.html.sh (Memory management functions): Add xmemdup0.
37262         * lib/xalloc.h (xmemdup0): Remove.
37263         * lib/xmalloc.c (xmemdup0): Likewise.
37264
37265 2008-05-13  Eric Blake  <ebb9@byu.net>
37266             Bruno Haible  <bruno@clisp.org>
37267
37268         Reduce number of forks required during autoconf.
37269         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
37270         and gl_LIBSOURCES_DIR.
37271         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
37272         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
37273         m4_syscmd per file.
37274         <m4_foreach_w>: Move...
37275         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
37276
37277 2008-05-13  Eric Blake  <ebb9@byu.net>
37278
37279         * gnulib-tool: Fix various comment typos.
37280
37281 2008-05-12  Bruno Haible  <bruno@clisp.org>
37282
37283         Tailor the linebreaking algorithm.
37284         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
37285
37286 2008-05-12  Bruno Haible  <bruno@clisp.org>
37287
37288         Update to Unicode 5.0.0.
37289         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37290         LBP_JV, LBP_JT. Redistribute values.
37291         (unilbrk_table): Change size.
37292         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
37293         Unicode TR#14 rev. 22.
37294         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
37295         LBP_JV, LBP_JT. Redistribute values.
37296         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
37297         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
37298         Update.
37299         * lib/unilbrk/lbrkprop1.h: Regenerated.
37300         * lib/unilbrk/lbrkprop2.h: Regenerated.
37301         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
37302         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
37303         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
37304         Likewise.
37305         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
37306         Likewise.
37307         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
37308         result.
37309         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
37310         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
37311         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
37312         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
37313         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
37314         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
37315
37316 2008-05-11  Bruno Haible  <bruno@clisp.org>
37317
37318         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
37319
37320 2008-05-11  Bruno Haible  <bruno@clisp.org>
37321
37322         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
37323         * modules/unilbrk/gen-lbrk: New file.
37324
37325 2008-05-11  Bruno Haible  <bruno@clisp.org>
37326
37327         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
37328         * m4/sha512.m4 (gl_SHA512): Likewise.
37329
37330 2008-05-11  Jim Meyering  <meyering@redhat.com>
37331
37332         New modules: crypto/sha256, crypto/sha512 (from coreutils)
37333         * modules/crypto/sha256: New file.
37334         * modules/crypto/sha512: Likewise.
37335         * lib/sha256.c: Likewise.
37336         * lib/sha256.h: Likewise.
37337         * lib/sha512.c: Likewise.
37338         * lib/sha512.h: Likewise.
37339         * lib/u64.h: Likewise.
37340         * m4/sha256.m4: Likewise.
37341         * m4/sha512.m4: Likewise.
37342         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
37343
37344 2008-05-10  Bruno Haible  <bruno@clisp.org>
37345
37346         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
37347         (Input/Output <stdio.h>): Add xprintf.
37348         (Signal handling <signal.h>): Add strsignal.
37349         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
37350         (Core language properties): Add func.
37351         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
37352         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
37353         strings.
37354         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
37355         (Input/output): New section.
37356         (File system functions): Add openat-die, stat-macros.
37357         (Networking functions): Add sockets.
37358         (Unicode string functions): Add unictype/*.
37359         (Support for building libraries and executables): Add gperf.
37360         (Support for building documentation): Add agpl-3.0.
37361         (Misc): Add nocrash.
37362
37363 2008-05-10  Bruno Haible  <bruno@clisp.org>
37364
37365         * modules/unictype/gen-ctype: New file.
37366
37367 2008-05-10  Jim Meyering  <meyering@redhat.com>
37368
37369         Make chdir-safer.c more efficient on a system with no symlinks.
37370         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
37371         also if ELOOP is zero.  Suggested by Bruno Haible.
37372
37373         Make chdir-safer.c slightly safer.
37374         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
37375         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
37376
37377         Avoid compile failure on systems without ELOOP (like mingw).
37378         * lib/chdir-safer.c (ELOOP): Define if not already defined.
37379         Reported by Bruno Haible.
37380
37381 2008-05-10  Bruno Haible  <bruno@clisp.org>
37382
37383         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
37384         (is_utf8_encoding): Use a case-insensitive comparison.
37385         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
37386         streq.
37387
37388 2008-05-10  Bruno Haible  <bruno@clisp.org>
37389
37390         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
37391         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
37392         * lib/unilbrk/ulc-common.h (iconv_string_length,
37393         iconv_string_keeping_offsets): Remove declarations.
37394         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
37395         Don't include <iconv.h>, streq.h, xsize.h.
37396         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
37397         conversion.
37398         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
37399         <iconv.h>, streq.h, xsize.h.
37400         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
37401         conversion.
37402         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
37403         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
37404         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
37405         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
37406
37407 2008-05-10  Bruno Haible  <bruno@clisp.org>
37408
37409         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
37410         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
37411
37412         * modules/unilbrk/u32-width-linebreaks-tests: New file.
37413         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
37414
37415         * modules/unilbrk/u16-width-linebreaks-tests: New file.
37416         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
37417
37418         * modules/unilbrk/u8-width-linebreaks-tests: New file.
37419         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
37420
37421         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
37422         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
37423
37424         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
37425         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
37426
37427         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
37428         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
37429
37430         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
37431         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
37432
37433 2008-05-10  Bruno Haible  <bruno@clisp.org>
37434
37435         Split up 'linebreak' module.
37436         * lib/unilbrk.h: New file, based on lib/linebreak.h.
37437         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
37438         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
37439         modifications.
37440         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
37441         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
37442         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
37443         lib/linebreak.c.
37444         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
37445         lib/linebreak.c.
37446         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
37447         lib/linebreak.c.
37448         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
37449         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
37450         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
37451         lib/linebreak.c.
37452         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
37453         lib/linebreak.c.
37454         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
37455         lib/linebreak.c.
37456         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
37457         lib/linebreak.c.
37458         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
37459         lib/linebreak.c.
37460         * modules/unilbrk/base: New file.
37461         * modules/unilbrk/tables: New file.
37462         * modules/unilbrk/u8-possible-linebreaks: New file.
37463         * modules/unilbrk/u16-possible-linebreaks: New file.
37464         * modules/unilbrk/u32-possible-linebreaks: New file.
37465         * modules/unilbrk/ulc-common: New file.
37466         * modules/unilbrk/ulc-possible-linebreaks: New file.
37467         * modules/unilbrk/u8-width-linebreaks: New file.
37468         * modules/unilbrk/u16-width-linebreaks: New file.
37469         * modules/unilbrk/u32-width-linebreaks: New file.
37470         * modules/unilbrk/ulc-width-linebreaks: New file.
37471         * lib/linebreak.h: Remove file.
37472         * lib/linebreak.c: Remove file.
37473         * m4/linebreak.m4: Remove file.
37474         * modules/linebreak: Remove file.
37475         * NEWS: Mention the changes.
37476
37477 2008-05-09  Eric Blake  <ebb9@byu.net>
37478
37479         Add xmemdup0.
37480         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
37481         implementation.
37482         * lib/xmalloc.c (xmemdup0): New C implementation.
37483
37484 2008-05-08  Bruno Haible  <bruno@clisp.org>
37485
37486         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
37487
37488 2008-05-07  Eric Blake  <ebb9@byu.net>
37489
37490         Support cross-compilation of <wctype.h>.
37491         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
37492         AC_CACHE_CHECK.
37493
37494 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
37495
37496         * build-aux/vc-list-files: Add support for bzr.
37497
37498 2008-05-03  Jim Meyering  <meyering@redhat.com>
37499
37500         avoid failed assertion with tight malloc
37501         * tests/test-getndelim2.c: Correct an off-by-one assertion.
37502
37503 2008-05-03  Simon Josefsson  <simon@josefsson.org>
37504
37505         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
37506         are needed from arpa/inet.h.
37507         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
37508         Reported by Bruno Haible.
37509
37510 2008-05-02  Jim Meyering  <meyering@redhat.com>
37511
37512         avoid compilation error on FreeBSD 6
37513         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
37514
37515 2008-05-01  Jim Meyering  <meyering@redhat.com>
37516
37517         useless-if-before-free: correct --help's exit status description
37518         * build-aux/useless-if-before-free (usage): Like grep, exit 0
37519         for one or more matches, etc.  Reported by Bruno Haible.
37520
37521         vc-list-files: make the stand-alone gnulib test work
37522         * modules/vc-list-files-tests (configure.ac):
37523         Define and AC_SUBST abs_aux_dir.
37524         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
37525         $(abs_top_srcdir) to each script and having each of them
37526         duplicate the work of setting PATH, set PATH here, using
37527         the new variable, abs_aux_dir instead.
37528         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
37529         * tests/test-vc-list-files-git.sh: Likewise.
37530         Reported by Bruno Haible.
37531
37532 2008-05-01  Bruno Haible  <bruno@clisp.org>
37533
37534         * lib/getndelim2.c (getndelim2): Fix newsize computation during
37535         reallocation. Rename 'done' to 'found_delimiter'.
37536
37537 2008-05-01  Jim Meyering  <meyering@redhat.com>
37538
37539         vc-list-files: accommodate /bin/sh like the one from Solaris 10
37540         * build-aux/vc-list-files: Use `...`, not $(...).
37541
37542 2008-04-30  Jim Meyering  <meyering@redhat.com>
37543
37544         add tests for vc-list-files
37545         * modules/vc-list-files-tests: New module.
37546         * tests/test-vc-list-files-cvs.sh: New file.
37547         * tests/test-vc-list-files-git.sh: New file.
37548
37549         avoid a warning from gcc
37550         * lib/getndelim2.c (IF_LINT): Define.
37551         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
37552
37553         vc-list-files: work properly with build-aux/cvsu, too
37554         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
37555         to all cvs-based clauses.
37556
37557         vc-list-files: work properly in the CVS+awk case, too
37558         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
37559
37560         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
37561         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
37562         take more than one file argument, so .  Add quotes, just in case $dir
37563         ever contains a shell meta-character.  Prompted by Soren Hansen in
37564         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
37565
37566 2008-04-29  Eric Blake  <ebb9@byu.net>
37567
37568         Optimize getndelim2 to use block operations when possible.
37569         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
37570         freadseek, and memchr2.
37571         * lib/getndelim2.c (getndelim2): Use them for block reads.
37572
37573 2008-04-29  Bruno Haible  <bruno@clisp.org>
37574
37575         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
37576         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37577         * modules/inet_ntop (Depends-on): Add extensions.
37578         * modules/inet_pton (Depends-on): Likewise.
37579         Reported by Simon Josefsson.
37580
37581 2008-04-29  Jim Meyering  <meyering@redhat.com>
37582
37583         When the is more than one match in a block, match all of them.
37584         * build-aux/useless-if-before-free: Iterate through each block
37585         until there are no more matches.
37586
37587         Fix broken useless-if-before-free script.
37588         * build-aux/useless-if-before-free: Fix typo: missing "?" after
37589         the expression to match cast of argument to free-like function.
37590
37591 2008-04-29  Eric Blake  <ebb9@byu.net>
37592
37593         Use new header.
37594         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
37595
37596 2008-04-29  Jim Meyering  <meyering@redhat.com>
37597
37598         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
37599         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
37600         by gnulib to exist and to declare e.g., inet_ntop.
37601         Don't include "inet_ntop.h", now removed.
37602
37603         * m4/arpa_inet_h.m4: Remove trailing blanks.
37604
37605 2008-04-29  Eric Blake  <ebb9@byu.net>
37606
37607         Silence valgrind on safe reads beyond potential array bounds.
37608         * lib/rawmemchr.valgrind: New file.
37609         * lib/strchrnul.valgrind: Likewise.
37610         * modules/rawmemchr (Files): Distribute new file.
37611         * modules/strchrnul (Files): Likewise.
37612         Suggested by Bruno Haible.
37613
37614 2008-04-29  Bruno Haible  <bruno@clisp.org>
37615
37616         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
37617         (inet_ntop, inet_pton): Change portability warning's wording.
37618         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
37619         Invoke gl_CHECK_NEXT_HEADERS.
37620         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
37621         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
37622         set ARPA_INET_H.
37623         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37624         * modules/arpa_inet (Description): No longer only for systems that
37625         lack it.
37626         (Depends-on): Add include_next.
37627         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
37628         HAVE_ARPA_INET_H.
37629
37630 2008-04-29  Jim Meyering  <meyering@redhat.com>
37631
37632         * modules/mkdir (License): Re-license as LGPLv2+.
37633
37634 2008-04-29  Bruno Haible  <bruno@clisp.org>
37635
37636         * modules/rawmemchr (Maintainer): Set to Eric.
37637         * modules/strchrnul (Maintainer): Likewise.
37638
37639 2008-04-29  Simon Josefsson  <simon@josefsson.org>
37640
37641         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
37642         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
37643
37644         * modules/arpa_inet (arpa/inet.h): Use them.
37645
37646 2008-04-28  Eric Blake  <ebb9@byu.net>
37647
37648         Test getndelim2.
37649         * modules/getndelim2-tests: New file.
37650         * tests/test-getndelim2.c: Likewise.
37651         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
37652         stream.
37653         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
37654
37655         * MODULES.html.sh: Document new module.
37656
37657 2008-04-20  Bruno Haible  <bruno@clisp.org>
37658
37659         * lib/c-stack.c (die): Use raise.
37660         * modules/c-stack (Depends-on): Add raise.
37661
37662 2008-04-28  Bruno Haible  <bruno@clisp.org>
37663
37664         Expect rpmatch to be declared.
37665         * lib/yesno.c (rpmatch): Remove declaration.
37666
37667         Declare rpmatch.
37668         * lib/stdlib.in.h (rpmatch): New declaration.
37669         * lib/rpmatch.c: Include <stdlib.h> first.
37670         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
37671         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
37672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
37673         HAVE_RPMATCH.
37674         * modules/rpmatch (Depends-on): Add stdlib, extensions.
37675         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
37676         (Include): Set to <stdlib.h>.
37677         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
37678         HAVE_RPMATCH.
37679         * NEWS: Document the change.
37680
37681 2008-04-28  Bruno Haible  <bruno@clisp.org>
37682
37683         Change rpmatch to use nl_langinfo when appropriate.
37684         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
37685         (N_): New macro.
37686         (localized_pattern): New function/macro.
37687         (try): Remove match, nomatch arguments. Copy the pattern into safe
37688         memory before caching it.
37689         (rpmatch): Use localized_pattern. Add translator comments.
37690         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
37691         Suggested by Eric Blake.
37692         * modules/rpmatch (Depends-on): Add stdbool.
37693
37694 2008-04-28  Eric Blake  <ebb9@byu.net>
37695
37696         Add rawmemchr module, matching glibc.
37697         * modules/string (Makefile.am): New indicator.
37698         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
37699         * lib/string.in.h (rawmemchr): Declare when appropriate.
37700         * modules/rawmemchr: New file.
37701         * m4/rawmemchr.m4: Likewise.
37702         * lib/rawmemchr.c: Likewise.
37703         * modules/rawmemchr-tests: Likewise.
37704         * tests/test-rawmemchr.c: Likewise.
37705         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
37706         module.
37707         * modules/strchrnul (Depends-on): Add rawmemchr.
37708         * lib/strchrnul.c (strchrnul): Optimize a corner case.
37709
37710         Whitespace cleanup.
37711         * tests/test-strchrnul.c: Reindent.
37712         * lib/strchrnul.c: Likewise.
37713
37714         Optimize and test strchrnul.
37715         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
37716         * modules/strchrnul-tests: New file.
37717         * tests/test-strchrnul.c: Likewise.
37718
37719         Remove intprops dependency.
37720         * modules/memchr (Depends-on): Remove intprops.
37721         * modules/memrchr (Depends-on): Likewise.
37722         * modules/memchr2 (Depends-on): Likewise.
37723         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
37724         * lib/memrchr.c (__memrchr): Likewise.
37725         * lib/memrchr2.c (memchr2): Likewise.
37726         Reported by Simon Josefsson.
37727
37728 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37729
37730         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
37731         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37732
37733 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37734
37735         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
37736
37737         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
37738
37739         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
37740
37741         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
37742         declarations.
37743         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
37744
37745         * m4/inet_pton.m4: Don't check for header files.
37746
37747         * m4/inet_ntop.m4: Don't check for header files.
37748
37749 2008-04-28  Simon Josefsson  <simon@josefsson.org>
37750
37751         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
37752         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
37753         trigger for cygwin).
37754         Reported by Bruno Haible  <bruno@clisp.org>.
37755
37756 2008-04-28  Bruno Haible  <bruno@clisp.org>
37757
37758         * doc/posix-functions/strdup.texi: Mention mingw problem.
37759
37760 2008-04-27  Bruno Haible  <bruno@clisp.org>
37761
37762         * modules/stat-time-tests (Depends-on): Add sleep.
37763         * tests/test-stat-time.c (force_unlink): New function.
37764         (cleanup): Use it.
37765         (test_mtime): Remove the ctime related tests.
37766         (test_ctime): New function, containing the ctime related tests.
37767         (main): Call test_ctime, except on native Windows platforms.
37768
37769 2008-04-27  Bruno Haible  <bruno@clisp.org>
37770
37771         * lib/rpmatch.c (rpmatch): Add some comments.
37772         Reported by James Youngman <jay@gnu.org>.
37773
37774 2008-04-27  Bruno Haible  <bruno@clisp.org>
37775
37776         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
37777         quiet NaNs.
37778
37779 2008-04-27  Bruno Haible  <bruno@clisp.org>
37780
37781         Make test-yesno.sh work on mingw.
37782         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
37783         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
37784         (main): Set stdin to binary mode.
37785         * modules/yesno-tests (Depends-on): Add binary-io.
37786
37787 2008-04-27  Bruno Haible  <bruno@clisp.org>
37788
37789         Fix 'isfinite' on x86, x86_64, ia64 platforms.
37790         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
37791         argument that lie outside the IEEE 854 domain.
37792         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
37793         (gl_ISFINITE): Use it.
37794         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
37795
37796 2008-04-27  Bruno Haible  <bruno@clisp.org>
37797
37798         Allow local renaming in config.h.
37799         * lib/memrchr.c (memrchr): Don't undefine outside libc.
37800
37801 2008-04-27  Bruno Haible  <bruno@clisp.org>
37802
37803         * lib/memchr.c (__memchr): Change type of 'i'.
37804         * lib/memchr2.c (memchr2): Likewise.
37805
37806 2008-04-26  Eric Blake  <ebb9@byu.net>
37807         and Bruno Haible  <bruno@clisp.org>
37808
37809         Optimize and test memrchr.
37810         * modules/memrchr (Depends-on): Add intprops.
37811         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
37812         * modules/memrchr-tests: New file.
37813         * tests/test-memrchr.c: New file.
37814
37815 2008-04-26  Bruno Haible  <bruno@clisp.org>
37816
37817         Add tentative support for DragonFly BSD.
37818         * lib/stdio-impl.h: Add macros for DragonFly BSD.
37819         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
37820         fp.
37821         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37822         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
37823         * lib/fpurge.c (fpurge): Likewise.
37824         * lib/freadable.c (freaadable): Likewise.
37825         * lib/freadahead.c (freadahead): Likewise.
37826         * lib/freading.c (freading): Likewise.
37827         * lib/freadptr.c (freadptr): Likewise.
37828         * lib/freadseek.c (freadptrinc): Likewise.
37829         * lib/fseeko.c (fseeko): Likewise.
37830         * lib/fseterr.c (fseterr): Likewise.
37831         * lib/fwritable.c (fwritable): Likewise.
37832         * lib/fwriting.c (fwriting): Likewise.
37833
37834 2008-04-26  Bruno Haible  <bruno@clisp.org>
37835
37836         * lib/stdio-impl.h: New file.
37837         * lib/fbufmode.c: Include stdio-impl.h.
37838         (fbufmode): Use fp_, remove redundant #defines.
37839         * lib/fflush.c: Include stdio-impl.h.
37840         (clear_ungetc_buffer): Remove redundant #defines.
37841         * lib/fpurge.c: Include stdio-impl.h.
37842         (fpurge): Remove redundant #defines.
37843         * lib/freadable.c: Include stdio-impl.h.
37844         (freadable): Remove redundant #defines.
37845         * lib/freadahead.c: Include stdio-impl.h.
37846         (freadahead): Remove redundant #defines.
37847         * lib/freading.c: Include stdio-impl.h.
37848         (freading): Remove redundant #defines.
37849         * lib/freadptr.c: Include stdio-impl.h.
37850         (freadptr): Remove redundant #defines.
37851         * lib/freadseek.c: Include stdio-impl.h.
37852         (freadptrinc): Remove redundant #defines.
37853         * lib/fseeko.c: Include stdio-impl.h.
37854         (rpl_fseeko): Remove redundant #defines.
37855         * lib/fseterr.c: Include stdio-impl.h.
37856         (fseterr): Remove redundant #defines.
37857         * lib/fwritable.c: Include stdio-impl.h.
37858         (fwritable: Remove redundant #defines.
37859         * lib/fwriting.c: Include stdio-impl.h.
37860         (fwriting): Remove redundant #defines.
37861         * modules/fbufmode (Files): Add lib/stdio-impl.h.
37862         * modules/fflush (Files): Likewise.
37863         * modules/fpurge (Files): Likewise.
37864         * modules/freadable (Files): Likewise.
37865         * modules/freadahead (Files): Likewise.
37866         * modules/freading (Files): Likewise.
37867         * modules/freadptr (Files): Likewise.
37868         * modules/freadseek (Files): Likewise.
37869         * modules/fseeko (Files): Likewise.
37870         * modules/fseterr (Files): Likewise.
37871         * modules/fwritable (Files): Likewise.
37872         * modules/fwriting (Files): Likewise.
37873
37874 2008-04-26  Bruno Haible  <bruno@clisp.org>
37875
37876         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
37877         restore_seek_optimization, update_fpos_cache): New functions, extracted
37878         from rpl_fflush.
37879         (rpl_fflush): Use them.
37880         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
37881         (gl_REPLACE_FFLUSH): Use it.
37882
37883 2008-04-26  Bruno Haible  <bruno@clisp.org>
37884
37885         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
37886         on Solaris.
37887         * tests/test-xstrtoimax.sh: Likewise.
37888         * tests/test-xstrtoumax.sh: Likewise.
37889         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37890
37891 2008-04-26  Bruno Haible  <bruno@clisp.org>
37892
37893         * modules/memchr-tests: New file.
37894         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
37895
37896 2008-04-26  Eric Blake  <ebb9@byu.net>
37897             Bruno Haible  <bruno@clisp.org>
37898
37899         * lib/memchr.c: Include intprops.h.
37900         (__memchr): Optimize parallel detection of matching bytes. Rename local
37901         variables. Add explanatory comments.
37902
37903 2008-04-26  Bruno Haible  <bruno@clisp.org>
37904
37905         Fix module 'memchr', broken since 2000-10-28.
37906         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
37907
37908 2008-04-26  Bruno Haible  <bruno@clisp.org>
37909
37910         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
37911         comments.
37912
37913 2008-04-25  Eric Blake  <ebb9@byu.net>
37914
37915         Use native fstatat on cygwin 1.7.0.
37916         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
37917         first.
37918
37919 2008-04-23  Eric Blake  <ebb9@byu.net>
37920
37921         Improve memchr2 performance.
37922         * lib/memchr2.c (memchr2): Further optimize parallel detection of
37923         NUL bytes.
37924         * modules/memchr2 (Depends-on): Use intprops.h.
37925
37926 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37927
37928         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
37929         an inline function instead of a CPP macro.  Patch by Ben Pfaff
37930         <blp@cs.stanford.edu>.
37931
37932 2008-04-23  Simon Josefsson  <simon@josefsson.org>
37933
37934         * lib/arpa_inet.in.h: New file.
37935
37936         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
37937         (Makefile.am): Sed in substitute header file.
37938
37939         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
37940         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
37941
37942         * modules/inet_ntop (configure.ac): Use
37943         gl_ARPA_INET_MODULE_INDICATOR.
37944
37945         * modules/inet_pton (configure.ac): Use
37946         gl_ARPA_INET_MODULE_INDICATOR.
37947
37948 2008-04-22  Jim Meyering  <meyering@redhat.com>
37949
37950         * modules/verify (License): Re-license as LGPLv2+.
37951
37952 2008-04-22  Simon Josefsson  <simon@josefsson.org>
37953
37954         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
37955         parameter to void* as per POSIX standard (MinGW uses char*).
37956
37957 2008-04-21  Bruno Haible  <bruno@clisp.org>
37958
37959         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37960         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37961         Define to replacements if REPLACE_ISWCNTRL is 1.
37962         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
37963         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
37964         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
37965         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
37966         what it fixes.
37967         * doc/posix-functions/iswalpha.texi: Likewise.
37968         * doc/posix-functions/iswblank.texi: Likewise.
37969         * doc/posix-functions/iswcntrl.texi: Likewise.
37970         * doc/posix-functions/iswdigit.texi: Likewise.
37971         * doc/posix-functions/iswgraph.texi: Likewise.
37972         * doc/posix-functions/iswlower.texi: Likewise.
37973         * doc/posix-functions/iswprint.texi: Likewise.
37974         * doc/posix-functions/iswpunct.texi: Likewise.
37975         * doc/posix-functions/iswspace.texi: Likewise.
37976         * doc/posix-functions/iswupper.texi: Likewise.
37977         * doc/posix-functions/iswxdigit.texi: Likewise.
37978         Reported by Alain Guibert.
37979
37980 2008-04-21  Bruno Haible  <bruno@clisp.org>
37981
37982         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
37983         Patch by Alain Guibert.
37984
37985 2008-04-21  Bruno Haible  <bruno@clisp.org>
37986
37987         Fix test failures on mingw.
37988         * tests/test-xstrtol.c (print_no_progname): New function.
37989         (main): Install it in error_print_progname hook.
37990         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
37991         * tests/test-xstrtoimax.sh: Likewise.
37992         * tests/test-xstrtoumax.sh: Likewise.
37993
37994 2008-04-21  Bruno Haible  <bruno@clisp.org>
37995
37996         Fix test failure on mingw.
37997         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
37998
37999 2008-04-21  Bruno Haible  <bruno@clisp.org>
38000
38001         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
38002         Actually assign a value.
38003
38004 2008-04-20  Bruno Haible  <bruno@clisp.org>
38005
38006         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
38007         take 2.
38008         * lib/canonicalize.c (canonicalize_file_name): Elide if the
38009         'canonicalize-lgpl' module is also used.
38010         * lib/canonicalize-lgpl.c: Undo last change.
38011         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
38012
38013 2008-04-20  Bruno Haible  <bruno@clisp.org>
38014
38015         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
38016         config.h. Provide _mkdir based fallback for mingw.
38017         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
38018         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
38019         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
38020         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
38021         rather than defining mkdir in config.h.
38022         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
38023         (gl_SYS_STAT_H_DEFAULTS): New macro.
38024         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
38025         HAVE_IO_H any more.
38026         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
38027         HAVE_DECL_MKDIR and HAVE_IO_H.
38028
38029 2008-04-20  Bruno Haible  <bruno@clisp.org>
38030
38031         * lib/isapipe.c: Port to native Windows platforms.
38032
38033 2008-04-20  Bruno Haible  <bruno@clisp.org>
38034
38035         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
38036
38037 2008-04-21  Eric Blake  <ebb9@byu.net>
38038
38039         Work around preprocessors that don't handle UINTMAX_MAX.
38040         * lib/memchr2.c (memchr2): Avoid embedded #if.
38041         Reported by Alain Guibert, fix suggested by Bruno Haible.
38042
38043 2008-04-21  Simon Josefsson  <simon@josefsson.org>
38044
38045         * doc/posix-functions/strftime.texi (strftime): Explain better
38046         Windows incompatibility.  Suggested by Micah Cowan
38047         <micah@cowan.name>.
38048
38049 2008-04-20  Bruno Haible  <bruno@clisp.org>
38050
38051         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
38052         unistr/u8-mblen.
38053
38054 2008-04-20  Bruno Haible  <bruno@clisp.org>
38055
38056         Fix test failure on platforms with non-GNU iconv.
38057         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
38058         (U_TO_U8): Use it, rather than u16_to_u8.
38059         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
38060         units at the end of the input string.
38061         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
38062
38063 2008-04-20  Bruno Haible  <bruno@clisp.org>
38064
38065         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
38066         when the resulting length is 0.
38067         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
38068
38069 2008-04-20  Bruno Haible  <bruno@clisp.org>
38070
38071         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
38072         works.
38073         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
38074
38075 2008-04-20  Bruno Haible  <bruno@clisp.org>
38076
38077         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
38078         * modules/tsearch-tests (configure.ac): Test for initstate function.
38079
38080 2008-04-20  Bruno Haible  <bruno@clisp.org>
38081
38082         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
38083         for nlink_t if missing.
38084         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
38085
38086 2008-04-19  Bruno Haible  <bruno@clisp.org>
38087
38088         Work around snprintf bug on Linux libc5.
38089         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
38090         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
38091         gl_SNPRINTF_SIZE1.
38092         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38093         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
38094         that test failed.
38095         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
38096         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
38097         * modules/snprintf (Files): Add m4/printf.m4.
38098         * modules/vsnprintf (Files): Likewise.
38099         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
38100         * doc/posix-functions/vsnprintf.texi: Likewise.
38101
38102 2008-04-19  Bruno Haible  <bruno@clisp.org>
38103
38104         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
38105         from 0.0058 to less than 10^-7.
38106
38107 2008-04-19  Bruno Haible  <bruno@clisp.org>
38108
38109         Fix rounding when a precision is given.
38110         * lib/vasnprintf.c (is_borderline): New function.
38111         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
38112         9...9x.
38113         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
38114         %e, %g.
38115         * tests/test-vasprintf-posix.c (test_function): Likewise.
38116         * tests/test-snprintf-posix.h (test_function): Likewise.
38117         * tests/test-sprintf-posix.h (test_function): Likewise.
38118         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
38119         * tests/test-printf-posix.h (test_function): Likewise.
38120         * tests/test-printf-posix.output: Update.
38121         Reported by John Darrington <john@darrington.wattle.id.au> via
38122         Ben Pfaff <blp@cs.stanford.edu>.
38123
38124 2008-04-18  Simon Josefsson  <simon@josefsson.org>
38125
38126         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
38127         Suggested by Bruno Haible <bruno@clisp.org>.
38128
38129 2008-04-17  Bruno Haible  <bruno@clisp.org>
38130
38131         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
38132         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
38133         implementation.
38134         Patch by Bruce Merry <bmerry@gmail.com>.
38135
38136 2008-04-17  Simon Josefsson  <simon@josefsson.org>
38137
38138         * doc/posix-functions/strftime.texi (strftime): Mention that %e
38139         doesn't work under Windows.
38140
38141 2008-04-16  Bruno Haible  <bruno@clisp.org>
38142
38143         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
38144         New macros.
38145         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
38146         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
38147         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
38148         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
38149         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
38150         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
38151         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
38152         macros.
38153         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
38154         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
38155         Northern Sotho, Uighur.
38156
38157 2008-04-16  Bruno Haible  <bruno@clisp.org>
38158
38159         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
38160         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
38161         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
38162         Reported by Daniel Bergström <daniel@octocode.com>.
38163
38164 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
38165             Bruno Haible  <bruno@clisp.org>
38166
38167         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
38168         function.
38169         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
38170         New functions, mostly extracted from gl_locale_name_default.
38171         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
38172
38173 2008-04-16  Eric Blake  <ebb9@byu.net>
38174
38175         Adjust strtod detection to catch glibc 2.7 bug.
38176         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
38177         Reported by John Gatewood Ham.
38178
38179 2008-04-16  Bruno Haible  <bruno@clisp.org>
38180
38181         Add tentative support for Linux libc5.
38182         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
38183         * lib/fpurge.c (fpurge): Likewise.
38184         * lib/freadable.c (freadable): Likewise.
38185         * lib/freadahead.c (freadahead): Likewise.
38186         * lib/freading.c (freading): Likewise.
38187         * lib/freadptr.c (freadptr): Likewise.
38188         * lib/freadseek.c (freadptrinc): Likewise.
38189         * lib/fseeko.c (rpl_fseeko): Likewise.
38190         * lib/fseterr.c (fseterr): Likewise.
38191         * lib/fwritable.c (fwritable): Likewise.
38192         * lib/fwriting.c (fwriting): Likewise.
38193         Reported by Alain Guibert <alguibert+bts@free.fr>.
38194
38195 2008-04-15  Bruno Haible  <bruno@clisp.org>
38196
38197         * modules/mathl (configure.ac): Define module indicator.
38198
38199 2008-04-15  Bruno Haible  <bruno@clisp.org>
38200
38201         * lib/logl.c (logl): Remove unused variables.
38202
38203 2008-04-15  Bruno Haible  <bruno@clisp.org>
38204
38205         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
38206         fails.
38207
38208 2008-04-15  Bruno Haible  <bruno@clisp.org>
38209
38210         * lib/trim.c (trim2): Fix argument of isspace() macro.
38211
38212 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
38213
38214         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
38215         to 0.
38216         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
38217
38218 2008-04-14  Bruno Haible  <bruno@clisp.org>
38219
38220         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
38221         AC_LANG_PROGRAM argument.
38222         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
38223         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
38224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
38225         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38226         * m4/math_h.m4 (gl_MATH_H): Likewise.
38227         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
38228         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38229         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
38230         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
38231         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
38232         * m4/regex.m4 (gl_REGEX): Likewise.
38233         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
38234         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
38235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38236         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
38237         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38238         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38239         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38240         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38241
38242 2008-04-14  Jim Meyering  <meyering@redhat.com>
38243
38244         test-strtod: fix typos: s/abs/fabs/
38245         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
38246
38247 2008-04-13  Bruno Haible  <bruno@clisp.org>
38248
38249         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
38250         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
38251         module is also used and while not building the reloc-wrapper.
38252
38253 2008-04-13  Bruno Haible  <bruno@clisp.org>
38254
38255         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
38256
38257 2008-04-13  Bruno Haible  <bruno@clisp.org>
38258
38259         Fix AIX compilation failure introduced on 2008-04-02.
38260         * tests/test-frexp.c (exp): Undefine before redefining.
38261         * tests/test-frexpl.c (exp): Likewise.
38262
38263 2008-04-13  Bruno Haible  <bruno@clisp.org>
38264
38265         Work around a HP-UX stdio bug.
38266         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
38267         * tests/test-ftello.c (main): Likewise.
38268         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
38269         * doc/posix-functions/ftello.texi: Likewise.
38270
38271 2008-04-13  Bruno Haible  <bruno@clisp.org>
38272
38273         Make test-signbit pass on HP-UX/hppa.
38274         * tests/test-signbit.c (minus_zerol): New variable.
38275         (test_signbitl): Use it.
38276
38277 2008-04-13  Bruno Haible  <bruno@clisp.org>
38278
38279         Make truncl work on OSF/1 4.0.
38280         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
38281         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38282         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
38283         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
38284         HAVE_DECL_TRUNCL.
38285         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
38286         HAVE_DECL_TRUNCL.
38287         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
38288
38289 2008-04-13  Bruno Haible  <bruno@clisp.org>
38290
38291         * lib/unictype.h: Remove trailing comma from enumeration definitions.
38292
38293 2008-04-13  Bruno Haible  <bruno@clisp.org>
38294
38295         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
38296         expression, so as to avoid HP-UX 11 cc compiler bug.
38297
38298 2008-04-13  Bruno Haible  <bruno@clisp.org>
38299
38300         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
38301
38302 2008-04-13  Bruno Haible  <bruno@clisp.org>
38303
38304         * lib/git-merge-changelog.c: Remove empty declaration outside of
38305         functions.
38306
38307 2008-04-13  Bruno Haible  <bruno@clisp.org>
38308
38309         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
38310
38311 2008-04-13  Bruno Haible  <bruno@clisp.org>
38312
38313         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
38314         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
38315         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
38316         also if it exists but lacks definitions of the SHUT_* macros.
38317         * modules/sys_socket (Description): Update.
38318         Reported by Elbert Pol <e.pol@chello.nl>.
38319
38320 2008-04-13  Bruno Haible  <bruno@clisp.org>
38321
38322         * lib/localcharset.c (OS2): Don't redefine if already defined.
38323         Reported by Elbert Pol <e.pol@chello.nl>.
38324
38325 2008-04-13  Bruno Haible  <bruno@clisp.org>
38326
38327         * lib/binary-io.h [__EMX__]: Include <io.h>.
38328         Reported by Elbert Pol <e.pol@chello.nl>.
38329
38330 2008-04-12  Bruno Haible  <bruno@clisp.org>
38331
38332         * lib/fpucw.h: Enable the definitions also for x86_64.
38333         Needed for NetBSD/x86_64.
38334         Reported by Thomas Klausner <tk@giga.or.at>.
38335
38336 2008-04-12  Bruno Haible  <bruno@clisp.org>
38337
38338         * tests/test-strtod.c: Include isnand.h.
38339         (main): Use isnand instead of isnan.
38340         Reported by Jim Meyering.
38341
38342 2008-04-12  Bruno Haible  <bruno@clisp.org>
38343
38344         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
38345         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38346
38347 2008-04-12  Jim Meyering  <meyering@redhat.com>
38348
38349         * m4/math_h.m4 (gl_MATH_H): Fix typos.
38350
38351 2008-04-12  Bruno Haible  <bruno@clisp.org>
38352
38353         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
38354         Reported by Elbert Pol <e.pol@chello.nl>.
38355
38356 2008-04-12  Eric Blake  <ebb9@byu.net>
38357
38358         Work around Solaris 10 math.h bug.
38359         * m4/math_h.m4 (gl_MATH_H): Check for bug.
38360         (gl_MATH_H_DEFAULTS): Set up default.
38361         * modules/math (Makefile.am): Replace new indicators.
38362         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
38363         * tests/test-math.c (main): Test this.
38364         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
38365         * doc/posix-headers/math.texi (math.h): Mention bug.
38366         Reported by Nelson H. F. Beebe and Jim Meyering.
38367
38368 2008-04-11  Bruno Haible  <bruno@clisp.org>
38369
38370         Adapt to future versions of Apple GCC.
38371         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
38372         Reported by Peter O'Gorman <peter@pogma.com>.
38373
38374 2008-04-11  Bruno Haible  <bruno@clisp.org>
38375
38376         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
38377
38378 2008-04-11  Bruno Haible  <bruno@clisp.org>
38379
38380         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
38381
38382         * modules/getaddrinfo-tests (Makefile.am): Define
38383         test_getaddrinfo_LDADD.
38384
38385 2008-04-11  Bruno Haible  <bruno@clisp.org>
38386
38387         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
38388         (init): Fix syntax error.
38389         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
38390         is declared.
38391
38392 2008-04-11  Bruno Haible  <bruno@clisp.org>
38393
38394         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
38395         * modules/glob (Depends-on): Add stdbool.
38396
38397 2008-04-11  Bruno Haible  <bruno@clisp.org>
38398
38399         * lib/trim.c: Include <string.h>.
38400
38401 2008-04-11  Eric Blake  <ebb9@byu.net>
38402
38403         Avoid compile failure on OS/2.
38404         * lib/regex_internal.h (internal_function): Disable optimization
38405         on OS/2 (__EMX__), where it caused compiler error.
38406         Reported by Elbert Pol.
38407
38408 2008-04-11  Bruno Haible  <bruno@clisp.org>
38409
38410         Flush the standard error stream before aborting. Needed on mingw.
38411         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
38412         * tests/test-array_list.c (ASSERT): Likewise.
38413         * tests/test-array_oset.c (ASSERT): Likewise.
38414         * tests/test-avltree_list.c (ASSERT): Likewise.
38415         * tests/test-avltree_oset.c (ASSERT): Likewise.
38416         * tests/test-avltreehash_list.c (ASSERT): Likewise.
38417         * tests/test-binary-io.c (ASSERT): Likewise.
38418         * tests/test-byteswap.c (ASSERT): Likewise.
38419         * tests/test-c-ctype.c (ASSERT): Likewise.
38420         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
38421         * tests/test-c-strcasestr.c (ASSERT): Likewise.
38422         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
38423         * tests/test-c-strstr.c (ASSERT): Likewise.
38424         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
38425         * tests/test-canonicalize.c (ASSERT): Likewise.
38426         * tests/test-carray_list.c (ASSERT): Likewise.
38427         * tests/test-ceilf1.c (ASSERT): Likewise.
38428         * tests/test-ceilf2.c (ASSERT): Likewise.
38429         * tests/test-ceill.c (ASSERT): Likewise.
38430         * tests/test-count-one-bits.c (ASSERT): Likewise.
38431         * tests/test-fbufmode.c (ASSERT): Likewise.
38432         * tests/test-fflush2.c (ASSERT): Likewise.
38433         * tests/test-floorf1.c (ASSERT): Likewise.
38434         * tests/test-floorf2.c (ASSERT): Likewise.
38435         * tests/test-floorl.c (ASSERT): Likewise.
38436         * tests/test-fopen.c (ASSERT): Likewise.
38437         * tests/test-fpending.c (ASSERT): Likewise.
38438         * tests/test-fprintf-posix.c (ASSERT): Likewise.
38439         * tests/test-fpurge.c (ASSERT): Likewise.
38440         * tests/test-freadable.c (ASSERT): Likewise.
38441         * tests/test-freadahead.c (ASSERT): Likewise.
38442         * tests/test-freading.c (ASSERT): Likewise.
38443         * tests/test-freadptr.c (ASSERT): Likewise.
38444         * tests/test-freadptr2.c (ASSERT): Likewise.
38445         * tests/test-freadseek.c (ASSERT): Likewise.
38446         * tests/test-freopen.c (ASSERT): Likewise.
38447         * tests/test-frexp.c (ASSERT): Likewise.
38448         * tests/test-frexpl.c (ASSERT): Likewise.
38449         * tests/test-fseek.c (ASSERT): Likewise.
38450         * tests/test-fseeko.c (ASSERT): Likewise.
38451         * tests/test-fstrcmp.c (ASSERT): Likewise.
38452         * tests/test-ftell.c (ASSERT): Likewise.
38453         * tests/test-ftello.c (ASSERT): Likewise.
38454         * tests/test-func.c (ASSERT): Likewise.
38455         * tests/test-fwritable.c (ASSERT): Likewise.
38456         * tests/test-fwriting.c (ASSERT): Likewise.
38457         * tests/test-getdelim.c (ASSERT): Likewise.
38458         * tests/test-getline.c (ASSERT): Likewise.
38459         * tests/test-i-ring.c (ASSERT): Likewise.
38460         * tests/test-iconv-utf.c (ASSERT): Likewise.
38461         * tests/test-iconv.c (ASSERT): Likewise.
38462         * tests/test-isfinite.c (ASSERT): Likewise.
38463         * tests/test-isnand.c (ASSERT): Likewise.
38464         * tests/test-isnanf.c (ASSERT): Likewise.
38465         * tests/test-isnanl.h (ASSERT): Likewise.
38466         * tests/test-ldexpl.c (ASSERT): Likewise.
38467         * tests/test-linked_list.c (ASSERT): Likewise.
38468         * tests/test-linkedhash_list.c (ASSERT): Likewise.
38469         * tests/test-localename.c (ASSERT): Likewise.
38470         * tests/test-lseek.c (ASSERT): Likewise.
38471         * tests/test-mbscasecmp.c (ASSERT): Likewise.
38472         * tests/test-mbscasestr1.c (ASSERT): Likewise.
38473         * tests/test-mbscasestr2.c (ASSERT): Likewise.
38474         * tests/test-mbscasestr3.c (ASSERT): Likewise.
38475         * tests/test-mbscasestr4.c (ASSERT): Likewise.
38476         * tests/test-mbschr.c (ASSERT): Likewise.
38477         * tests/test-mbscspn.c (ASSERT): Likewise.
38478         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
38479         * tests/test-mbspbrk.c (ASSERT): Likewise.
38480         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
38481         * tests/test-mbsrchr.c (ASSERT): Likewise.
38482         * tests/test-mbsspn.c (ASSERT): Likewise.
38483         * tests/test-mbsstr1.c (ASSERT): Likewise.
38484         * tests/test-mbsstr2.c (ASSERT): Likewise.
38485         * tests/test-mbsstr3.c (ASSERT): Likewise.
38486         * tests/test-memchr2.c (ASSERT): Likewise.
38487         * tests/test-memmem.c (ASSERT): Likewise.
38488         * tests/test-open.c (ASSERT): Likewise.
38489         * tests/test-printf-frexp.c (ASSERT): Likewise.
38490         * tests/test-printf-frexpl.c (ASSERT): Likewise.
38491         * tests/test-printf-posix.c (ASSERT): Likewise.
38492         * tests/test-quotearg.c (ASSERT): Likewise.
38493         * tests/test-rbtree_list.c (ASSERT): Likewise.
38494         * tests/test-rbtree_oset.c (ASSERT): Likewise.
38495         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
38496         * tests/test-round1.c (ASSERT): Likewise.
38497         * tests/test-roundf1.c (ASSERT): Likewise.
38498         * tests/test-roundl.c (ASSERT): Likewise.
38499         * tests/test-signbit.c (ASSERT): Likewise.
38500         * tests/test-sleep.c (ASSERT): Likewise.
38501         * tests/test-snprintf-posix.c (ASSERT): Likewise.
38502         * tests/test-snprintf.c (ASSERT): Likewise.
38503         * tests/test-sprintf-posix.c (ASSERT): Likewise.
38504         * tests/test-stat-time.c (ASSERT): Likewise.
38505         * tests/test-strcasestr.c (ASSERT): Likewise.
38506         * tests/test-strerror.c (ASSERT): Likewise.
38507         * tests/test-striconv.c (ASSERT): Likewise.
38508         * tests/test-striconveh.c (ASSERT): Likewise.
38509         * tests/test-striconveha.c (ASSERT): Likewise.
38510         * tests/test-strsignal.c (ASSERT): Likewise.
38511         * tests/test-strstr.c (ASSERT): Likewise.
38512         * tests/test-strtod.c (ASSERT): Likewise.
38513         * tests/test-trunc1.c (ASSERT): Likewise.
38514         * tests/test-trunc2.c (ASSERT): Likewise.
38515         * tests/test-truncf1.c (ASSERT): Likewise.
38516         * tests/test-truncf2.c (ASSERT): Likewise.
38517         * tests/test-truncl.c (ASSERT): Likewise.
38518         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
38519         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
38520         * tests/test-vasnprintf.c (ASSERT): Likewise.
38521         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
38522         * tests/test-vasprintf.c (ASSERT): Likewise.
38523         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
38524         * tests/test-vprintf-posix.c (ASSERT): Likewise.
38525         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
38526         * tests/test-vsnprintf.c (ASSERT): Likewise.
38527         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
38528         * tests/test-wcwidth.c (ASSERT): Likewise.
38529         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
38530         * tests/test-xprintf-posix.c (ASSERT): Likewise.
38531         * tests/test-xvasprintf.c (ASSERT): Likewise.
38532         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
38533         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
38534         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
38535         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
38536         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
38537         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
38538         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
38539         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
38540         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
38541         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
38542         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
38543         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
38544         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
38545         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
38546         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
38547         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
38548         * tests/unictype/test-block_list.c (ASSERT): Likewise.
38549         * tests/unictype/test-block_of.c (ASSERT): Likewise.
38550         * tests/unictype/test-block_test.c (ASSERT): Likewise.
38551         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
38552         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
38553         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
38554         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
38555         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
38556         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
38557         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
38558         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
38559         * tests/unictype/test-combining.c (ASSERT): Likewise.
38560         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
38561         * tests/unictype/test-digit.c (ASSERT): Likewise.
38562         * tests/unictype/test-mirror.c (ASSERT): Likewise.
38563         * tests/unictype/test-numeric.c (ASSERT): Likewise.
38564         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
38565         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
38566         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
38567         * tests/unictype/test-scripts.c (ASSERT): Likewise.
38568         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
38569         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
38570         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
38571         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
38572         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
38573         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
38574         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
38575         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
38576         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
38577         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
38578         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
38579         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
38580         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
38581         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
38582         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
38583         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
38584         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
38585         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
38586         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
38587         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
38588         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
38589         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
38590         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
38591         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
38592         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
38593         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
38594         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
38595         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
38596         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
38597         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
38598         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
38599         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
38600         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
38601         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
38602         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
38603         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
38604         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
38605         Reported by Eric Blake.
38606
38607 2008-04-11  Bruno Haible  <bruno@clisp.org>
38608
38609         * lib/wchar.in.h: Tweak comment.
38610
38611 2008-04-11  Bruno Haible  <bruno@clisp.org>
38612
38613         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
38614         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
38615         gl_COMMON.
38616         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
38617
38618 2008-04-11  Bruno Haible  <bruno@clisp.org>
38619
38620         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
38621
38622 2008-04-11  Simon Josefsson  <simon@josefsson.org>
38623
38624         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
38625         of attempting to use non-existing /dev/*random.  Based on patch
38626         from Adam Strzelecki <ono@java.pl> in
38627         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
38628
38629 2008-04-08  Bruno Haible  <bruno@clisp.org>
38630
38631         Add tentative support for emx+gcc.
38632         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
38633         * lib/fpurge.c (fpurge): Likewise.
38634         * lib/freadable.c (freadable): Likewise.
38635         * lib/freadahead.c (freadahead): Likewise.
38636         * lib/freading.c (freading): Likewise.
38637         * lib/freadptr.c (freadptr): Likewise.
38638         * lib/freadseek.c (freadptrinc): Likewise.
38639         * lib/fseeko.c (rpl_fseeko): Likewise.
38640         * lib/fseterr.c (fseterr): Likewise.
38641         * lib/fwritable.c (fwritable): Likewise.
38642         * lib/fwriting.c (fwriting): Likewise.
38643         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
38644
38645 2008-04-09  Eric Blake  <ebb9@byu.net>
38646
38647         Avoid some autoconf warnings.
38648         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
38649         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
38650         * m4/afs.m4 (gl_AFS): Likewise.
38651         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
38652         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
38653         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38654         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
38655         (gl_INTEGER_TYPE_SUFFIX): Likewise.
38656         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
38657         (AC_CHECK_DECLS_ONCE): Likewise.
38658         Rename file...
38659         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
38660         gnulib-tool requires autoconf 2.59 or better.
38661         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
38662
38663 2008-04-08  Eric Blake  <ebb9@byu.net>
38664
38665         Use 'git describe --match' if present (added in git 1.5.5).
38666         * build-aux/git-version-gen: Limit result to tags that match 'v*'
38667         if possible.
38668
38669 2008-04-08  Bruno Haible  <bruno@clisp.org>
38670
38671         Add tentative support for OpenServer.
38672         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
38673         _ptr, _cnt.
38674         * lib/fpurge.c (fpurge): Likewise.
38675         * lib/freadable.c (freadable): Likewise.
38676         * lib/freadahead.c (freadahead): Likewise.
38677         * lib/freading.c (freading): Likewise.
38678         * lib/freadptr.c (freadptr): Likewise.
38679         * lib/freadseek.c (freadptrinc): Likewise.
38680         * lib/fseeko.c (rpl_fseeko): Likewise.
38681         * lib/fseterr.c (fseterr): Likewise.
38682         * lib/fwritable.c (fwritable): Likewise.
38683         * lib/fwriting.c (fwriting): Likewise.
38684         Reported by Roger Cornelius <rac@tenzing.org> and
38685         Brian K. White <brian@aljex.com>.
38686
38687 2008-04-06  Jim Meyering  <meyering@redhat.com>
38688
38689         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
38690
38691 2008-04-06  Bruno Haible  <bruno@clisp.org>
38692
38693         Avoid possible error with non-ASCII bytes in UTF-8 locales.
38694         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
38695         * tests/test-printf-posix.sh: Likewise.
38696         * tests/test-vfprintf-posix.sh: Likewise.
38697         * tests/test-vprintf-posix.sh: Likewise.
38698         * tests/test-xprintf-posix.sh: Likewise.
38699
38700 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38701
38702         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
38703         hide error from 'ls', needed on OS/2.
38704         Report by Elbert Pol <elbert.pol@gmail.com>.
38705
38706 2008-04-04  Eric Blake  <ebb9@byu.net>
38707
38708         Make test-fseeko.c failures meaningful.
38709         * tests/test-fseeko.c: Print line number on failure.
38710         * tests/test-fseek.c: Likewise.
38711         Reported by Nelson H. F. Beebe.
38712
38713         Improve strtod bug detection check.
38714         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
38715         required for Solaris 10.
38716         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
38717
38718 2008-04-04  Bruno Haible  <bruno@clisp.org>
38719
38720         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
38721         by m4/setenv.m4.
38722
38723 2008-04-03  Eric Blake  <ebb9@byu.net>
38724
38725         Ensure sane .version contents.
38726         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
38727         version string.
38728         * build-aux/git-version-gen: Improve documentation.
38729
38730         Make GNU make output nicer.
38731         * top/GNUmakefile [!_have-Makefile]: Add dependency on
38732         MAKECMDGOALS to enforce message for all command line targets.  Set
38733         srcdir for use in maint.mk.
38734
38735         Another maintainer tweak.
38736         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
38737         a target that regenerates version.
38738
38739 2008-04-03  Jim Meyering  <meyering@redhat.com>
38740
38741         vc-list-files: don't cause coreutils "make po-check" failure
38742         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
38743
38744 2008-04-03  Eric Blake  <ebb9@byu.net>
38745
38746         Allow VPATH usage of vc-list-files.
38747         * build-aux/vc-list-files (scriptversion): Add timestamp.
38748         (options): Add --help, --version, -C.
38749         (CVS): Support installed cvsu.
38750
38751 2008-04-02  Bruno Haible  <bruno@clisp.org>
38752
38753         Avoid some "statement with no effect" warnings from gcc.
38754         * tests/test-wctype.c (main): Explicitly ignore unused values.
38755         Reported by Jim Meyering.
38756
38757 2008-04-02  Jim Meyering  <meyering@redhat.com>
38758
38759         Avoid some warnings from "gcc -Wshadow".
38760         * tests/test-frexp.c (exp): Define to a different identifier.
38761         * tests/test-frexpl.c (exp): Likewise.
38762
38763 2008-04-03  Jim Meyering  <meyering@redhat.com>
38764
38765         bootstrap: remove dangling *.[ch] symlinks from lib
38766         * build-aux/bootstrap [dangling symlink removal]: Move find's
38767         -depth option to precede all others, to avoid a warning.
38768         Remove *.[ch] files too, and from "$source_base" (usually lib/).
38769
38770 2008-04-02  Bruno Haible  <bruno@clisp.org>
38771
38772         Avoid some warnings from "gcc -Wshadow".
38773         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
38774         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
38775         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
38776         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
38777         Reported by Jim Meyering.
38778
38779 2008-04-01  Bruno Haible  <bruno@clisp.org>
38780
38781         Fix test to work on IRIX 6.5 with cc.
38782         * tests/test-math.c (numeric_equal): New function.
38783         (main): Use it.
38784
38785 2008-04-01  Bruno Haible  <bruno@clisp.org>
38786
38787         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
38788
38789 2008-04-01  Bruno Haible  <bruno@clisp.org>
38790
38791         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
38792         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38793         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
38794         (Depends-on): Remove math.
38795
38796         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
38797         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38798         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
38799         (Depends-on): Remove math.
38800
38801         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
38802         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38803         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
38804         (Depends-on): Remove math.
38805         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
38806         (Depends-on): Remove math.
38807
38808         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
38809         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
38810         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
38811         (Depends-on): Remove math.
38812         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
38813         (Depends-on): Remove math.
38814
38815         * tests/test-round1.c: Include nan.h.
38816         (main): Use NaNd instead of NAN.
38817         * modules/round-tests (Files): Add tests/nan.h.
38818
38819         * tests/test-trunc1.c: Include nan.h.
38820         (main): Use NaNd instead of NAN.
38821         * modules/trunc-tests (Files): Add tests/nan.h.
38822
38823         * tests/test-roundf1.c: Include nan.h.
38824         (main): Use NaNf instead of NAN.
38825         * modules/roundf-tests (Files): Add tests/nan.h.
38826
38827         * tests/test-truncf1.c: Include nan.h.
38828         (main): Use NaNf instead of NAN.
38829         * modules/truncf-tests (Files): Add tests/nan.h.
38830
38831         * tests/test-ceilf1.c: Include nan.h.
38832         (main): Use NaNf instead of NAN.
38833         * modules/ceilf-tests (Files): Add tests/nan.h.
38834
38835         * tests/test-floorf1.c: Include nan.h.
38836         (main): Use NaNf instead of NAN.
38837         * modules/floorf-tests (Files): Add tests/nan.h.
38838
38839         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
38840         (main): Use NaNf instead of NAN.
38841         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
38842
38843         * tests/test-isnand.c: Include nan.h instead of <math.h>.
38844         (main): Use NaNd instead of NAN.
38845         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
38846
38847         * tests/test-frexp.c: Include nan.h.
38848         (main): Use NaNd instead of NAN.
38849         * modules/frexp-tests (Files): Add tests/nan.h.
38850
38851         * lib/isnan.c: Don't include <math.h>.
38852         (FUNC): Don't use NAN macro.
38853         * modules/isnand-nolibm (Depends-on): Remove math.
38854         * modules/isnanf-nolibm (Depends-on): Remove math.
38855         * modules/isnanl (Depends-on): Remove math.
38856         * modules/isnanl-nolibm (Depends-on): Remove math.
38857
38858         * tests/nan.h: New file.
38859
38860 2008-04-01  Eric Blake  <ebb9@byu.net>
38861
38862         Fix typos.
38863         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
38864         values to be the right type.
38865
38866         For now, cater to gnulib strtod inaccuracies.
38867         * tests/test-strtod.c (main): Allow 1-ulp error on expected
38868         fractional results.  While not as nice from a QoI perspective, it
38869         is a quicker patch than correctly implementing decimal to binary
38870         rounding.
38871
38872 2008-03-31  Eric Blake  <ebb9@byu.net>
38873
38874         Guarantee a definition of NAN.
38875         * lib/math.in.h (NAN): Define if missing.
38876         * tests/test-math.c (main): Test it.
38877         * doc/posix-headers/math.texi (math.h): Document this.
38878         * lib/isnan.c (rpl_isnand): Use it.
38879         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
38880         * tests/test-floorf1.c (NaN): Likewise.
38881         * tests/test-frexp.c (NaN): Likewise.
38882         * tests/test-isnand.c (NaN): Likewise.
38883         * tests/test-isnanf.c (NaN): Likewise.
38884         * tests/test-round1.c (NaN): Likewise.
38885         * tests/test-roundf1.c (NaN): Likewise.
38886         * tests/test-snprintf-posix.h (NaN): Likewise.
38887         * tests/test-sprintf-posix.h (NaN): Likewise.
38888         * tests/test-trunc1.c (NaN): Likewise.
38889         * tests/test-truncf1.c (NaN): Likewise.
38890         * tests/test-vasnprintf-posix.c (NaN): Likewise.
38891         * tests/test-vasprintf-posix.c (NaN): Likewise.
38892         * modules/isnand-nolibm (Depends-on): Add math.
38893         * modules/isnanf-nolibm (Depends-on): Likewise.
38894         * modules/isnanl (Depends-on): Likewise.
38895         * modules/isnanl-nolibm (Depends-on): Likewise.
38896         * modules/snprintf-posix-tests (Depends-on): Likewise.
38897         * modules/sprintf-posix-tests (Depends-on): Likewise.
38898         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
38899         * modules/vsprintf-posix-tests (Depends-on): Likewise.
38900         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
38901         * modules/vasprintf-posix-tests (Depends-on): Likewise.
38902
38903 2008-03-31  Bruno Haible  <bruno@clisp.org>
38904
38905         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
38906         * doc/posix-functions/strtod.texi: Likewise.
38907
38908 2008-03-31  Bruno Haible  <bruno@clisp.org>
38909
38910         * tests/test-strtod.c (main): Don't use C99 syntax.
38911
38912 2008-03-31  Bruno Haible  <bruno@clisp.org>
38913
38914         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
38915         Reported by Eric Blake.
38916
38917 2008-03-31  Jim Meyering  <meyering@redhat.com>
38918
38919         Don't compare actual signbit return values.
38920         * tests/test-strtod.c (main): Rather, compare only their
38921         zero/non-zero nature.
38922
38923 2008-03-31  Eric Blake  <ebb9@byu.net>
38924
38925         More strtod documentation.
38926         * doc/posix-functions/strtod.texi (strtod): Interpret more test
38927         failures as distinct bugs.
38928
38929 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
38930
38931         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
38932         Problem reported by Erik Benada in
38933         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
38934
38935 2008-03-30  Bruno Haible  <bruno@clisp.org>
38936
38937         * tests/test-strtod.c: Add comments about which assertion fails on which
38938         platform.
38939         * doc/posix-functions/strtod.texi: Add info about many more platforms.
38940
38941 2008-03-30  Eric Blake  <ebb9@byu.net>
38942
38943         Test signbit behavior on zeros.
38944         * tests/test-signbit.c (test_signbitf): Add tests for zero.
38945         (test_signbitd, test_signbitl): Likewise.
38946
38947         More strtod touchups.
38948         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
38949         sign of negative underflow, for now.  Use .5, not .1.
38950         * doc/posix-functions/strtod.texi (strtod): Mention these
38951         limitations.
38952         Reported by Jim Meyering.
38953
38954 2008-03-30  Bruno Haible  <bruno@clisp.org>
38955
38956         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
38957         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
38958
38959 2008-03-30  Bruno Haible  <bruno@clisp.org>
38960
38961         Avoid failure when attempting to return empty iconv results on some
38962         platforms.
38963         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
38964         allocation, don't report ENOMEM when the resulting string is empty.
38965
38966 2008-03-30  Bruno Haible  <bruno@clisp.org>
38967
38968         Fix buffer overrun.
38969         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
38970         Don't consider the width for tmp_length. Check count against tmp_length
38971         before doing the padding. Ensure enough allocation during padding.
38972
38973 2008-03-30  Eric Blake  <ebb9@byu.net>
38974
38975         strtod touchups.
38976         * lib/strtod.c (strtod): Avoid compiler warnings.
38977         Reported by Jim Meyering.
38978
38979 2008-03-30  Bruno Haible  <bruno@clisp.org>
38980
38981         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
38982         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
38983         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
38984         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
38985         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
38986         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
38987         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
38988         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
38989
38990         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
38991         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
38992         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
38993         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
38994         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
38995         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
38996         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
38997         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
38998
38999         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
39000         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
39001         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
39002         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
39003         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
39004         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
39005         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
39006         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
39007
39008         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
39009         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
39010
39011         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
39012         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
39013
39014         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
39015         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
39016
39017         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
39018         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
39019         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
39020
39021         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
39022         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
39023         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
39024
39025         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
39026         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
39027         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
39028
39029         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
39030         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
39031         * modules/vasprintf (Depends-on): Add EOVERFLOW.
39032
39033         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
39034         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
39035         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
39036         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
39037         (Depends-on): Add EOVERFLOW.
39038         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
39039         (Depends-on): Add EOVERFLOW.
39040         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39041         (Depends-on): Add EOVERFLOW.
39042         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
39043         (Depends-on): Add EOVERFLOW.
39044         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39045         (Depends-on): Add EOVERFLOW.
39046         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
39047         (Depends-on): Add EOVERFLOW.
39048         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39049         (Depends-on): Add EOVERFLOW.
39050         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
39051         (Depends-on): Add EOVERFLOW.
39052
39053         * lib/sprintf.c (EOVERFLOW): Remove fallback.
39054         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
39055         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
39056
39057         * lib/snprintf.c (EOVERFLOW): Remove fallback.
39058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
39059         * modules/snprintf (Depends-on): Add EOVERFLOW.
39060
39061         * lib/poll.c (EOVERFLOW): Remove fallback.
39062         * modules/poll (Depends-on): Add EOVERFLOW.
39063
39064         * lib/getugroups.c (EOVERFLOW): Remove fallback.
39065         * modules/getugroups (Depends-on): Add EOVERFLOW.
39066
39067         * lib/getdelim.c (EOVERFLOW): Remove fallback.
39068         * modules/getdelim (Depends-on): Add EOVERFLOW.
39069
39070         * lib/ftell.c (EOVERFLOW): Remove fallback.
39071         * modules/ftell (Depends-on): Add EOVERFLOW.
39072
39073         * lib/fprintf.c (EOVERFLOW): Remove fallback.
39074         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
39075         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
39076
39077         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
39078
39079         * modules/EOVERFLOW-tests: New file.
39080         * tests/test-EOVERFLOW.c: New file.
39081
39082         * modules/EOVERFLOW: New file.
39083         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
39084
39085 2008-03-30  Bruno Haible  <bruno@clisp.org>
39086
39087         Fix bug introduced on 2007-06-10.
39088         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
39089         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
39090
39091 2008-03-30  Bruno Haible  <bruno@clisp.org>
39092
39093         Improve freadseek's efficiency after ungetc.
39094         * lib/freadseek.c: Include freadahead.h.
39095         (freadptrinc): New function, extracted from freadseek.
39096         (freadseek): Use it in a loop. Use freadahead to determine the number
39097         of loop iterations.
39098         * modules/freadseek (Depends-on): Add freadahead.
39099         (configure.ac): Require AC_C_INLINE.
39100
39101 2008-03-30  Bruno Haible  <bruno@clisp.org>
39102
39103         * lib/freadseek.c (freadseek): Don't ignore the return value of
39104         freadptr.
39105
39106 2008-03-29  Eric Blake  <ebb9@byu.net>
39107
39108         Add hex float support.
39109         * modules/strtod (Depends-on): Add c-ctype.
39110         (Link): Mention POW_LIB.
39111         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
39112         whitespace between 'e' and exponent.
39113         * tests/test-strtod.c (main): Enable hex float tests.
39114         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
39115         now provides.
39116
39117         Document various strtod bugs, with some fixes.
39118         * doc/posix-functions/strtod.texi (strtod): Document bugs with
39119         "-0x", "inf", "nan", and hex constants.
39120         * doc/posix-functions/atof.texi (atof): Likewise.
39121         * modules/stdlib (Makefile.am): Support strtod.
39122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39123         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
39124         detect additional strtod bugs.
39125         * lib/stdlib.in.h (rpl_strtod): Add declarations.
39126         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
39127         bool where appropriate.  Parse 'inf' and 'nan'.
39128         * tests/test-strtod.c: New file.
39129         * modules/strtod (Depends-on): Add stdbool, stdlib.
39130         (configure.ac): Turn on module indicator.
39131         * modules/strtod-tests: New module.
39132
39133 2008-03-29  Eric Blake  <ebb9@byu.net>
39134
39135         Fix ftell on mingw.
39136         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
39137         * modules/ftell-tests (Depends-on): Add binary-io.
39138         * modules/ftello-tests (Depends-on): Likewise.
39139         * tests/test-ftell.c (main): Enhance test to cover behavior after
39140         ungetc.  Enforce binary mode.
39141         * tests/test-ftello.c (main): Likewise.
39142
39143         Pass test-freadseek on cygwin.
39144         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
39145         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
39146         ungetc buffer.
39147
39148         * tests/test-fflush2.c (main): Fix typo.
39149
39150 2008-03-29  Bruno Haible  <bruno@clisp.org>
39151
39152         * tests/test-fflush2.c (main): Temporarily disable the contents of
39153         this test.
39154         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
39155         Reported by Eric Blake.
39156
39157 2008-03-28  Simon Josefsson  <simon@josefsson.org>
39158
39159         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
39160         (GC_SHA224_DIGEST_SIZE): Add.
39161
39162         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
39163         (gc_hash_digest_length): Likewise.
39164         (gc_hash_buffer): Likewise.
39165
39166 2008-03-25  Bruno Haible  <bruno@clisp.org>
39167
39168         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
39169         detail which gettext release to use.
39170         Reported by Simon Josefsson.
39171
39172 2008-03-26  Jim Meyering  <meyering@redhat.com>
39173
39174         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
39175         * modules/gnumakefile (clean-GNUmakefile): Also, use
39176         test ... && ... || : syntax rather than if-then ... fi.
39177
39178         gnumakefile: Don't double-quote-expand $(VPATH) value.
39179         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
39180
39181 2008-03-24  Eric Blake  <ebb9@byu.net>
39182
39183         Alter GNUmakefile to install into top directory.
39184         * modules/maintainer-makefile: Split, and add dependency...
39185         * modules/gnumakefile: to this new module.
39186         * build-aux/GNUmakefile: Move...
39187         * top/GNUmakefile: ...here.
39188         * build-aux/maint.mk: Move...
39189         * top/maint.mk: ...here.
39190         * MODULES.html.sh (Support for maintaining...): Document new
39191         module.
39192
39193 2008-03-23  Bruno Haible  <bruno@clisp.org>
39194
39195         * gnulib-tool: New options --vc-files, --no-vc-files.
39196         (func_usage): Document them.
39197         (vc_files): New variable.
39198         (func_import): Consider vc_files.
39199         (func_create_testdir): Set vc_files to empty.
39200         Suggested by Jim Meyering and Karl Berry.
39201
39202 2008-03-23  Bruno Haible  <bruno@clisp.org>
39203
39204         Fix regex compilation error on HP-UX 11.
39205         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
39206         * modules/regex (Files): Add m4/mbstate_t.m4.
39207         Reported by Ton Voon <ton.voon@altinity.com>.
39208
39209 2008-03-23  Bruno Haible  <bruno@clisp.org>
39210
39211         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
39212
39213 2008-03-23  Eric Blake  <ebb9@byu.net>
39214             Bruno Haible  <bruno@clisp.org>
39215
39216         Install files from top/ in the destination directory.
39217         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
39218         augmentation also for the files from top/.
39219         (func_import, func_create_testdir): Rewrite file names:
39220         top/filename -> filename.
39221
39222 2008-03-23  Bruno Haible  <bruno@clisp.org>
39223
39224         Tweak "gnulib --version" output.
39225         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
39226
39227 2008-03-23  Bruno Haible  <bruno@clisp.org>
39228
39229         Tweak "gnulib --version" output.
39230         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
39231         rather than contents of ChangeLog, when possible.
39232
39233 2008-03-21  Eric Blake  <ebb9@byu.net>
39234
39235         More --version tweaks.
39236         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
39237         date of last ChangeLog entry.
39238
39239 2008-03-21  Jim Meyering  <meyering@redhat.com>
39240
39241         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
39242
39243 2008-03-20  Eric Blake  <ebb9@byu.net>
39244
39245         VPATH fix.
39246         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
39247
39248 2008-03-20  Simon Josefsson  <simon@josefsson.org>
39249
39250         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
39251         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
39252
39253 2008-03-20  Eric Blake  <ebb9@byu.net>
39254
39255         Sync GNUmakefile with coreutils.
39256         * build-aux/GNUmakefile (have-Makefile): Rename...
39257         (_have-Makefile): ...to this, for namespace consideration.
39258         (GNUmakefile.cfg): Include, if present.
39259         (_autoreconf): Define a default.
39260         (_is-dist-target): New rule for rebuilds to pick up intra-release
39261         version.
39262         (maint-cfg.mk): Rename...
39263         (cfg.mk): ...to this.
39264
39265 2008-03-18  Jim Meyering  <meyering@redhat.com>
39266
39267         New script and module: mktempd
39268         * MODULES.html.sh (maint+release support): Add mktempd.
39269         * build-aux/mktempd: New file.
39270         * modules/mktempd: New file.
39271
39272 2008-03-15  Jim Meyering  <meyering@redhat.com>
39273
39274         Undo last change.
39275         * lib/sha1.c, lib/md5.c: 63 != ~63.
39276         Reported by Andreas Schwab.
39277
39278         sha1.c, md5.c: Hoist a redundant expression.
39279         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
39280         "ctx->buflen" only once, before calling *_process_block.
39281         * lib/md5.c (md5_process_bytes): Likewise.
39282
39283 2008-03-14  Eric Blake  <ebb9@byu.net>
39284
39285         Bump copyright year in files generated by gnulib-tool.
39286         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
39287         gnulib-tool, rather than hard-coding it.
39288
39289         Fix 'gnulib-tool --version' output to work with git.
39290         * gnulib-tool (func_gnulib_dir): New function, extracted from...
39291         (startup): ...here.
39292         (func_version): Use it to invoke git-version-gen, rather than
39293         relying on CVS keyword expansion.  Modernize wording.
39294         (cvsdatestamp, last_checkin_date, version): Kill unused
39295         variables.
39296
39297 2008-03-12  Jim Meyering  <meyering@redhat.com>
39298
39299         Recognize optional cast of the argument to free.
39300         * build-aux/useless-if-before-free: Update regexps.
39301
39302         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
39303
39304 2008-03-11  Bruno Haible  <bruno@clisp.org>
39305
39306         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
39307         by a single package.
39308         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
39309         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
39310         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
39311         Reported by Sam Steingold <sds@gnu.org>.
39312
39313 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39314
39315         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
39316         repositories.
39317
39318 2008-03-11  Bruno Haible  <bruno@clisp.org>
39319
39320         Avoid conflicts between local macro definitions.
39321         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
39322         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
39323
39324 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
39325             Bruno Haible  <bruno@clisp.org>
39326
39327         Make va_copy work with some version of xlc on AIX 5.1.
39328         * lib/stdarg.in.h: New file.
39329         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
39330         On AIX, use a <stdarg.h> file substitute.
39331         * modules/stdarg (Files): Add lib/stdarg.in.h.
39332         (Depends-on): Add include_next.
39333         (Makefile.am): Build a stdarg.h substitute if requested.
39334         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
39335
39336 2008-03-10  Bruno Haible  <bruno@clisp.org>
39337
39338         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
39339         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39340         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39341
39342 2008-03-10  Bruno Haible  <bruno@clisp.org>
39343
39344         * modules/stdlib (Depends-on): Add include_next, remove
39345         absolute-header.
39346
39347 2008-03-09  Bruno Haible  <bruno@clisp.org>
39348
39349         * lib/freadahead.h (freadahead): Document more precisely.
39350         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
39351         the sum of both buffer sizes.
39352         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
39353         * NEWS: Document the change.
39354
39355 2008-03-09  Bruno Haible  <bruno@clisp.org>
39356
39357         Extend freadptr to return also the buffer size.
39358         * lib/freadptr.h (freadptr): Add sizep argument.
39359         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
39360         (freadptr): Add sizep argument. Determine buffer size like freadahead
39361         does.
39362         * tests/test-freadptr.c: Don't include freadahead.h.
39363         (main): Adapt for new calling convention of freadptr.
39364         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
39365         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
39366         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
39367         tests/test-freadptr2.sh.
39368         (Depends): Remove freadahead.
39369         (TESTS): Add test-freadptr2.sh.
39370         (check_PROGRAMS): Add test-freadptr2.
39371
39372 2008-03-09  Bruno Haible  <bruno@clisp.org>
39373
39374         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
39375         Report and solution by Simon Josefsson.
39376
39377 2008-03-06  Bruno Haible  <bruno@clisp.org>
39378
39379         Make fflush after ungetc work on BSD platforms.
39380         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
39381         * tests/test-fflush2.c: New file.
39382         * tests/test-fflush2.sh: New file.
39383         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
39384         tests/test-fflush2.c.
39385         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
39386         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
39387
39388 2008-03-06  Eric Blake  <ebb9@byu.net>
39389
39390         Likewise for ftello.
39391         * modules/ftello (Dependencies): Add extensions.
39392         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
39393
39394 2008-03-06  Bruno Haible  <bruno@clisp.org>
39395
39396         * modules/fseeko (Dependencies): Add extensions.
39397         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
39398         Needed on glibc systems.
39399
39400 2008-03-06  Bruno Haible  <bruno@clisp.org>
39401
39402         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
39403         email address.
39404         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39405
39406 2008-03-06  Bruno Haible  <bruno@clisp.org>
39407
39408         * users.txt: Add libgnupdf.
39409
39410 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39411
39412         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
39413         (Header File Substitutes, Function Substitutes,
39414         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
39415         (Build robot for gnulib): Fix typo.
39416
39417 2008-03-06  Bruno Haible  <bruno@clisp.org>
39418
39419         * doc/gnulib-tool.texi (VCS Issues): Small updates.
39420         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
39421
39422 2008-03-06  Bruno Haible  <bruno@clisp.org>
39423
39424         * doc/func.texi: New file, extracted from doc/gnulib.texi.
39425         * doc/gnulib.texi: Include it.
39426
39427 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39428
39429         * modules/func (License): Change license to unlimited; there was
39430         no LGPL parts in the module anyway.
39431
39432 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39433
39434         * modules/__func__: Renamed to modules/func.
39435         * modules/__func__-tests: Renamed to modules/func-tests.
39436         * tests/test-__func__.c: Renamed to tests/test-func.c.
39437         * m4/__func__.m4: Renamed to m4/func.m4.
39438         * doc/gnulib.texi (__func__): Section renamed to func.
39439         Suggested by Eric Blake <ebb9@byu.net>.
39440
39441 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39442
39443         * doc/gnulib.texi (__func__): Use C99 terminology when talking
39444         about __func__.  Make example self-contained.  Suggested by Eric
39445         Blake <ebb9@byu.net>.
39446
39447         * tests/test-__func__.c (main): Avoid extraneous () around __func.
39448         Suggested by Eric Blake <ebb9@byu.net>.
39449
39450 2008-03-06  Simon Josefsson  <simon@josefsson.org>
39451
39452         * modules/__func__: New file.
39453         * modules/__func__-tests: New file.
39454         * tests/test-__func__.c: New file.
39455         * m4/__func__.m4: New file.
39456         * doc/gnulib.texi (__func__): Document __func__ module.
39457
39458 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39459
39460         * modules/byteswap (License): Re-license as LGPLv2+.
39461
39462 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39463
39464         * doc/Makefile: Add pdf target.
39465
39466 2008-03-05  Simon Josefsson  <simon@josefsson.org>
39467
39468         * modules/inline (License): Use 'unlimited', since there are only
39469         *.m4 files in this module.
39470
39471 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39472             Bruno Haible  <bruno@clisp.org>
39473
39474         Add support for HP C 7.1 on OpenVMS 8.3.
39475         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
39476
39477 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
39478
39479         Update VMS specifics.
39480         * lib/getopt.c [VMS]: Remove include of unixlib.h.
39481
39482 2008-03-02  Jim Meyering  <meyering@redhat.com>
39483
39484         Remove the last dependency on the "free" module.
39485         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
39486         Reported by Bob Proulx.
39487
39488         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
39489
39490         Remove useless "if" tests before free.  Deprecate "free" module.
39491         * doc/posix-functions/free.texi: Mention that this
39492         module is no longer useful.
39493         * modules/free (Notice): Say this module is obsolete.
39494         * modules/readutmp (Depends-on): Remove free.
39495         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
39496         * lib/putenv.c (putenv): Likewise.
39497         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
39498         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
39499         * tests/test-c-strcasestr.c (main): Likewise.
39500         * tests/test-c-strstr.c (main): Likewise.
39501         * tests/test-mbscasestr1.c (main): Likewise.
39502         * tests/test-mbscasestr2.c (main): Likewise.
39503         * tests/test-mbsstr1.c (main): Likewise.
39504         * tests/test-mbsstr2.c (main): Likewise.
39505         * tests/test-memmem.c (main): Likewise.
39506         * tests/test-strcasestr.c (main): Likewise.
39507         * tests/test-striconv.c (main): Likewise.
39508         * tests/test-striconveh.c (main): Likewise.
39509         * tests/test-striconveha.c (main): Likewise.
39510         * tests/test-strstr.c (main): Likewise.
39511
39512         * build-aux/git-version-gen: Adjust a comment and the Usage string.
39513
39514         bootstrap: sync from coreutils again
39515         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
39516
39517 2008-03-01  Jim Meyering  <meyering@redhat.com>
39518
39519         bootstrap: sync from coreutils
39520         * build-aux/bootstrap (update_po_files): Copy a .po file into place
39521         also when the target doesn't exist.
39522
39523 2008-03-01  Eric Blake  <ebb9@byu.net>
39524
39525         Fix bugs in last patch.
39526         * lib/memchr2.c (memchr2): Fix typo.
39527         * tests/test-memchr2.c: Test previous bug, and don't use GNU
39528         extension.
39529         Reported by Bruce Korb.
39530
39531         New module 'memchr2'.
39532         * modules/memchr2: New file.
39533         * modules/memchr2-tests: Likewise.
39534         * lib/memchr2.h: Likewise.
39535         * lib/memchr2.c: Likewise, based on memchr.c.
39536         * tests/test-memchr2.c: New test.
39537         * MODULES.html.sh (String handling): Add memchr2.
39538
39539 2008-02-29  Bruno Haible  <bruno@clisp.org>
39540
39541         * modules/freadseek-tests: New file.
39542         * tests/test-freadseek.sh: New file.
39543         * tests/test-freadseek.c: New file.
39544
39545         New module 'freadseek'.
39546         * modules/freadseek: New file.
39547         * lib/freadseek.h: New file.
39548         * lib/freadseek.c: New file.
39549         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
39550
39551 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39552
39553         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
39554         wydawca.
39555
39556         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
39557         program_invocation_name and program_invocation_short_name are
39558         present.
39559
39560 2008-02-28  Bruno Haible  <bruno@clisp.org>
39561
39562         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
39563         * tests/test-freadptr.sh: Also test non-seekable stdin.
39564
39565 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
39566
39567         * build-aux/bootstrap (source_base, m4_base)
39568         (doc_base, tests_base): New variables.
39569         (gnulib_tool_options): Do not hardcode base directories, use
39570         the above variables instead.
39571
39572 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
39573
39574         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
39575
39576 2008-02-28  Bruno Haible  <bruno@clisp.org>
39577
39578         * modules/freadptr-tests: New file.
39579         * tests/test-freadptr.sh: New file.
39580         * tests/test-freadptr.c: New file.
39581
39582         New module 'freadptr'.
39583         * modules/freadptr: New file.
39584         * lib/freadptr.h: New file.
39585         * lib/freadptr.c: New file.
39586         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
39587
39588 2008-02-26  Karl Berry  <karl@freefriends.org>
39589
39590         Sync from Libtool:
39591         * libltdl/argz.c (argz_add, argz_count): New functions.
39592         * libltdl/argz.in.h: Declare them.
39593         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
39594
39595 2008-02-22  Bruno Haible  <bruno@clisp.org>
39596
39597         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
39598         is a pointer type.  Needed for HP-UX 10.
39599         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
39600         * doc/posix-functions/gmtime_r.texi: Likewise.
39601         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
39602
39603 2008-02-24  Bruno Haible  <bruno@clisp.org>
39604
39605         * modules/environ-tests: New file.
39606         * tests/test-environ.c: New file.
39607
39608         New module 'environ'.
39609         * modules/environ: New file.
39610         * lib/unistd.in.h (environ): New declaration.
39611         * m4/environ.m4: New file.
39612         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
39613         after use.
39614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
39615         HAVE_DECL_ENVIRON.
39616         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
39617         HAVE_DECL_ENVIRON.
39618         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
39619         wrong claim that 'environ' is missing on some systems.
39620         * modules/execute (Depends-on): Add environ.
39621         * lib/execute.c (environ): Remove fallback declaration.
39622         * modules/pipe (Depends-on): Add environ.
39623         * lib/pipe.c (environ): Remove fallback declaration.
39624         * modules/setenv (Depends-on): Add environ.
39625         * lib/setenv.c (environ): Remove fallback declaration.
39626         * modules/unsetenv (Depends-on): Add environ.
39627         * lib/unsetenv.c (environ): Remove fallback declaration.
39628         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
39629         m4/environ.m4.
39630         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
39631         (gl_PREREQ_UNSETENV): Likewise.
39632
39633 2008-02-24  Bruno Haible  <bruno@clisp.org>
39634
39635         * doc/posix-functions/environ.texi: Document the MacOS X problem.
39636
39637 2008-02-20  Bob Proulx  <bob@proulx.com>
39638
39639         Enable use of older two part flavor 'git describe'.
39640         * build-aux/git-version-gen: If using the older two part flavor of
39641         git version then recreate the third part now present in the
39642         newer three part flavor of git describe.
39643
39644 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
39645
39646         * lib/fts.c (fts_build): Typo correction to comment.
39647
39648 2008-02-17  Bruno Haible  <bruno@clisp.org>
39649
39650         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
39651         generating no-op conflicts.
39652
39653 2008-02-17  Bruno Haible  <bruno@clisp.org>
39654
39655         Speed up by 10%.
39656         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
39657         result_entries, rather than an index-based loop.
39658
39659 2008-02-17  Bruno Haible  <bruno@clisp.org>
39660
39661         Speed up by 25%.
39662         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
39663         'hashcode_cached'.
39664         (entry_create): New function.
39665         (entry_hashcode): Use the cached hashcode if possible.
39666         (read_changelog_file, try_split_merged_entry): Use entry_create.
39667
39668 2008-02-17  Bruno Haible  <bruno@clisp.org>
39669
39670         Speed up from O(n^2) to O(n) for long ChangeLog files.
39671         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
39672         (read_changelog_file): Change implementation of entries_reversed list
39673         to rbtreehash.
39674         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
39675
39676 2008-02-17  Bruno Haible  <bruno@clisp.org>
39677
39678         New option --split-merged-entry.
39679         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
39680         (find_paragraph_end, try_split_merged_entry): New functions.
39681         (long_options): Add option --split-merged-entry.
39682         (usage): Document option --split-merged-entry.
39683         (main): Implement option --split-merged-entry.
39684         Reported by Eric Blake.
39685
39686 2008-02-17  Bruno Haible  <bruno@clisp.org>
39687
39688         * lib/git-merge-changelog.c: Include c-strstr.h.
39689         (main): Support the "git pull --rebase" situation.
39690         * modules/git-merge-changelog (Depends-on): Add c-strstr.
39691         Reported by Eric Blake.
39692
39693 2008-02-16  Eric Blake  <ebb9@byu.net>
39694
39695         Avoid doubling \ in common case of "c-maybe" quoting style.
39696         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
39697         eliding outer quotes.
39698         * lib/quotearg.h: Document this.
39699         * tests/test-quotearg.c (result_strings, inputs, results_g)
39700         (flag_results, locale_results): Test it by adding a new string to
39701         each test group.
39702         (compare_strings): Test new string.
39703
39704 2008-02-13  Eric Blake  <ebb9@byu.net>
39705
39706         Avoid trigraph quoting in default output.
39707         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
39708         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
39709         unless explicitly requested.
39710         * tests/test-quotearg.c (flag_results, main): Add additional tests.
39711
39712 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
39713
39714         Don't rely on signed integer overflowing to negative value.
39715         * lib/getugroups.c (getugroups): Include <limits.h>.
39716         Instead, compare against INT_MAX, and increment only if the test passes.
39717
39718 2008-02-13  Jim Meyering  <meyering@redhat.com>
39719         and Eric Blake  <ebb9@byu.net>
39720
39721         Avoid shadowing warning and compile errors on Linux.
39722         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
39723         forwarding macros on Linux.
39724         (dcgettext): Define a stub, for Linux.
39725         (results_g, main): Avoid warnings.
39726
39727 2008-02-12  Eric Blake  <ebb9@byu.net>
39728
39729         Silence warning in last patch.
39730         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
39731
39732         Quotearg part 4: add tests, fix c-maybe colon quoting.
39733         * lib/quotearg.h: Improve documentation.
39734         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
39735         escapes when adding outer quotes.  When quoting trigraphs, use
39736         valid C notation.  When quoting NUL, omit extra characters if next
39737         character is not digit.  Alter prototype.
39738         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
39739         callers.
39740         * modules/quotearg-tests: New module.
39741         * tests/test-quotearg.c: New test.
39742
39743 2008-02-07  Eric Blake  <ebb9@byu.net>
39744
39745         Quotearg part 3: add flag to control outer quote elision.
39746         * lib/quotearg.h (c_maybe_quoting_style): New style.
39747         (enum quoting_flags): Better documentation of flags.
39748         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
39749         c-maybe style.
39750         (quotearg_buffer_restyled): Handle new flag to elide outer
39751         quotes.
39752
39753         Quotearg part 2: add flag that can control NUL elision.
39754         * lib/quotearg.h (set_quoting_flags): New prototype.
39755         * lib/quotearg.c (struct quoting_options): Add flag field.
39756         (set_quoting_flags): New function.
39757         (quotearg_buffer_restyled): Add flags parameter.
39758         (quotearg_alloc_mem): Set the flag if length cannot be returned.
39759         (quotearg_n_options): Set the flag, since length cannot be
39760         returned.
39761         (quoting_options_from_style): Default flags correctly.
39762
39763         Quotearg part 1: more wrappers, restore quotearg_char state.
39764         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
39765         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
39766         (quotearg_colon_mem): New wrappers.
39767         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
39768         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
39769         functions.
39770         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
39771         (quotearg_colon_mem): New functions.
39772
39773 2008-02-11  Bruno Haible  <bruno@clisp.org>
39774
39775         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
39776         library in the current directory: it does not work with parallel make.
39777         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39778
39779 2008-02-11  Bruno Haible  <bruno@clisp.org>
39780
39781         * .gitattributes: New file.
39782
39783 2008-02-11  Jim Meyering  <meyering@redhat.com>
39784
39785         useless-if-before-free: Fix reversed exit values.
39786         * build-aux/useless-if-before-free: Use correct values
39787         for EXIT_MATCH and EXIT_NO_MATCH.
39788
39789         * build-aux/useless-if-before-free: Close stdout carefully.
39790
39791 2008-02-10  Bruno Haible  <bruno@clisp.org>
39792
39793         New module 'git-merge-changelog'.
39794         * modules/git-merge-changelog: New file.
39795         * lib/git-merge-changelog.c: New file.
39796
39797 2008-02-10  Jim Meyering  <meyering@redhat.com>
39798
39799         useless-if-before-free: New option: --list (-l).
39800
39801         useless-if-before-free: Don't exit immediately upon open failure.
39802         * build-aux/useless-if-before-free: Exit 2 for errors.
39803         Upon failure to open a file, don't exit immediately.
39804         Rather, just warn and continue with any remaining files.
39805
39806 2008-02-10  Bruno Haible  <bruno@clisp.org>
39807
39808         New abstract list operation 'node_set_value'.
39809         * lib/gl_list.h (gl_list_node_set_value): New function.
39810         (struct gl_list_implementation): New field node_set_value.
39811         * lib/gl_list.c (gl_list_node_set_value): New function.
39812         * lib/gl_array_list.c (gl_array_node_set_value): New function.
39813         (gl_array_list_implementation): Update.
39814         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
39815         (gl_carray_list_implementation): Update.
39816         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
39817         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
39818         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
39819         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
39820         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
39821         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
39822         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
39823         Update.
39824         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
39825         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
39826         (gl_sublist_list_implementation): Update.
39827
39828 2008-02-10  Bruno Haible  <bruno@clisp.org>
39829
39830         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
39831         Needed when ELEMENT is #defined to 'some_type *'.
39832
39833 2008-02-10  Jim Meyering  <meyering@redhat.com>
39834
39835         New script and module: useless-if-before-free
39836         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
39837         * build-aux/useless-if-before-free: New file.
39838         * modules/useless-if-before-free: New file.
39839
39840         * build-aux/gitlog-to-changelog: Use committer date, not author date.
39841
39842         xstrtol_error: Fix typo.
39843         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
39844         s/exit_failure/exit_status/.
39845
39846 2008-02-09  Jim Meyering  <meyering@redhat.com>
39847
39848         New script and module: gitlog-to-changelog
39849         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
39850         * modules/gitlog-to-changelog: New file.
39851         * build-aux/gitlog-to-changelog: New file.
39852
39853 2008-02-08  Jim Meyering  <meyering@redhat.com>
39854
39855         Avoid two "parameter unused" warnings.
39856         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
39857         Mark "st" as used.
39858
39859         Use "git COMMAND", not "git-COMMAND".
39860         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
39861         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
39862         * build-aux/git-version-gen: Use "git status", not "git-status".
39863
39864 2008-02-07  Bruno Haible  <bruno@clisp.org>
39865
39866         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
39867         Avoids a crash on Windows Vista.
39868         Reported by Adam Strzelecki <ono@java.pl> via
39869         Simon Josefsson <simon@josefsson.org>.
39870
39871 2008-02-06  Bruno Haible  <bruno@clisp.org>
39872
39873         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
39874         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
39875         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
39876         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
39877         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
39878         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39879         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
39880         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
39881         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
39882         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39883         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39884         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39885         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39886         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39887         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39888         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
39889         left-adjust flag.
39890         * tests/test-snprintf-posix.h (test_function): Likewise.
39891         * tests/test-sprintf-posix.h (test_function): Likewise.
39892         * tests/test-vasprintf-posix.c (test_function): Likewise.
39893         * doc/posix-functions/fprintf.texi: Update.
39894         * doc/posix-functions/printf.texi: Update.
39895         * doc/posix-functions/snprintf.texi: Update.
39896         * doc/posix-functions/sprintf.texi: Update.
39897         * doc/posix-functions/vfprintf.texi: Update.
39898         * doc/posix-functions/vprintf.texi: Update.
39899         * doc/posix-functions/vsnprintf.texi: Update.
39900         * doc/posix-functions/vsprintf.texi: Update.
39901         Reported by Peter Fales <psfales@alcatel-lucent.com>.
39902
39903 2008-02-06  Bruno Haible  <bruno@clisp.org>
39904
39905         Fix bug introduced on 2008-01-26.
39906         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
39907
39908 2008-02-06  Bruno Haible  <bruno@clisp.org>
39909
39910         Fix bug introduced on 2007-06-10.
39911         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
39912         !NEED_PRINTF_FLAG_ZERO.
39913
39914 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
39915
39916         getloadavg: use libperfstat on AIX5
39917         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
39918
39919 2008-02-03  Bruno Haible  <bruno@clisp.org>
39920
39921         * lib/diffseq.h: Add comments about required #includes.
39922         Reported by Michael Biggs <gnulib@doubleplum.net>.
39923
39924 2008-02-01  Bruno Haible  <bruno@clisp.org>
39925
39926         * users.txt: Add gnuit.
39927
39928 2008-01-31  Bruno Haible  <bruno@clisp.org>
39929
39930         * lib/md4.c (set_uint32): Mark as inline.
39931         * lib/md5.c (set_uint32): Likewise.
39932         * lib/sha1.c (set_uint32): Likewise.
39933         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
39934         * m4/md5.m4 (gl_MD5): Likewise.
39935         * m4/sha1.m4 (gl_SHA1): Likewise.
39936
39937 2008-01-31  Jim Meyering  <meyering@redhat.com>
39938
39939         Use "sizeof VAR", rather than a literal "4".
39940         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
39941         * lib/md4.c (md4_read_ctx): Likewise.
39942         * lib/sha1.c (sha1_read_ctx): Likewise.
39943
39944 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39945
39946         * tests/test-sha1.c: New file, based on test-md5.c.
39947
39948         * modules/crypto/sha1-tests: New file.
39949
39950 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39951
39952         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
39953
39954 2008-01-31  Jim Meyering  <meyering@redhat.com>
39955
39956         Prefer "sizeof v" over the equivalent "4".
39957         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
39958         * lib/md5.c (set_uint32): Likewise.
39959         * lib/sha1.c (set_uint32): Likewise.
39960
39961 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39962
39963         * lib/sha1.c (set_uint32): Mark function as static.
39964
39965 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39966
39967         md2: clarify comments to say that alignment is not required.
39968         * lib/md2.h: Remove warning about alignment in comment.
39969         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
39970         never been required.
39971
39972 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39973
39974         md4: adapt alignment constraint fix from sha1.
39975         * lib/md4.c (set_uint32): New function, from sha1.c
39976         (md4_read_ctx): Use it.
39977         (md4_finish_ctx): Doc fix.
39978         * lib/md4.h: Doc fix.
39979
39980 2008-01-31  Simon Josefsson  <simon@josefsson.org>
39981
39982         md5: adapt alignment constraint fix from sha1.
39983         * lib/md5.c (set_uint32): New function, from sha1.c
39984         (md5_read_ctx): Use it.
39985         (md5_finish_ctx): Doc fix.
39986         * lib/md5.h: Doc fix.
39987
39988 2008-01-30  Peter Palfrader  <weasel@debian.org>
39989
39990         sha1: remove the result buffer alignment constraint
39991         * lib/sha1.c (set_uint32): New function.
39992         (sha1_read_ctx): Rewrite to remove the result buffer alignment
39993         constraint.
39994         (sha1_finish_ctx): Remove comment warning about alignment constraint.
39995         * lib/sha1.h: Likewise.
39996
39997 2008-01-30  Andreas Schwab  <schwab@suse.de>
39998             Bruno Haible  <bruno@clisp.org>
39999
40000         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
40001         correct definition of LDBL_MIN_EXP.
40002
40003 2008-01-30  Karl Berry  <karl@gnu.org>
40004
40005         * config/srclist-update: try to preserve x bit on updates.
40006         * config/srclistvars.sh: update for karl.
40007
40008 2008-01-29  Jim Meyering  <meyering@redhat.com>
40009
40010         vasnprintf.c: Avoid warning about unused label
40011         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
40012         "overflow" label definition and associated code with the
40013         same cpp condition that guards the sole use of that label.
40014
40015 2008-01-26  Bruno Haible  <bruno@clisp.org>
40016
40017         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
40018         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
40019         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
40020         * lib/isnanl-nolibm.h (isnanl): Likewise.
40021         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40022
40023 2008-01-26  Bruno Haible  <bruno@clisp.org>
40024
40025         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
40026         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
40027
40028 2008-01-26  Bruno Haible  <bruno@clisp.org>
40029
40030         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
40031         GCC >= 4.0 built-in.
40032         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
40033
40034 2008-01-26  Bruno Haible  <bruno@clisp.org>
40035
40036         Rename isnan, applicable to 'double' only, to isnand.
40037         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
40038         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
40039         (configure.ac): Update.
40040         (Include): Replace "isnan.h" with "isnand.h".
40041         * m4/isnand.m4: Renamed from m4/isnan.m4.
40042         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
40043         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
40044         instead of isnan.c.
40045         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
40046         instead of HAVE_ISNAN_IN_LIBC.
40047         (isnand): Renamed from isnan.
40048         * lib/isnand.c: New file.
40049         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
40050         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
40051         (Makefile.am): Update.
40052         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
40053         Include isnand.h instead of isnan.h.
40054         (main): Test isnand instead of isnan.
40055         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
40056         isnan-nolibm.
40057         * modules/frexp (Depends-on): Likewise.
40058         * modules/frexp-tests (Depends-on): Likewise.
40059         * modules/frexp-nolibm (Depends-on): Likewise.
40060         * modules/frexp-nolibm-tests (Depends-on): Likewise.
40061         * modules/isfinite (Depends-on): Likewise.
40062         * modules/round-tests (Depends-on): Likewise.
40063         * modules/signbit (Depends-on): Likewise.
40064         * modules/signbit-tests (Depends-on): Likewise.
40065         * modules/snprintf-posix (Depends-on): Likewise.
40066         * modules/sprintf-posix (Depends-on): Likewise.
40067         * modules/trunc-tests (Depends-on): Likewise.
40068         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40069         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40070         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40071         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40072         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40073         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40074         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40075         * modules/vasnprintf-posix (Depends-on): Likewise.
40076         * modules/vasprintf-posix (Depends-on): Likewise.
40077         * modules/vfprintf-posix (Depends-on): Likewise.
40078         * modules/vsnprintf-posix (Depends-on): Likewise.
40079         * modules/vsprintf-posix (Depends-on): Likewise.
40080         * lib/frexp.c: Include isnand.h instead of isnan.h.
40081         (ISNAN): Set to isnand instead of isnan.
40082         * lib/isfinite.c: Include isnand.h instead of isnan.h.
40083         (gl_isfinited): Use isnand instead of isnan.
40084         * lib/signbitd.c: Include isnand.h instead of isnan.h.
40085         (gl_signbitd): Use isnand instead of isnan.
40086         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
40087         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
40088         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
40089         (main): Use isnand instead of isnan.
40090         * tests/test-round1.c: Include isnand.h.
40091         (main): Use isnand instead of isnan.
40092         * tests/test-round2.c: Include isnand.h instead of isnan.h.
40093         (ISNAN): Set to isnand instead of isnan.
40094         * tests/test-trunc1.c: Include isnand.h.
40095         (main): Use isnand instead of isnan.
40096         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
40097         (equal): Use isnand instead of isnan.
40098         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
40099         isnand-nolibm.
40100         * NEWS: Mention the change.
40101
40102 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40103             Bruno Haible  <bruno@clisp.org>
40104
40105         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
40106         the GCC builtins for signbits are present and set
40107         REPLACE_SIGNBIT_USING_GCC if so.
40108         * lib/math.in.h (signbit): Define using GCC builtins if
40109         REPLACE_SIGNBIT_USING_GCC is set.
40110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
40111         REPLACE_SIGNBIT_USING_GCC.
40112         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
40113
40114 2008-01-25  Jim Meyering  <meyering@redhat.com>
40115
40116         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
40117         * lib/poll.c: Include <config.h>, not "config.h".
40118         * tests/test-getaddrinfo.c: Likewise.
40119
40120 2008-01-25  Simon Josefsson  <simon@josefsson.org>
40121
40122         * modules/sockets-tests: New file.
40123
40124 2008-01-24  Simon Josefsson  <simon@josefsson.org>
40125
40126         * modules/sockets: New module, can be used to call WSA_Startup and
40127         WSA_Cleanup when needed.
40128
40129         * lib/sockets.h, lib/sockets.c: New files.
40130
40131         * m4/sockets.m4: New file.
40132
40133         * tests/test-sockets.c: New file.
40134
40135 2008-01-19  Bruno Haible  <bruno@clisp.org>
40136
40137         * doc/posix-headers: Renamed from doc/headers.
40138         * doc/posix-functions: Renamed from doc/functions.
40139         * doc/gnulib.texi: Update.
40140
40141 2008-01-19  Bruno Haible  <bruno@clisp.org>
40142
40143         * doc/glibc-functions/strcasestr.texi: Include contents of
40144         doc/functions/strcasestr.texi, fixing the list of platforms.
40145         * doc/functions/strcasestr.texi: Remove file.
40146
40147 2008-01-19  Bruno Haible  <bruno@clisp.org>
40148
40149         * doc/glibc-functions/memmem.texi: Include contents of
40150         doc/functions/memmem.texi.
40151         * doc/functions/memmem.texi: Remove file.
40152
40153 2008-01-18  Bruno Haible  <bruno@clisp.org>
40154
40155         * doc/glibc-functions/*.texi: New files.
40156         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
40157         to use the new files.
40158
40159 2008-01-17  Bruno Haible  <bruno@clisp.org>
40160
40161         * tests/test-gethostname.c (main): Fix printf statement.
40162
40163 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40164
40165         * modules/gethostname-tests: New file.
40166
40167         * tests/test-gethostname.c: New file.
40168
40169 2008-01-17  Simon Josefsson  <simon@josefsson.org>
40170
40171         * lib/gethostname.c: Include string.h unconditionally, strncpy is
40172         used by the UNAME case.  Reported by Bruno Haible
40173         <bruno@clisp.org>.
40174
40175 2008-01-17  Eric Blake  <ebb9@byu.net>
40176
40177         Convert c-strcasestr to be more efficient.
40178         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
40179         (Depends-on): Add c-strcase, remove malloca, strnlen.
40180         * tests/test-c-strcasestr.c (main): Enhance test.
40181         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
40182
40183 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
40184
40185         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
40186         Use it in creating po/Makevars.
40187
40188 2008-01-15  Simon Josefsson  <simon@josefsson.org>
40189
40190         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
40191         Applications that requires it should initialize libgcrypt
40192         manually.
40193
40194 2008-01-16  Simon Josefsson  <simon@josefsson.org>
40195
40196         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
40197
40198 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
40199
40200         Fix problem with getdate on mingw32 reported by Simon Josefsson
40201         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
40202         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
40203         tzname", when deciding whether to declare tzname.
40204         * lib/strftime.c (tzname): Likewise.
40205
40206 2008-01-15  Bruno Haible  <bruno@clisp.org>
40207
40208         Work around a MacOS X 10.5 bug in frexpl().
40209         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
40210         * doc/functions/frexpl.texi: Document the bug.
40211         Reported by Elias Pipping <pipping@gentoo.org>.
40212
40213 2008-01-14  Eric Blake  <ebb9@byu.net>
40214
40215         Touch up previous patch.
40216         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
40217         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
40218
40219         Convert strcasestr module to use Two-Way algorithm.
40220         * modules/strcasestr-simple: New module, based on the old
40221         strcasestr, but with Two-Way rather than KMP.
40222         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
40223         * lib/string.in.h (rpl_strcasestr): Declare.
40224         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
40225         performance.
40226         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
40227         * modules/string (Makefile.am): Support strcasestr.
40228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
40229         * modules/strcasestr-tests (Depends-on): Check for alarm.
40230         * tests/test-strcasestr.c: Augment test.
40231         * lib/str-two-way.h: Clean up stray macro.
40232         * NEWS: Document new module.
40233         * MODULES.html.sh (string handling): Likewise.
40234         * doc/functions/strcasestr.texi: New file.
40235         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
40236         here, since it is not a POSIX function.
40237
40238 2008-01-14  Colin Watson  <cjwatson@debian.org>
40239             Bruno Haible  <bruno@clisp.org>
40240
40241         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
40242         works fine; if not, set REPLACE_STRSIGNAL.
40243         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
40244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40245         REPLACE_STRSIGNAL.
40246         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
40247         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
40248         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
40249
40250 2008-01-14  Bruno Haible  <bruno@clisp.org>
40251
40252         * modules/strsignal (Include): Change to <string.h>.
40253
40254 2008-01-14  Colin Watson  <cjwatson@debian.org>
40255
40256         * modules/argp (Notice): Add a notice recommending to change
40257         XGETTEXT_OPTIONS.
40258         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
40259
40260 2008-01-13  Colin Watson  <cjwatson@debian.org>
40261
40262         * modules/strsignal-tests: New file.
40263         * tests/test-strsignal.c: New file.
40264
40265         * lib/strsignal.c: New file, from glibc with modifications.
40266         * lib/siglist.h: New file, from glibc with modifications.
40267         * lib/string.in.h (strsignal): New declaration.
40268         * m4/strsignal.m4: New file.
40269         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40270         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
40271         * modules/strsignal: New file.
40272         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
40273         HAVE_DECL_STRSIGNAL.
40274
40275 2008-01-13  Bruno Haible  <bruno@clisp.org>
40276
40277         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
40278         locale encoding is not ASCII. Needed for OpenBSD 4.0.
40279         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40280         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40281
40282 2008-01-13  Bruno Haible  <bruno@clisp.org>
40283
40284         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
40285         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
40286         * lib/argp.h (__attribute__): Likewise.
40287         * lib/c-stack.c (__attribute__): Likewise.
40288         * lib/error.h (__attribute__): Likewise.
40289         * lib/fts.c (__attribute__): Likewise.
40290         * lib/openat.h (__attribute__): Likewise.
40291         * lib/stdio.in.h (__attribute__): Likewise.
40292         * lib/string.in.h (__attribute__): Likewise.
40293         * lib/utimens.c (__attribute__): Likewise.
40294         * lib/vasnprintf.h (__attribute__): Likewise.
40295         * lib/xalloc.h (__attribute__): Likewise.
40296         * lib/xprintf.h (__attribute__): Likewise.
40297         * lib/xstrtol.h (__attribute__): Likewise.
40298         * lib/xvasprintf.h (__attribute__): Likewise.
40299
40300 2008-01-12  Bruno Haible  <bruno@clisp.org>
40301
40302         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
40303         * doc/glibc-headers/a.out.texi: New file.
40304         * doc/glibc-headers/aliases.texi: New file.
40305         * doc/glibc-headers/alloca.texi: New file.
40306         * doc/glibc-headers/ar.texi: New file.
40307         * doc/glibc-headers/argp.texi: New file.
40308         * doc/glibc-headers/argz.texi: New file.
40309         * doc/glibc-headers/byteswap.texi: New file.
40310         * doc/glibc-headers/crypt.texi: New file.
40311         * doc/glibc-headers/endian.texi: New file.
40312         * doc/glibc-headers/envz.texi: New file.
40313         * doc/glibc-headers/err.texi: New file.
40314         * doc/glibc-headers/error.texi: New file.
40315         * doc/glibc-headers/execinfo.texi: New file.
40316         * doc/glibc-headers/fpu_control.texi: New file.
40317         * doc/glibc-headers/fstab.texi: New file.
40318         * doc/glibc-headers/fts.texi: New file.
40319         * doc/glibc-headers/getopt.texi: New file.
40320         * doc/glibc-headers/ieee754.texi: New file.
40321         * doc/glibc-headers/ifaddrs.texi: New file.
40322         * doc/glibc-headers/libintl.texi: New file.
40323         * doc/glibc-headers/mcheck.texi: New file.
40324         * doc/glibc-headers/mntent.texi: New file.
40325         * doc/glibc-headers/obstack.texi: New file.
40326         * doc/glibc-headers/paths.texi: New file.
40327         * doc/glibc-headers/printf.texi: New file.
40328         * doc/glibc-headers/pty.texi: New file.
40329         * doc/glibc-headers/resolv.texi: New file.
40330         * doc/glibc-headers/shadow.texi: New file.
40331         * doc/glibc-headers/sysexits.texi: New file.
40332         * doc/glibc-headers/ttyent.texi: New file.
40333
40334 2008-01-12  Jim Meyering  <meyering@redhat.com>
40335
40336         announce-gen: emit Gnulib's git-based version string.
40337         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
40338         New option --gnulib-version=V, where V is expected to be
40339         the output of running git describe in the gnulib directory.
40340         (get_tool_versions): Request feedback on xdelta.  I suspect it's
40341         not useful, and plan to stop publishing an xdelta file with each
40342         coreutils release.
40343
40344         * build-aux/announce-gen: Also check for lzma-compressed files.
40345
40346 2008-01-11  Bruno Haible  <bruno@clisp.org>
40347
40348         * tests/test-memmem.c (main): Increase maximum allowed time.
40349         * tests/test-strstr.c (main): Likewise.
40350
40351 2008-01-11  Bruno Haible  <bruno@clisp.org>
40352
40353         * doc/functions/memmem.texi: Add more precisions about platforms.
40354         * doc/functions/strstr.texi: Likewise.
40355
40356 2008-01-10  Eric Blake  <ebb9@byu.net>
40357
40358         * m4/strstr.m4: Delete cruft from copy-n-paste.
40359         Reported by Bruno Haible.
40360
40361 2008-01-10  Bruno Haible  <bruno@clisp.org>
40362
40363         Make c-strstr rely on strstr.
40364         * lib/c-strstr.c: Don't include str-kmp.h.
40365         (c_strstr): Define in terms of strstr.
40366         * modules/c-strstr (Files): Remove lib/str-kmp.h.
40367         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
40368
40369 2008-01-10  Bruno Haible  <bruno@clisp.org>
40370
40371         * doc/gnulib.texi (String Functions in C Locale): New section.
40372         * doc/c-ctype.texi: New file.
40373         * doc/c-strcase.texi: New file.
40374         * doc/c-strcaseeq.texi: New file.
40375         * doc/c-strcasestr.texi: New file.
40376         * doc/c-strstr.texi: New file.
40377         * doc/c-strtod.texi: New file.
40378         * doc/c-strtold.texi: New file.
40379
40380 2008-01-10  Eric Blake  <ebb9@byu.net>
40381
40382         * lib/relocatable.h: Fix a comment.
40383
40384 2008-01-10  Eric Blake  <ebb9@byu.net>
40385
40386         Share two-way algorithm.
40387         * lib/str-two-way.h: New file, merged from...
40388         * lib/memmem.c: ...here...
40389         * lib/strstr.c: ...and here.
40390         * modules/memmem (Files): Use it.
40391         * modules/strstr (Files): Likewise.
40392
40393         Avoid quadratic strstr implementations.
40394         * lib/strstr.c: New file.
40395         * m4/strstr.m4: Likewise.
40396         * modules/strstr: Likewise.
40397         * modules/strstr-tests: Likewise.
40398         * tests/test-strstr.c: Likewise.
40399         * lib/string.in.h (rpl_strstr): Declare.
40400         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
40401         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
40402         * modules/string (Makefile.am): Likewise.
40403         * MODULES.html.sh (string handling): Mention new module.
40404         * doc/functions/strstr.texi (strstr): Document the bug.
40405
40406 2008-01-10  Bruno Haible  <bruno@clisp.org>
40407
40408         * lib/relocatable.h (relocate): State whether result is freshly
40409         allocated or not.
40410         * lib/relocatable.c (relocate): Return a freshly allocated string
40411         instead of a pointer to a privately held string.
40412         Reported by Sylvain Beucler <beuc@gnu.org>.
40413
40414 2008-01-10  Colin Watson  <cjwatson@debian.org>
40415
40416         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
40417         s/S_ISNLK/S_ISLNK/.
40418
40419 2008-01-09  Bruno Haible  <bruno@clisp.org>
40420
40421         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
40422         and other files.
40423         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
40424         if it's only a guess.
40425         * modules/memmem: Simplify by depending on memmem-simple.
40426
40427 2008-01-09  Bruno Haible  <bruno@clisp.org>
40428
40429         Work around OpenBSD 4.0 tdelete() bug.
40430         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
40431         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
40432         macros and don't redefine the enum values.
40433         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
40434         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
40435         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
40436
40437 2008-01-09  Bruno Haible  <bruno@clisp.org>
40438
40439         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
40440         (main): Don't perform the tests if setlocale did not install a UTF-8
40441         locale. Needed on OpenBSD 4.0.
40442         * modules/wcwidth-tests (Depends-on): Add localcharset.
40443
40444 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40445
40446         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
40447         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
40448         * NEWS: announce this.
40449         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
40450
40451 2008-01-09  Simon Josefsson  <simon@josefsson.org>
40452         and Eric Blake  <ebb9@byu.net>
40453
40454         Add memmem-simple module.
40455         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
40456         (gl_FUNC_MEMMEM): Separate performance from presence checks.
40457         * modules/memmem-simple: New file.
40458         * modules/memmem (Description): Tweak.
40459         * MODULES.html.sh (string handling): Mention new module.
40460         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
40461         addressed by memmem-simple.
40462         * NEWS: Document the difference.
40463
40464 2008-01-09  Eric Blake  <ebb9@byu.net>
40465
40466         Give gcc some memmem optimization hints.
40467         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
40468         (strcasestr): Declare as pure.
40469         * modules/memmem (Maintainer): Claim my implementation.
40470
40471 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40472
40473         Support AIX 6.1 and higher.
40474         * build-aux/config.libpath: Likewise.
40475         * build-aux/config.rpath: Likewise.
40476
40477 2008-01-08  Jim Meyering  <meyering@redhat.com>
40478             Bruno Haible  <bruno@clisp.org>
40479
40480         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
40481         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
40482         Reported by Peter Fales in
40483         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
40484
40485 2008-01-08  Bruno Haible  <bruno@clisp.org>
40486
40487         * modules/unictype/category-of (Depends-on): Add
40488         unictype/category-none.
40489         * modules/unictype/category-and-tests (Depends-on): Add
40490         unictype/category-{L,N,Lu,Nd}.
40491         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
40492         * modules/unictype/category-or-tests (Depends-on): Add
40493         unictype/category-{L,N}.
40494         * modules/unictype/category-name-tests (Depends-on): Add
40495         unictype/category-{Z,Nl}.
40496         Reported by Simon Josefsson.
40497
40498 2008-01-08  Bruno Haible  <bruno@clisp.org>
40499
40500         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
40501         convention better.
40502         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
40503         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
40504         Reported by Peter Miller <millerp@canb.auug.org.au>.
40505
40506 2008-01-08  Eric Blake  <ebb9@byu.net>
40507
40508         Rewrite memmem to guarantee linear complexity without malloc.
40509         * lib/memmem.c (memmem): Use Two-Way rather than
40510         Knuth-Morris-Pratt, to allow O(1) space usage.
40511         (critical_factorization, two_way_short_needle)
40512         (two_way_long_needle): New functions.
40513         (knuth_morris_pratt): Delete.
40514         * modules/memmem (Depends-on): No longer need malloca or stdbool.
40515         Add stdint.
40516         * tests/test-memmem.c (main): Add tests for periodic needle and
40517         sublinear performance.
40518         * doc/functions/memmem.texi (memmem): Document other deficiencies
40519         in cygwin and older glibc.
40520
40521 2008-01-08  Bruno Haible  <bruno@clisp.org>
40522
40523         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
40524         augmentation.
40525
40526 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
40527
40528         Add a configure time option: --disable-acl.
40529         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
40530         AC_ARG_ENABLE(acl).
40531
40532 2008-01-06  Simon Josefsson  <simon@josefsson.org>
40533
40534         * tests/test-localename.c: Don't include obsolete "setenv.h".
40535
40536         * modules/localename-tests (Depends-on): Need unsetenv.
40537
40538 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40539
40540         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
40541
40542 2008-01-06  Colin Watson  <cjwatson@debian.org>
40543
40544         * users.txt: Add man-db.
40545
40546 2008-01-07  Bruno Haible  <bruno@clisp.org>
40547
40548         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
40549         previous section name.
40550
40551 2008-01-07  Bruno Haible  <bruno@clisp.org>
40552
40553         * lib/progname.c (set_program_name): Don't strip off a leading
40554         "lt-" prefix outside a .libs directory.
40555         Suggested by Paul Eggert.
40556
40557 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
40558             Bruno Haible  <bruno@clisp.org>
40559
40560         Improve memory cleanup in 'relocatable' module.
40561         * lib/relocatable.h (compute_curr_prefix): Change return type to
40562         'char *'.
40563         * lib/relocatable.c (compute_curr_prefix): Change return type to
40564         'char *'. Free curr_installdir after use.
40565         (relocate): Free curr_prefix_better after use.
40566         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
40567
40568 2008-01-01  Bruno Haible  <bruno@clisp.org>
40569
40570         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
40571         failure on older glibc systems.
40572         Reported by Peter Fales <psfales@alcatel-lucent.com>.
40573
40574 2008-01-05  Eric Blake  <ebb9@byu.net>
40575
40576         Avoid quadratic system memmem.
40577         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
40578         Reported by Ralf Wildenhues.
40579
40580         Fix memmem test for mingw.
40581         * modules/memmem-tests (configure.ac): Check for alarm.
40582         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
40583         it.
40584         * doc/functions/memmem.texi: New file.
40585         * doc/gnulib.texi (Function Substitutes): Add memmem.
40586         Reported by Bruno Haible.
40587
40588 2008-01-04  Bruno Haible  <bruno@clisp.org>
40589
40590         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
40591         Require gl_HEADER_STRINGS_H_DEFAULTS, not
40592         gl_HEADER_STRING_H_DEFAULTS.
40593
40594 2008-01-04  Eric Blake  <ebb9@byu.net>
40595
40596         Shorten duration of memmem test.
40597         * tests/test-memmem.c (main): Use alarm to declare failure if test
40598         is taking too long.
40599         Reported by Ralf Wildenhues.
40600
40601 2007-12-21  Simon Josefsson  <simon@josefsson.org>
40602
40603         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
40604         string, needed by strerror.
40605
40606 2008-01-03  Colin Watson  <cjwatson@debian.org>
40607             Bruno Haible  <bruno@clisp.org>
40608
40609         * doc/gnulib-tool.texi (Localization): New section.
40610
40611 2008-01-02  Bruno Haible  <bruno@clisp.org>
40612
40613         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
40614         variables to 'unsigned char *' type.
40615         Reported by Paul Eggert.
40616
40617 2008-01-02  Jim Meyering  <jim@meyering.net>
40618
40619         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
40620
40621 2007-12-31  Jim Meyering  <jim@meyering.net>
40622
40623         Avoid use of private FTS type name.
40624         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
40625
40626 2007-12-30  Karl Berry  <karl@gnu.org>
40627
40628         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
40629         work around defect in Texinfo and/or the standalone Info browser.
40630
40631 2007-12-30  Bruno Haible  <bruno@clisp.org>
40632
40633         Unify 5 copies of the KMP code.
40634         * lib/str-kmp.h: New file.
40635         * lib/c-strcasestr.c: Include str-kmp.h.
40636         (knuth_morris_pratt): Remove function.
40637         (c_strcasestr): Update.
40638         * lib/c-strstr.c: Include str-kmp.h.
40639         (knuth_morris_pratt): Remove function.
40640         (c_strcasestr): Update.
40641         * lib/mbscasestr.c: Include str-kmp.h.
40642         (knuth_morris_pratt_unibyte): Remove function.
40643         * lib/mbsstr.c: Include str-kmp.h.
40644         (knuth_morris_pratt_unibyte): Remove function.
40645         * lib/strcasestr.c: Include str-kmp.h.
40646         (knuth_morris_pratt): Remove function.
40647         (strcasestr): Update.
40648         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
40649         * modules/c-strstr (Files): Likewise.
40650         * modules/mbscasestr (Files): Likewise.
40651         * modules/mbsstr (Files): Likewise.
40652         * modules/strcasestr (Files): Likewise.
40653         Suggested by Paul Eggert.
40654
40655 2007-12-30  Bruno Haible  <bruno@clisp.org>
40656
40657         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
40658         defined.
40659
40660 2007-12-30  Bruno Haible  <bruno@clisp.org>
40661
40662         * lib/xmalloca.h: Include xalloc.h.
40663         (xnmalloca): New macro.
40664
40665 2007-12-30  Bruno Haible  <bruno@clisp.org>
40666
40667         * lib/malloca.h (nmalloca): New macro.
40668         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
40669         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
40670         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
40671         knuth_morris_pratt_multibyte): Likewise.
40672         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
40673         knuth_morris_pratt_multibyte): Likewise.
40674         * lib/memmem.c (knuth_morris_pratt): Likewise.
40675         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
40676
40677 2007-12-25  Bruno Haible  <bruno@clisp.org>
40678
40679         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
40680         * lib/glob.c: Don't include openat.h.
40681         (link_exists2_p): Add back the code that deals with the
40682         !GLOB_ALTDIRFUNC case.
40683         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
40684         let it do the filename concatenation.
40685         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
40686         * modules/glob (Depends-on): Remove openat.
40687
40688 2007-12-31  Bruno Haible  <bruno@clisp.org>
40689
40690         * modules/dirfd (License): Change to LGPLv2+.
40691         Approved by Jim Meyering.
40692
40693 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40694
40695         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
40696         when multiplying M by sizeof (size_t).
40697
40698 2007-12-10  Martin Lambers  <marlam@marlam.de>
40699
40700         Override getpagesize on mingw.
40701         * lib/getpagesize.c: New file.
40702         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
40703         * modules/getpagesize (Files): Add lib/getpagesize.c.
40704         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
40705         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40706         REPLACE_GETPAGESIZE.
40707         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
40708
40709 2007-12-25  Bruno Haible  <bruno@clisp.org>
40710
40711         * modules/localcharset (Notice): New field.
40712         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
40713         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40714
40715 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40716             Bruno Haible  <bruno@clisp.org>
40717
40718         Avoid using the syntax symbol() in formatted documentation.
40719         * MODULES.html.sh (func_module): When replacing symbol() with a
40720         hyperlink, remove the parentheses. Show an error if some remain.
40721         Recognize and render the '...' syntax.
40722         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
40723         Rework. Add paragraph about GCC's inlining.
40724         * doc/alloca.texi: Likewise.
40725         * doc/error.texi: Remove parentheses from symbol reference.
40726         * doc/gnulib-intro.texi: Likewise.
40727         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
40728         * modules/fnmatch (Description): Reword to say "the ... function".
40729         * modules/full-read (Description): Likewise.
40730         * modules/full-write (Description): Likewise.
40731         * modules/safe-read (Description): Likewise.
40732         * modules/safe-write (Description): Likewise.
40733         * modules/strchrnul (Description): Likewise.
40734         * modules/trim (Description): Likewise.
40735         * modules/error (Description): Remove parentheses from symbol
40736         references.
40737         * modules/verror (Description): Likewise.
40738         Reported by Karl Berry.
40739
40740 2007-12-25  Bruno Haible  <bruno@clisp.org>
40741
40742         Fixup after 2007-10-16 commit.
40743         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
40744
40745 2007-12-24  Bruno Haible  <bruno@clisp.org>
40746
40747         Make --enable-relocatable work with DESTDIR.
40748         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
40749         to compute installdir from destprog.
40750         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
40751         also set the RELOC_DESTDIR variable.
40752         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40753
40754 2007-12-24  Bruno Haible  <bruno@clisp.org>
40755
40756         Fix link error due to xalloc_die().
40757         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
40758         of xreadlink.
40759         * lib/relocwrapper.c: Update comments.
40760         * build-aux/install-reloc: Remove xreadlink.c from file list.
40761         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
40762         xreadlink.c.
40763         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40764
40765 2007-12-24  Bruno Haible  <bruno@clisp.org>
40766
40767         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
40768         * lib/setenv.h: Remove file.
40769         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
40770         lib/setenv.h.
40771         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
40772         (Depends-on): Add stdlib.
40773         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
40774         gl_FUNC_UNSETENV.
40775         (Include): Replace setenv.h with <stdlib.h>.
40776         * modules/unsetenv: New file.
40777         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
40778         * lib/unsetenv.c: Include <stdlib.h> first.
40779         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
40780         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
40781         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
40782         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
40783         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
40784         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
40786         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
40787         * doc/functions/unsetenv.texi: Update.
40788         * modules/xsetenv (Depends-on): Add unsetenv.
40789         * modules/getdate (Depends-on): Likewise.
40790         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
40791         * lib/xsetenv.c: Don't include setenv.h.
40792         * lib/getdate.y: Likewise.
40793         * lib/relocwrapper.c: Likewise.
40794         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
40795         (Depends-on): Add stdlib.
40796         * NEWS: Mention the changes.
40797         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
40798
40799 2007-12-23  Bruno Haible  <bruno@clisp.org>
40800
40801         * lib/memmem.c (memmem): Use lowercase variable names. Tab
40802         indentation.
40803
40804 2007-12-23  Bruno Haible  <bruno@clisp.org>
40805
40806         * lib/c-strcasestr.c: Add more comments.
40807         * lib/c-strstr.c: Likewise.
40808         * lib/mbscasestr.c: Likewise.
40809         * lib/mbsstr.c: Likewise.
40810         * lib/strcasestr.c: Likewise.
40811         * lib/memmem.c: Likewise.
40812
40813 2007-12-23  Bruno Haible  <bruno@clisp.org>
40814
40815         * tests/test-memmem.c: Include <string.h> first.
40816
40817 2007-12-22  Bruno Haible  <bruno@clisp.org>
40818
40819         * gnulib-tool (func_create_testdir): Change $auxdir while generating
40820         the contents of $testsbase.
40821         Reported by Ralf Wildenhues.
40822
40823 2007-12-22  Bruno Haible  <bruno@clisp.org>
40824
40825         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
40826         two variables local_ldadd_before, local_ldadd_last.
40827
40828 2007-12-20  Eric Blake  <ebb9@byu.net>
40829
40830         Work around circular library issue when cross-compiling.
40831         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
40832         that progname.o does not need to pull in rpl_memcmp.
40833
40834 2007-12-19  Eric Blake  <ebb9@byu.net>
40835
40836         Fix memmem to avoid O(n^2) worst-case complexity.
40837         * lib/memmem.c (knuth_morris_pratt): New function.
40838         (memmem): Use it if first few naive iterations fail.
40839         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
40840         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
40841         * modules/memchr (License): Likewise.
40842         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
40843         malloca.
40844         * tests/test-memmem.c: Rewrite, borrowing ideas from
40845         test-mbsstr1.c; the old version wouldn't even compile!
40846         * modules/memmem-tests: New file.
40847         * lib/string.in.h (rpl_memmem): Add declaration.
40848         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
40849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
40850         REPLACE_MEMMEM.
40851
40852 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
40853
40854         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
40855         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
40856         before any system include files, and undef after them all.  This
40857         should fix a problem on VMS reported by John E. Malmberg in
40858         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
40859
40860 2007-12-17  Eric Blake  <ebb9@byu.net>
40861
40862         Revert addition of verify, for BSD/OS.
40863         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
40864         can't handle large files, for the sake of obsolete platforms.
40865         * modules/fseeko (Depends-on): Remove verify.
40866         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
40867         * doc/functions/ftello.texi (ftello): Likewise.
40868         * doc/functions/fgetpos.texi (fgetpos): Likewise.
40869         Reported by Larry Jones.
40870
40871 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
40872
40873         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
40874         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
40875
40876 2007-12-17  Jim Meyering  <meyering@redhat.com>
40877
40878         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
40879         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
40880         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
40881         * modules/getcwd (Depends-on): Add openat.
40882         Reported by Petr Salinger.
40883
40884 2007-12-17  Bruno Haible  <bruno@clisp.org>
40885
40886         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
40887         avoid a segmentation fault of the configure test on x86_64 systems.
40888
40889 2007-12-15  Jim Meyering  <meyering@redhat.com>
40890
40891         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
40892
40893 2007-12-13  Eric Blake  <ebb9@byu.net>
40894
40895         Another fseek test.
40896         * tests/test-fseek.c (main): Also test ungetc handling.
40897         * tests/test-fseeko.c (main): Likewise.
40898         * modules/fseeko (Depends-on): Add verify.
40899         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
40900         large.
40901         Reported by Larry Jones.
40902
40903         Fix fseeko on mingw.
40904         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
40905         seek.
40906
40907         Beef up fseek tests.
40908         * tests/test-fseek.c (main): Also test eof handling.
40909         * tests/test-fseeko.c (main): Likewise.
40910         Reported by Larry Jones.
40911
40912 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
40913
40914         Fix fseeko on BSD-based platforms.
40915         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
40916         successful seek.
40917
40918 2007-12-12  Eric Blake  <ebb9@byu.net>
40919
40920         Allow circular dependency of separate libtests.a
40921         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
40922         when use_libtests.
40923
40924 2007-12-11  Eric Blake  <ebb9@byu.net>
40925
40926         Fix bug with -0.0L in previous patch.
40927         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
40928         * tests/test-isnan.c (main): Also test on zeroes.
40929         * tests/test-isnanf.c (main): Likewise.
40930         * tests/test-isnanl.h (main): Likewise.
40931
40932         Detect pseudo-denormals on x86 even when cross-compiling.
40933         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
40934         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
40935         invalid bit patterns that happen to satisfy ==.
40936
40937         Avoid link failures with separate libtests.a.
40938         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
40939         last, to satisfy circular dependencies.
40940
40941 2007-12-11  Eric Blake  <ebb9@byu.net>
40942         and Bruno Haible  <bruno@clisp.org>
40943
40944         Fix OpenBSD 4.0 <float.h> handling of long double.
40945         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
40946         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
40947         * doc/headers/float.texi (float.h): Document OpenBSD bug.
40948
40949 2007-12-11  Jim Meyering  <meyering@redhat.com>
40950
40951         * users.txt: Add libvirt.
40952
40953         Support versions of autoconf prior to 2.59c.
40954         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
40955         if it is not already defined.
40956
40957 2007-12-09  Bruno Haible  <bruno@clisp.org>
40958
40959         Let 'gnulib-tool --import' collect sources needed for the tests in
40960         tests/ rather than in lib/.
40961         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
40962         argument. If true, add rules to generate libtests.a, and put libtests.a
40963         into $(LDADD). Consider source files in subdirectories and set
40964         uses_subdirs.
40965         (func_emit_initmacro_start, func_emit_initmacro_end,
40966         func_emit_initmacro_done): Pass all arguments explicitly.
40967         (func_import): Determine two module lists main_modules,
40968         testsrelated_modules. Determine use_libtests. Determine two variables
40969         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
40970         instead of just sed_transform_lib_file. Determine two variables
40971         main_files and testsrelated_files. Compute 'files' as the union of
40972         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
40973         func_add_or_update. In the generated gnulib-comp.m4, collect the
40974         object files for tests/ in different variables than those for lib/.
40975         Substitute LIBTESTS_LIBDEPS.
40976         (func_create_testdir): Combine the uses_subdirs results from
40977         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
40978
40979 2007-12-09  Bruno Haible  <bruno@clisp.org>
40980
40981         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
40982         the build-aux directory.
40983
40984 2007-12-09  Bruno Haible  <bruno@clisp.org>
40985
40986         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
40987         introduced on 2006-09-09.
40988
40989 2007-12-07  Jim Meyering  <meyering@redhat.com>
40990
40991         Let these macros work also with autoconf-2.59.
40992         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
40993         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
40994         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40995
40996 2007-12-06  Jim Meyering  <meyering@redhat.com>
40997
40998         Avoid a configure-time syntax error in gl_FUNC_ACL.
40999         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
41000         function in each branch, before testing the cache variable.
41001
41002 2007-12-04  Eric Blake  <ebb9@byu.net>
41003
41004         Make scripts executable.
41005         * build-aux/config.guess: Add execute permissions.
41006         * build-aux/config.sub: Likewise.
41007         * build-aux/gendocs.sh: Likewise.
41008
41009         Fix frexp on mingw.
41010         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
41011         cross-compiling.
41012         * doc/functions/frexp.texi (frexp): Document the bug.
41013
41014         Make cygwin fseeko check more reliable.
41015         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
41016         version numbers, rather than unrelated feature check.
41017         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
41018         * doc/functions/ftello.texi (ftello): Likewise.
41019         Reported by Bruno Haible.
41020
41021         * m4/strerror.m4: Bump version number.
41022
41023 2007-12-03  Bruno Haible  <bruno@clisp.org>
41024
41025         * doc/functions/mprotect.texi: Mention the mingw problem.
41026
41027 2007-12-03  Eric Blake  <ebb9@byu.net>
41028
41029         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
41030         REPLACE_STRERROR is initialized before this macro.
41031
41032 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
41033
41034         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
41035         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
41036         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
41037         put -lsec in even for programs other than 'ls'.  This fixes a problem
41038         for gettext reported by Bruno Haible in
41039         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
41040         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
41041         Add support for Solaris 10.  This isn't efficient, but should get the
41042         job done for now.
41043
41044 2007-12-03  James Youngman  <jay@gnu.org>
41045
41046         * doc/regexprops-generic.texi: change "an close-group" to "a
41047         close-group" and "illegal" to "not allowed".
41048
41049 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41050
41051         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
41052         pr_byname.h. Needed for the rare case when the maintainer has done
41053         "make maintainer-clean" in the source directory and then attempts a
41054         build outside the source directory.
41055         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
41056         scripts_byname.h.
41057
41058 2007-12-02  Martin Lambers <marlam@marlam.de>
41059             Bruno Haible  <bruno@clisp.org>
41060
41061         * lib/getpagesize.h: Remove file.
41062         * lib/unistd.in.h: Include declaration of getpagesize here.
41063         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
41064         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
41065         HAVE_SYS_PARAM_H.
41066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
41067         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41068         * modules/getpagesize (Files): Remove lib/getpagesize.h.
41069         (Depends-on): Add unistd.
41070         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
41071         (Include): Use <unistd.h> instead of getpagesize.h.
41072         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
41073         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
41074         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
41075         gl_GETPAGESIZE invocation, already handled by module dependency.
41076         * lib/pagealign_alloc.c: Don't include getpagesize.h.
41077
41078 2007-12-02  Bruno Haible  <bruno@clisp.org>
41079
41080         * modules/strings-tests: New file.
41081         * tests/test-strings.c: New file.
41082
41083         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
41084         * lib/strings.in.h: New file.
41085         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
41086         * m4/strings_h.m4: New file.
41087         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
41088         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
41089         * modules/strings: New file.
41090         * modules/string (Makefile.am): Update.
41091         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
41092         Reported by Karl Berry.
41093
41094 2007-12-01  Eric Blake  <ebb9@byu.net>
41095
41096         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
41097         accomodate fix in cygwin 1.5.25.
41098
41099 2007-12-01  Jim Meyering  <meyering@redhat.com>
41100
41101         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
41102         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
41103         that would inhibit utf8-optimization of a regexp containing line-
41104         or buffer-anchors, e.g., `^', `$'.
41105
41106 2007-11-30  Bruno Haible  <bruno@clisp.org>
41107
41108         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
41109         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
41110         glthread_recursive_lock_init.
41111         * lib/lock.c (glthread_recursive_lock_init)
41112         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
41113         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
41114
41115 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
41116
41117         New function qset_acl, like set_acl but with syscall semantics.
41118         * lib/acl.h (qset_acl): New decl.
41119         * lib/acl.c (qset_acl): New function.
41120         (set_acl): Use new function.  Use more-consistent diagnostics.
41121
41122 2007-11-28  Jim Meyering  <meyering@redhat.com>
41123
41124         * modules/physmem (License): Change from GPL to LGPLv2+.
41125
41126 2007-11-26  Bruno Haible  <bruno@clisp.org>
41127
41128         * lib/vasnprintf.c (decode_long_double): Don't abort if the
41129         'long double' type has excess precision.
41130         Reported by Jim Meyering in
41131         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
41132
41133 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41134
41135         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
41136         Sync from <http://gnu.org/licenses>.
41137         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
41138         with license text from same location.
41139         * doc/maintain.texi, doc/standards.texi:  Sync from
41140         <http://savannah.gnu.org/projects/gnustandards>.
41141
41142 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
41143         and Jim Meyering  <meyering@redhat.com>
41144
41145         Adjust getdate' grammar to accept a slightly more regular language.
41146         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
41147         Before, the former was rejected.
41148         * lib/getdate.y (digits_to_date_time): New function, factored
41149         out of ...
41150         (number): ...here.  Just call digits_to_date_time.
41151         (hybrid): New non-terminal to handle an <unsigned number,
41152         signed relative offset> sequence consistently.
41153
41154 2007-11-18  Jim Meyering  <meyering@redhat.com>
41155
41156         Pull my changes from coreutils:
41157         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
41158         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
41159         use of $gnulib_tool_option_extras, so that it's separated from the
41160         preceding argument.
41161
41162         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
41163         * build-aux/bootstrap (cp_mark_as_generated): Create any required
41164         parent destination directories before copying a file into place.
41165
41166 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
41167
41168         bootstrap: work also with 4-argument variant of AC_INIT
41169         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
41170
41171 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
41172
41173         Port test-getaddrinfo to Solaris.
41174         Problem reported by Bruno Haible in
41175         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
41176         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
41177         explanation of setting 'hints'.
41178         Don't reject an implementation merely because it returns EAI_SERVICE.
41179         (EAI_SERVICE): Define to 0 if not defined.
41180
41181 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41182
41183         The license of gnu-make and posix-shell is now "GPLed build tool".
41184         * modules/gnu-make (License): Likewise.
41185         * modules/posix-shell (License): Likewise.
41186
41187         New module posix-shell, for determining a POSIX shell
41188         or perhaps something that is close enough to a POSIX shell.
41189         * m4/posix-shell.m4: New file.
41190         * modules/posix-shell: New file.
41191
41192         * MODULES.html.sh: Mention new module.
41193
41194         New module gnu-make, for determining whether we're using GNU Make.
41195         * m4/gnu-make.m4: New file.
41196         * modules/gnu-make: New file.
41197         * MODULES.html.sh: Mention new module.
41198
41199 2007-11-14  Jim Meyering  <meyering@redhat.com>
41200
41201         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
41202         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
41203         use this macro to create a function _definition_.
41204         Remove useless "#undef ARGMATCH_DIE".
41205
41206 2007-11-14  Bruno Haible  <bruno@clisp.org>
41207
41208         * lib/config.charset: Update for OpenBSD 4.1.
41209         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
41210
41211 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
41212
41213         Document 64-bit #if problems in stdint.texi.
41214         * doc/headers/stdint.texi (stdint.h): Mention problems with
41215         64-bit-#if, and how to work around them.
41216
41217         Don't insist on 'long long int' support in the preprocessor.  It
41218         breaks too many things.  For example, PRIdMAX still uses a 'long
41219         long int' format with the latest Sun compiler, even though
41220         HAVE_LONG_LONG_INT isn't defined due to that compiler's
41221         preprocessor problem.  This causes the latest coreutils to dump
41222         core on Solaris 10 sparc with the Sun C compiler.
41223         Instead, fix the 2007-10-16 problem in a different way, by evaluating
41224         the troublesome expressions at configure-time, not at #if-time.
41225         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
41226         preprocessor.
41227         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
41228         compile-time C checks, done at 'configure'-time.
41229         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
41230         * modules/inttypes (Makefile): Substitute the new symbols that
41231         gl_INTTYPES_H now generates.
41232         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
41233
41234 2007-11-12  Bruno Haible  <bruno@clisp.org>
41235
41236         Tests for Unicode character classification functions.
41237
41238         * modules/unictype/bidicategory-byname-tests: New file.
41239         * modules/unictype/bidicategory-name-tests: New file.
41240         * modules/unictype/bidicategory-of-tests: New file.
41241         * modules/unictype/bidicategory-test-tests: New file.
41242         * modules/unictype/block-list-tests: New file.
41243         * modules/unictype/block-of-tests: New file.
41244         * modules/unictype/block-test-tests: New file.
41245         * modules/unictype/category-C-tests: New file.
41246         * modules/unictype/category-Cc-tests: New file.
41247         * modules/unictype/category-Cf-tests: New file.
41248         * modules/unictype/category-Cn-tests: New file.
41249         * modules/unictype/category-Co-tests: New file.
41250         * modules/unictype/category-Cs-tests: New file.
41251         * modules/unictype/category-L-tests: New file.
41252         * modules/unictype/category-Ll-tests: New file.
41253         * modules/unictype/category-Lm-tests: New file.
41254         * modules/unictype/category-Lo-tests: New file.
41255         * modules/unictype/category-Lt-tests: New file.
41256         * modules/unictype/category-Lu-tests: New file.
41257         * modules/unictype/category-M-tests: New file.
41258         * modules/unictype/category-Mc-tests: New file.
41259         * modules/unictype/category-Me-tests: New file.
41260         * modules/unictype/category-Mn-tests: New file.
41261         * modules/unictype/category-N-tests: New file.
41262         * modules/unictype/category-Nd-tests: New file.
41263         * modules/unictype/category-Nl-tests: New file.
41264         * modules/unictype/category-No-tests: New file.
41265         * modules/unictype/category-P-tests: New file.
41266         * modules/unictype/category-Pc-tests: New file.
41267         * modules/unictype/category-Pd-tests: New file.
41268         * modules/unictype/category-Pe-tests: New file.
41269         * modules/unictype/category-Pf-tests: New file.
41270         * modules/unictype/category-Pi-tests: New file.
41271         * modules/unictype/category-Po-tests: New file.
41272         * modules/unictype/category-Ps-tests: New file.
41273         * modules/unictype/category-S-tests: New file.
41274         * modules/unictype/category-Sc-tests: New file.
41275         * modules/unictype/category-Sk-tests: New file.
41276         * modules/unictype/category-Sm-tests: New file.
41277         * modules/unictype/category-So-tests: New file.
41278         * modules/unictype/category-Z-tests: New file.
41279         * modules/unictype/category-Zl-tests: New file.
41280         * modules/unictype/category-Zp-tests: New file.
41281         * modules/unictype/category-Zs-tests: New file.
41282         * modules/unictype/category-and-not-tests: New file.
41283         * modules/unictype/category-and-tests: New file.
41284         * modules/unictype/category-byname-tests: New file.
41285         * modules/unictype/category-name-tests: New file.
41286         * modules/unictype/category-none-tests: New file.
41287         * modules/unictype/category-of-tests: New file.
41288         * modules/unictype/category-or-tests: New file.
41289         * modules/unictype/category-test-withtable-tests: New file.
41290         * modules/unictype/combining-class-tests: New file.
41291         * modules/unictype/ctype-alnum-tests: New file.
41292         * modules/unictype/ctype-alpha-tests: New file.
41293         * modules/unictype/ctype-blank-tests: New file.
41294         * modules/unictype/ctype-cntrl-tests: New file.
41295         * modules/unictype/ctype-digit-tests: New file.
41296         * modules/unictype/ctype-graph-tests: New file.
41297         * modules/unictype/ctype-lower-tests: New file.
41298         * modules/unictype/ctype-print-tests: New file.
41299         * modules/unictype/ctype-punct-tests: New file.
41300         * modules/unictype/ctype-space-tests: New file.
41301         * modules/unictype/ctype-upper-tests: New file.
41302         * modules/unictype/ctype-xdigit-tests: New file.
41303         * modules/unictype/decimal-digit-tests: New file.
41304         * modules/unictype/digit-tests: New file.
41305         * modules/unictype/mirror-tests: New file.
41306         * modules/unictype/numeric-tests: New file.
41307         * modules/unictype/property-alphabetic-tests: New file.
41308         * modules/unictype/property-ascii-hex-digit-tests: New file.
41309         * modules/unictype/property-bidi-arabic-digit-tests: New file.
41310         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
41311         * modules/unictype/property-bidi-block-separator-tests: New file.
41312         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
41313         * modules/unictype/property-bidi-common-separator-tests: New file.
41314         * modules/unictype/property-bidi-control-tests: New file.
41315         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
41316         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
41317         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
41318         * modules/unictype/property-bidi-european-digit-tests: New file.
41319         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
41320         * modules/unictype/property-bidi-left-to-right-tests: New file.
41321         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
41322         * modules/unictype/property-bidi-other-neutral-tests: New file.
41323         * modules/unictype/property-bidi-pdf-tests: New file.
41324         * modules/unictype/property-bidi-segment-separator-tests: New file.
41325         * modules/unictype/property-bidi-whitespace-tests: New file.
41326         * modules/unictype/property-byname-tests: New file.
41327         * modules/unictype/property-combining-tests: New file.
41328         * modules/unictype/property-composite-tests: New file.
41329         * modules/unictype/property-currency-symbol-tests: New file.
41330         * modules/unictype/property-dash-tests: New file.
41331         * modules/unictype/property-decimal-digit-tests: New file.
41332         * modules/unictype/property-default-ignorable-code-point-tests: New file.
41333         * modules/unictype/property-deprecated-tests: New file.
41334         * modules/unictype/property-diacritic-tests: New file.
41335         * modules/unictype/property-extender-tests: New file.
41336         * modules/unictype/property-format-control-tests: New file.
41337         * modules/unictype/property-grapheme-base-tests: New file.
41338         * modules/unictype/property-grapheme-extend-tests: New file.
41339         * modules/unictype/property-grapheme-link-tests: New file.
41340         * modules/unictype/property-hex-digit-tests: New file.
41341         * modules/unictype/property-hyphen-tests: New file.
41342         * modules/unictype/property-id-continue-tests: New file.
41343         * modules/unictype/property-id-start-tests: New file.
41344         * modules/unictype/property-ideographic-tests: New file.
41345         * modules/unictype/property-ids-binary-operator-tests: New file.
41346         * modules/unictype/property-ids-trinary-operator-tests: New file.
41347         * modules/unictype/property-ignorable-control-tests: New file.
41348         * modules/unictype/property-iso-control-tests: New file.
41349         * modules/unictype/property-join-control-tests: New file.
41350         * modules/unictype/property-left-of-pair-tests: New file.
41351         * modules/unictype/property-line-separator-tests: New file.
41352         * modules/unictype/property-logical-order-exception-tests: New file.
41353         * modules/unictype/property-lowercase-tests: New file.
41354         * modules/unictype/property-math-tests: New file.
41355         * modules/unictype/property-non-break-tests: New file.
41356         * modules/unictype/property-not-a-character-tests: New file.
41357         * modules/unictype/property-numeric-tests: New file.
41358         * modules/unictype/property-other-alphabetic-tests: New file.
41359         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
41360         * modules/unictype/property-other-grapheme-extend-tests: New file.
41361         * modules/unictype/property-other-id-continue-tests: New file.
41362         * modules/unictype/property-other-id-start-tests: New file.
41363         * modules/unictype/property-other-lowercase-tests: New file.
41364         * modules/unictype/property-other-math-tests: New file.
41365         * modules/unictype/property-other-uppercase-tests: New file.
41366         * modules/unictype/property-paired-punctuation-tests: New file.
41367         * modules/unictype/property-paragraph-separator-tests: New file.
41368         * modules/unictype/property-pattern-syntax-tests: New file.
41369         * modules/unictype/property-pattern-white-space-tests: New file.
41370         * modules/unictype/property-private-use-tests: New file.
41371         * modules/unictype/property-punctuation-tests: New file.
41372         * modules/unictype/property-quotation-mark-tests: New file.
41373         * modules/unictype/property-radical-tests: New file.
41374         * modules/unictype/property-sentence-terminal-tests: New file.
41375         * modules/unictype/property-soft-dotted-tests: New file.
41376         * modules/unictype/property-space-tests: New file.
41377         * modules/unictype/property-terminal-punctuation-tests: New file.
41378         * modules/unictype/property-test-tests: New file.
41379         * modules/unictype/property-titlecase-tests: New file.
41380         * modules/unictype/property-unassigned-code-value-tests: New file.
41381         * modules/unictype/property-unified-ideograph-tests: New file.
41382         * modules/unictype/property-uppercase-tests: New file.
41383         * modules/unictype/property-variation-selector-tests: New file.
41384         * modules/unictype/property-white-space-tests: New file.
41385         * modules/unictype/property-xid-continue-tests: New file.
41386         * modules/unictype/property-xid-start-tests: New file.
41387         * modules/unictype/property-zero-width-tests: New file.
41388         * modules/unictype/scripts-tests: New file.
41389         * modules/unictype/syntax-c-ident-tests: New file.
41390         * modules/unictype/syntax-c-whitespace-tests: New file.
41391         * modules/unictype/syntax-java-ident-tests: New file.
41392         * modules/unictype/syntax-java-whitespace-tests: New file.
41393         * tests/unictype/test-bidi_byname.c: New file.
41394         * tests/unictype/test-bidi_name.c: New file.
41395         * tests/unictype/test-bidi_of.c: New file.
41396         * tests/unictype/test-bidi_test.c: New file.
41397         * tests/unictype/test-block_list.c: New file.
41398         * tests/unictype/test-block_of.c: New file.
41399         * tests/unictype/test-block_test.c: New file.
41400         * tests/unictype/test-categ_and.c: New file.
41401         * tests/unictype/test-categ_and_not.c: New file.
41402         * tests/unictype/test-categ_byname.c: New file.
41403         * tests/unictype/test-categ_name.c: New file.
41404         * tests/unictype/test-categ_none.c: New file.
41405         * tests/unictype/test-categ_of.c: New file.
41406         * tests/unictype/test-categ_or.c: New file.
41407         * tests/unictype/test-categ_test_withtable.c: New file.
41408         * tests/unictype/test-combining.c: New file.
41409         * tests/unictype/test-decdigit.c: New file.
41410         * tests/unictype/test-digit.c: New file.
41411         * tests/unictype/test-mirror.c: New file.
41412         * tests/unictype/test-numeric.c: New file.
41413         * tests/unictype/test-pr_byname.c: New file.
41414         * tests/unictype/test-pr_test.c: New file.
41415         * tests/unictype/test-predicate-part1.h: New file.
41416         * tests/unictype/test-predicate-part2.h: New file.
41417         * tests/unictype/test-scripts.c: New file.
41418         * tests/unictype/test-sy_c_ident.c: New file.
41419         * tests/unictype/test-sy_java_ident.c: New file.
41420
41421         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
41422         for Unicode 5.0.0.
41423         * tests/unictype/test-categ_Cc.c: Likewise.
41424         * tests/unictype/test-categ_Cf.c: Likewise.
41425         * tests/unictype/test-categ_Cn.c: Likewise.
41426         * tests/unictype/test-categ_Co.c: Likewise.
41427         * tests/unictype/test-categ_Cs.c: Likewise.
41428         * tests/unictype/test-categ_L.c: Likewise.
41429         * tests/unictype/test-categ_Ll.c: Likewise.
41430         * tests/unictype/test-categ_Lm.c: Likewise.
41431         * tests/unictype/test-categ_Lo.c: Likewise.
41432         * tests/unictype/test-categ_Lt.c: Likewise.
41433         * tests/unictype/test-categ_Lu.c: Likewise.
41434         * tests/unictype/test-categ_M.c: Likewise.
41435         * tests/unictype/test-categ_Mc.c: Likewise.
41436         * tests/unictype/test-categ_Me.c: Likewise.
41437         * tests/unictype/test-categ_Mn.c: Likewise.
41438         * tests/unictype/test-categ_N.c: Likewise.
41439         * tests/unictype/test-categ_Nd.c: Likewise.
41440         * tests/unictype/test-categ_Nl.c: Likewise.
41441         * tests/unictype/test-categ_No.c: Likewise.
41442         * tests/unictype/test-categ_P.c: Likewise.
41443         * tests/unictype/test-categ_Pc.c: Likewise.
41444         * tests/unictype/test-categ_Pd.c: Likewise.
41445         * tests/unictype/test-categ_Pe.c: Likewise.
41446         * tests/unictype/test-categ_Pf.c: Likewise.
41447         * tests/unictype/test-categ_Pi.c: Likewise.
41448         * tests/unictype/test-categ_Po.c: Likewise.
41449         * tests/unictype/test-categ_Ps.c: Likewise.
41450         * tests/unictype/test-categ_S.c: Likewise.
41451         * tests/unictype/test-categ_Sc.c: Likewise.
41452         * tests/unictype/test-categ_Sk.c: Likewise.
41453         * tests/unictype/test-categ_Sm.c: Likewise.
41454         * tests/unictype/test-categ_So.c: Likewise.
41455         * tests/unictype/test-categ_Z.c: Likewise.
41456         * tests/unictype/test-categ_Zl.c: Likewise.
41457         * tests/unictype/test-categ_Zp.c: Likewise.
41458         * tests/unictype/test-categ_Zs.c: Likewise.
41459         * tests/unictype/test-ctype_alnum.c: Likewise.
41460         * tests/unictype/test-ctype_alpha.c: Likewise.
41461         * tests/unictype/test-ctype_blank.c: Likewise.
41462         * tests/unictype/test-ctype_cntrl.c: Likewise.
41463         * tests/unictype/test-ctype_digit.c: Likewise.
41464         * tests/unictype/test-ctype_graph.c: Likewise.
41465         * tests/unictype/test-ctype_lower.c: Likewise.
41466         * tests/unictype/test-ctype_print.c: Likewise.
41467         * tests/unictype/test-ctype_punct.c: Likewise.
41468         * tests/unictype/test-ctype_space.c: Likewise.
41469         * tests/unictype/test-ctype_upper.c: Likewise.
41470         * tests/unictype/test-ctype_xdigit.c: Likewise.
41471         * tests/unictype/test-decdigit.h: Likewise.
41472         * tests/unictype/test-digit.h: Likewise.
41473         * tests/unictype/test-numeric.h: Likewise.
41474         * tests/unictype/test-pr_alphabetic.c: Likewise.
41475         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
41476         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
41477         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
41478         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
41479         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
41480         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
41481         * tests/unictype/test-pr_bidi_control.c: Likewise.
41482         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
41483         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
41484         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
41485         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
41486         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
41487         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
41488         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
41489         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
41490         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
41491         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
41492         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
41493         * tests/unictype/test-pr_combining.c: Likewise.
41494         * tests/unictype/test-pr_composite.c: Likewise.
41495         * tests/unictype/test-pr_currency_symbol.c: Likewise.
41496         * tests/unictype/test-pr_dash.c: Likewise.
41497         * tests/unictype/test-pr_decimal_digit.c: Likewise.
41498         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
41499         * tests/unictype/test-pr_deprecated.c: Likewise.
41500         * tests/unictype/test-pr_diacritic.c: Likewise.
41501         * tests/unictype/test-pr_extender.c: Likewise.
41502         * tests/unictype/test-pr_format_control.c: Likewise.
41503         * tests/unictype/test-pr_grapheme_base.c: Likewise.
41504         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
41505         * tests/unictype/test-pr_grapheme_link.c: Likewise.
41506         * tests/unictype/test-pr_hex_digit.c: Likewise.
41507         * tests/unictype/test-pr_hyphen.c: Likewise.
41508         * tests/unictype/test-pr_id_continue.c: Likewise.
41509         * tests/unictype/test-pr_id_start.c: Likewise.
41510         * tests/unictype/test-pr_ideographic.c: Likewise.
41511         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
41512         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
41513         * tests/unictype/test-pr_ignorable_control.c: Likewise.
41514         * tests/unictype/test-pr_iso_control.c: Likewise.
41515         * tests/unictype/test-pr_join_control.c: Likewise.
41516         * tests/unictype/test-pr_left_of_pair.c: Likewise.
41517         * tests/unictype/test-pr_line_separator.c: Likewise.
41518         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
41519         * tests/unictype/test-pr_lowercase.c: Likewise.
41520         * tests/unictype/test-pr_math.c: Likewise.
41521         * tests/unictype/test-pr_non_break.c: Likewise.
41522         * tests/unictype/test-pr_not_a_character.c: Likewise.
41523         * tests/unictype/test-pr_numeric.c: Likewise.
41524         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
41525         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
41526         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
41527         * tests/unictype/test-pr_other_id_continue.c: Likewise.
41528         * tests/unictype/test-pr_other_id_start.c: Likewise.
41529         * tests/unictype/test-pr_other_lowercase.c: Likewise.
41530         * tests/unictype/test-pr_other_math.c: Likewise.
41531         * tests/unictype/test-pr_other_uppercase.c: Likewise.
41532         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
41533         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
41534         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
41535         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
41536         * tests/unictype/test-pr_private_use.c: Likewise.
41537         * tests/unictype/test-pr_punctuation.c: Likewise.
41538         * tests/unictype/test-pr_quotation_mark.c: Likewise.
41539         * tests/unictype/test-pr_radical.c: Likewise.
41540         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
41541         * tests/unictype/test-pr_soft_dotted.c: Likewise.
41542         * tests/unictype/test-pr_space.c: Likewise.
41543         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
41544         * tests/unictype/test-pr_titlecase.c: Likewise.
41545         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
41546         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
41547         * tests/unictype/test-pr_uppercase.c: Likewise.
41548         * tests/unictype/test-pr_variation_selector.c: Likewise.
41549         * tests/unictype/test-pr_white_space.c: Likewise.
41550         * tests/unictype/test-pr_xid_continue.c: Likewise.
41551         * tests/unictype/test-pr_xid_start.c: Likewise.
41552         * tests/unictype/test-pr_zero_width.c: Likewise.
41553         * tests/unictype/test-sy_c_whitespace.c: Likewise.
41554         * tests/unictype/test-sy_java_whitespace.c: Likewise.
41555
41556 2007-11-12  Bruno Haible  <bruno@clisp.org>
41557
41558         Unicode character classification functions.
41559         * lib/unictype.h: New file.
41560         * modules/unictype/base: New file.
41561         * modules/unictype/category-L: New file.
41562         * modules/unictype/category-Lu: New file.
41563         * modules/unictype/category-Ll: New file.
41564         * modules/unictype/category-Lt: New file.
41565         * modules/unictype/category-Lm: New file.
41566         * modules/unictype/category-Lo: New file.
41567         * modules/unictype/category-M: New file.
41568         * modules/unictype/category-Mn: New file.
41569         * modules/unictype/category-Mc: New file.
41570         * modules/unictype/category-Me: New file.
41571         * modules/unictype/category-N: New file.
41572         * modules/unictype/category-Nd: New file.
41573         * modules/unictype/category-Nl: New file.
41574         * modules/unictype/category-No: New file.
41575         * modules/unictype/category-P: New file.
41576         * modules/unictype/category-Pc: New file.
41577         * modules/unictype/category-Pd: New file.
41578         * modules/unictype/category-Ps: New file.
41579         * modules/unictype/category-Pe: New file.
41580         * modules/unictype/category-Pi: New file.
41581         * modules/unictype/category-Pf: New file.
41582         * modules/unictype/category-Po: New file.
41583         * modules/unictype/category-S: New file.
41584         * modules/unictype/category-Sm: New file.
41585         * modules/unictype/category-Sc: New file.
41586         * modules/unictype/category-Sk: New file.
41587         * modules/unictype/category-So: New file.
41588         * modules/unictype/category-Z: New file.
41589         * modules/unictype/category-Zs: New file.
41590         * modules/unictype/category-Zl: New file.
41591         * modules/unictype/category-Zp: New file.
41592         * modules/unictype/category-C: New file.
41593         * modules/unictype/category-Cc: New file.
41594         * modules/unictype/category-Cf: New file.
41595         * modules/unictype/category-Cs: New file.
41596         * modules/unictype/category-Co: New file.
41597         * modules/unictype/category-Cn: New file.
41598         * modules/unictype/category-or: New file.
41599         * modules/unictype/category-of: New file.
41600         * modules/unictype/category-test: New file.
41601         * modules/unictype/category-test-withtable: New file.
41602         * modules/unictype/category-byname: New file.
41603         * modules/unictype/category-none: New file.
41604         * modules/unictype/category-and: New file.
41605         * modules/unictype/category-and-not: New file.
41606         * modules/unictype/category-name: New file.
41607         * modules/unictype/combining-class: New file.
41608         * modules/unictype/category-all: New file.
41609         * modules/unictype/bidicategory-all: New file.
41610         * modules/unictype/bidicategory-byname: New file.
41611         * modules/unictype/bidicategory-name: New file.
41612         * modules/unictype/bidicategory-of: New file.
41613         * modules/unictype/bidicategory-test: New file.
41614         * modules/unictype/decimal-digit: New file.
41615         * modules/unictype/digit: New file.
41616         * modules/unictype/numeric: New file.
41617         * modules/unictype/mirror: New file.
41618         * modules/unictype/property-white-space: New file.
41619         * modules/unictype/property-alphabetic: New file.
41620         * modules/unictype/property-other-alphabetic: New file.
41621         * modules/unictype/property-not-a-character: New file.
41622         * modules/unictype/property-default-ignorable-code-point: New file.
41623         * modules/unictype/property-other-default-ignorable-code-point: New
41624         file.
41625         * modules/unictype/property-deprecated: New file.
41626         * modules/unictype/property-logical-order-exception: New file.
41627         * modules/unictype/property-variation-selector: New file.
41628         * modules/unictype/property-private-use: New file.
41629         * modules/unictype/property-unassigned-code-value: New file.
41630         * modules/unictype/property-uppercase: New file.
41631         * modules/unictype/property-other-uppercase: New file.
41632         * modules/unictype/property-lowercase: New file.
41633         * modules/unictype/property-other-lowercase: New file.
41634         * modules/unictype/property-titlecase: New file.
41635         * modules/unictype/property-soft-dotted: New file.
41636         * modules/unictype/property-id-start: New file.
41637         * modules/unictype/property-other-id-start: New file.
41638         * modules/unictype/property-id-continue: New file.
41639         * modules/unictype/property-other-id-continue: New file.
41640         * modules/unictype/property-xid-start: New file.
41641         * modules/unictype/property-xid-continue: New file.
41642         * modules/unictype/property-pattern-white-space: New file.
41643         * modules/unictype/property-pattern-syntax: New file.
41644         * modules/unictype/property-join-control: New file.
41645         * modules/unictype/property-grapheme-base: New file.
41646         * modules/unictype/property-grapheme-extend: New file.
41647         * modules/unictype/property-other-grapheme-extend: New file.
41648         * modules/unictype/property-grapheme-link: New file.
41649         * modules/unictype/property-bidi-control: New file.
41650         * modules/unictype/property-bidi-left-to-right: New file.
41651         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
41652         * modules/unictype/property-bidi-arabic-right-to-left: New file.
41653         * modules/unictype/property-bidi-european-digit: New file.
41654         * modules/unictype/property-bidi-eur-num-separator: New file.
41655         * modules/unictype/property-bidi-eur-num-terminator: New file.
41656         * modules/unictype/property-bidi-arabic-digit: New file.
41657         * modules/unictype/property-bidi-common-separator: New file.
41658         * modules/unictype/property-bidi-block-separator: New file.
41659         * modules/unictype/property-bidi-segment-separator: New file.
41660         * modules/unictype/property-bidi-whitespace: New file.
41661         * modules/unictype/property-bidi-non-spacing-mark: New file.
41662         * modules/unictype/property-bidi-boundary-neutral: New file.
41663         * modules/unictype/property-bidi-pdf: New file.
41664         * modules/unictype/property-bidi-embedding-or-override: New file.
41665         * modules/unictype/property-bidi-other-neutral: New file.
41666         * modules/unictype/property-hex-digit: New file.
41667         * modules/unictype/property-ascii-hex-digit: New file.
41668         * modules/unictype/property-ideographic: New file.
41669         * modules/unictype/property-unified-ideograph: New file.
41670         * modules/unictype/property-radical: New file.
41671         * modules/unictype/property-ids-binary-operator: New file.
41672         * modules/unictype/property-ids-trinary-operator: New file.
41673         * modules/unictype/property-zero-width: New file.
41674         * modules/unictype/property-space: New file.
41675         * modules/unictype/property-non-break: New file.
41676         * modules/unictype/property-iso-control: New file.
41677         * modules/unictype/property-format-control: New file.
41678         * modules/unictype/property-dash: New file.
41679         * modules/unictype/property-hyphen: New file.
41680         * modules/unictype/property-punctuation: New file.
41681         * modules/unictype/property-line-separator: New file.
41682         * modules/unictype/property-paragraph-separator: New file.
41683         * modules/unictype/property-quotation-mark: New file.
41684         * modules/unictype/property-sentence-terminal: New file.
41685         * modules/unictype/property-terminal-punctuation: New file.
41686         * modules/unictype/property-currency-symbol: New file.
41687         * modules/unictype/property-math: New file.
41688         * modules/unictype/property-other-math: New file.
41689         * modules/unictype/property-paired-punctuation: New file.
41690         * modules/unictype/property-left-of-pair: New file.
41691         * modules/unictype/property-combining: New file.
41692         * modules/unictype/property-composite: New file.
41693         * modules/unictype/property-decimal-digit: New file.
41694         * modules/unictype/property-numeric: New file.
41695         * modules/unictype/property-diacritic: New file.
41696         * modules/unictype/property-extender: New file.
41697         * modules/unictype/property-ignorable-control: New file.
41698         * modules/unictype/property-test: New file.
41699         * modules/unictype/property-byname: New file.
41700         * modules/unictype/property-all: New file.
41701         * modules/unictype/scripts: New file.
41702         * modules/unictype/scripts-all: New file.
41703         * modules/unictype/block-of: New file.
41704         * modules/unictype/block-test: New file.
41705         * modules/unictype/block-list: New file.
41706         * modules/unictype/block-all: New file.
41707         * modules/unictype/syntax-c-whitespace: New file.
41708         * modules/unictype/syntax-java-whitespace: New file.
41709         * modules/unictype/syntax-c-ident: New file.
41710         * modules/unictype/syntax-java-ident: New file.
41711         * modules/unictype/ctype-alnum: New file.
41712         * modules/unictype/ctype-alpha: New file.
41713         * modules/unictype/ctype-cntrl: New file.
41714         * modules/unictype/ctype-digit: New file.
41715         * modules/unictype/ctype-graph: New file.
41716         * modules/unictype/ctype-lower: New file.
41717         * modules/unictype/ctype-print: New file.
41718         * modules/unictype/ctype-punct: New file.
41719         * modules/unictype/ctype-space: New file.
41720         * modules/unictype/ctype-upper: New file.
41721         * modules/unictype/ctype-xdigit: New file.
41722         * modules/unictype/ctype-blank: New file.
41723         * lib/unictype/bidi_byname.c: New file.
41724         * lib/unictype/bidi_name.c: New file.
41725         * lib/unictype/bidi_of.c: New file.
41726         * lib/unictype/bidi_test.c: New file.
41727         * lib/unictype/bitmap.h: New file.
41728         * lib/unictype/block_test.c: New file.
41729         * lib/unictype/blocks.c: New file.
41730         * lib/unictype/categ_C.c: New file.
41731         * lib/unictype/categ_Cc.c: New file.
41732         * lib/unictype/categ_Cf.c: New file.
41733         * lib/unictype/categ_Cn.c: New file.
41734         * lib/unictype/categ_Co.c: New file.
41735         * lib/unictype/categ_Cs.c: New file.
41736         * lib/unictype/categ_L.c: New file.
41737         * lib/unictype/categ_Ll.c: New file.
41738         * lib/unictype/categ_Lm.c: New file.
41739         * lib/unictype/categ_Lo.c: New file.
41740         * lib/unictype/categ_Lt.c: New file.
41741         * lib/unictype/categ_Lu.c: New file.
41742         * lib/unictype/categ_M.c: New file.
41743         * lib/unictype/categ_Mc.c: New file.
41744         * lib/unictype/categ_Me.c: New file.
41745         * lib/unictype/categ_Mn.c: New file.
41746         * lib/unictype/categ_N.c: New file.
41747         * lib/unictype/categ_Nd.c: New file.
41748         * lib/unictype/categ_Nl.c: New file.
41749         * lib/unictype/categ_No.c: New file.
41750         * lib/unictype/categ_P.c: New file.
41751         * lib/unictype/categ_Pc.c: New file.
41752         * lib/unictype/categ_Pd.c: New file.
41753         * lib/unictype/categ_Pe.c: New file.
41754         * lib/unictype/categ_Pf.c: New file.
41755         * lib/unictype/categ_Pi.c: New file.
41756         * lib/unictype/categ_Po.c: New file.
41757         * lib/unictype/categ_Ps.c: New file.
41758         * lib/unictype/categ_S.c: New file.
41759         * lib/unictype/categ_Sc.c: New file.
41760         * lib/unictype/categ_Sk.c: New file.
41761         * lib/unictype/categ_Sm.c: New file.
41762         * lib/unictype/categ_So.c: New file.
41763         * lib/unictype/categ_Z.c: New file.
41764         * lib/unictype/categ_Zl.c: New file.
41765         * lib/unictype/categ_Zp.c: New file.
41766         * lib/unictype/categ_Zs.c: New file.
41767         * lib/unictype/categ_and.c: New file.
41768         * lib/unictype/categ_and_not.c: New file.
41769         * lib/unictype/categ_byname.c: New file.
41770         * lib/unictype/categ_name.c: New file.
41771         * lib/unictype/categ_none.c: New file.
41772         * lib/unictype/categ_of.c: New file.
41773         * lib/unictype/categ_or.c: New file.
41774         * lib/unictype/categ_test.c: New file.
41775         * lib/unictype/combining.c: New file.
41776         * lib/unictype/ctype_alnum.c: New file.
41777         * lib/unictype/ctype_alpha.c: New file.
41778         * lib/unictype/ctype_blank.c: New file.
41779         * lib/unictype/ctype_cntrl.c: New file.
41780         * lib/unictype/ctype_digit.c: New file.
41781         * lib/unictype/ctype_graph.c: New file.
41782         * lib/unictype/ctype_lower.c: New file.
41783         * lib/unictype/ctype_print.c: New file.
41784         * lib/unictype/ctype_punct.c: New file.
41785         * lib/unictype/ctype_space.c: New file.
41786         * lib/unictype/ctype_upper.c: New file.
41787         * lib/unictype/ctype_xdigit.c: New file.
41788         * lib/unictype/decdigit.c: New file.
41789         * lib/unictype/digit.c: New file.
41790         * lib/unictype/identsyntaxmap.h: New file.
41791         * lib/unictype/mirror.c: New file.
41792         * lib/unictype/numeric.c: New file.
41793         * lib/unictype/pr_alphabetic.c: New file.
41794         * lib/unictype/pr_ascii_hex_digit.c: New file.
41795         * lib/unictype/pr_bidi_arabic_digit.c: New file.
41796         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
41797         * lib/unictype/pr_bidi_block_separator.c: New file.
41798         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
41799         * lib/unictype/pr_bidi_common_separator.c: New file.
41800         * lib/unictype/pr_bidi_control.c: New file.
41801         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
41802         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
41803         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
41804         * lib/unictype/pr_bidi_european_digit.c: New file.
41805         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
41806         * lib/unictype/pr_bidi_left_to_right.c: New file.
41807         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
41808         * lib/unictype/pr_bidi_other_neutral.c: New file.
41809         * lib/unictype/pr_bidi_pdf.c: New file.
41810         * lib/unictype/pr_bidi_segment_separator.c: New file.
41811         * lib/unictype/pr_bidi_whitespace.c: New file.
41812         * lib/unictype/pr_byname.c: New file.
41813         * lib/unictype/pr_byname.gperf: New file.
41814         * lib/unictype/pr_combining.c: New file.
41815         * lib/unictype/pr_composite.c: New file.
41816         * lib/unictype/pr_currency_symbol.c: New file.
41817         * lib/unictype/pr_dash.c: New file.
41818         * lib/unictype/pr_decimal_digit.c: New file.
41819         * lib/unictype/pr_default_ignorable_code_point.c: New file.
41820         * lib/unictype/pr_deprecated.c: New file.
41821         * lib/unictype/pr_diacritic.c: New file.
41822         * lib/unictype/pr_extender.c: New file.
41823         * lib/unictype/pr_format_control.c: New file.
41824         * lib/unictype/pr_grapheme_base.c: New file.
41825         * lib/unictype/pr_grapheme_extend.c: New file.
41826         * lib/unictype/pr_grapheme_link.c: New file.
41827         * lib/unictype/pr_hex_digit.c: New file.
41828         * lib/unictype/pr_hyphen.c: New file.
41829         * lib/unictype/pr_id_continue.c: New file.
41830         * lib/unictype/pr_id_start.c: New file.
41831         * lib/unictype/pr_ideographic.c: New file.
41832         * lib/unictype/pr_ids_binary_operator.c: New file.
41833         * lib/unictype/pr_ids_trinary_operator.c: New file.
41834         * lib/unictype/pr_ignorable_control.c: New file.
41835         * lib/unictype/pr_iso_control.c: New file.
41836         * lib/unictype/pr_join_control.c: New file.
41837         * lib/unictype/pr_left_of_pair.c: New file.
41838         * lib/unictype/pr_line_separator.c: New file.
41839         * lib/unictype/pr_logical_order_exception.c: New file.
41840         * lib/unictype/pr_lowercase.c: New file.
41841         * lib/unictype/pr_math.c: New file.
41842         * lib/unictype/pr_non_break.c: New file.
41843         * lib/unictype/pr_not_a_character.c: New file.
41844         * lib/unictype/pr_numeric.c: New file.
41845         * lib/unictype/pr_other_alphabetic.c: New file.
41846         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
41847         * lib/unictype/pr_other_grapheme_extend.c: New file.
41848         * lib/unictype/pr_other_id_continue.c: New file.
41849         * lib/unictype/pr_other_id_start.c: New file.
41850         * lib/unictype/pr_other_lowercase.c: New file.
41851         * lib/unictype/pr_other_math.c: New file.
41852         * lib/unictype/pr_other_uppercase.c: New file.
41853         * lib/unictype/pr_paired_punctuation.c: New file.
41854         * lib/unictype/pr_paragraph_separator.c: New file.
41855         * lib/unictype/pr_pattern_syntax.c: New file.
41856         * lib/unictype/pr_pattern_white_space.c: New file.
41857         * lib/unictype/pr_private_use.c: New file.
41858         * lib/unictype/pr_punctuation.c: New file.
41859         * lib/unictype/pr_quotation_mark.c: New file.
41860         * lib/unictype/pr_radical.c: New file.
41861         * lib/unictype/pr_sentence_terminal.c: New file.
41862         * lib/unictype/pr_soft_dotted.c: New file.
41863         * lib/unictype/pr_space.c: New file.
41864         * lib/unictype/pr_terminal_punctuation.c: New file.
41865         * lib/unictype/pr_test.c: New file.
41866         * lib/unictype/pr_titlecase.c: New file.
41867         * lib/unictype/pr_unassigned_code_value.c: New file.
41868         * lib/unictype/pr_unified_ideograph.c: New file.
41869         * lib/unictype/pr_uppercase.c: New file.
41870         * lib/unictype/pr_variation_selector.c: New file.
41871         * lib/unictype/pr_white_space.c: New file.
41872         * lib/unictype/pr_xid_continue.c: New file.
41873         * lib/unictype/pr_xid_start.c: New file.
41874         * lib/unictype/pr_zero_width.c: New file.
41875         * lib/unictype/scripts.c: New file.
41876         * lib/unictype/sy_c_ident.c: New file.
41877         * lib/unictype/sy_c_whitespace.c: New file.
41878         * lib/unictype/sy_java_ident.c: New file.
41879         * lib/unictype/sy_java_whitespace.c: New file.
41880
41881         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
41882         Unicode 5.0.0.
41883         * lib/unictype/blocks.h: Likewise.
41884         * lib/unictype/categ_C.h: Likewise.
41885         * lib/unictype/categ_Cc.h: Likewise.
41886         * lib/unictype/categ_Cf.h: Likewise.
41887         * lib/unictype/categ_Cn.h: Likewise.
41888         * lib/unictype/categ_Co.h: Likewise.
41889         * lib/unictype/categ_Cs.h: Likewise.
41890         * lib/unictype/categ_L.h: Likewise.
41891         * lib/unictype/categ_Ll.h: Likewise.
41892         * lib/unictype/categ_Lm.h: Likewise.
41893         * lib/unictype/categ_Lo.h: Likewise.
41894         * lib/unictype/categ_Lt.h: Likewise.
41895         * lib/unictype/categ_Lu.h: Likewise.
41896         * lib/unictype/categ_M.h: Likewise.
41897         * lib/unictype/categ_Mc.h: Likewise.
41898         * lib/unictype/categ_Me.h: Likewise.
41899         * lib/unictype/categ_Mn.h: Likewise.
41900         * lib/unictype/categ_N.h: Likewise.
41901         * lib/unictype/categ_Nd.h: Likewise.
41902         * lib/unictype/categ_Nl.h: Likewise.
41903         * lib/unictype/categ_No.h: Likewise.
41904         * lib/unictype/categ_P.h: Likewise.
41905         * lib/unictype/categ_Pc.h: Likewise.
41906         * lib/unictype/categ_Pd.h: Likewise.
41907         * lib/unictype/categ_Pe.h: Likewise.
41908         * lib/unictype/categ_Pf.h: Likewise.
41909         * lib/unictype/categ_Pi.h: Likewise.
41910         * lib/unictype/categ_Po.h: Likewise.
41911         * lib/unictype/categ_Ps.h: Likewise.
41912         * lib/unictype/categ_S.h: Likewise.
41913         * lib/unictype/categ_Sc.h: Likewise.
41914         * lib/unictype/categ_Sk.h: Likewise.
41915         * lib/unictype/categ_Sm.h: Likewise.
41916         * lib/unictype/categ_So.h: Likewise.
41917         * lib/unictype/categ_Z.h: Likewise.
41918         * lib/unictype/categ_Zl.h: Likewise.
41919         * lib/unictype/categ_Zp.h: Likewise.
41920         * lib/unictype/categ_Zs.h: Likewise.
41921         * lib/unictype/categ_of.h: Likewise.
41922         * lib/unictype/combining.h: Likewise.
41923         * lib/unictype/ctype_alnum.h: Likewise.
41924         * lib/unictype/ctype_alpha.h: Likewise.
41925         * lib/unictype/ctype_blank.h: Likewise.
41926         * lib/unictype/ctype_cntrl.h: Likewise.
41927         * lib/unictype/ctype_digit.h: Likewise.
41928         * lib/unictype/ctype_graph.h: Likewise.
41929         * lib/unictype/ctype_lower.h: Likewise.
41930         * lib/unictype/ctype_print.h: Likewise.
41931         * lib/unictype/ctype_punct.h: Likewise.
41932         * lib/unictype/ctype_space.h: Likewise.
41933         * lib/unictype/ctype_upper.h: Likewise.
41934         * lib/unictype/ctype_xdigit.h: Likewise.
41935         * lib/unictype/decdigit.h: Likewise.
41936         * lib/unictype/digit.h: Likewise.
41937         * lib/unictype/mirror.h: Likewise.
41938         * lib/unictype/numeric.h: Likewise.
41939         * lib/unictype/pr_alphabetic.h: Likewise.
41940         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
41941         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
41942         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
41943         * lib/unictype/pr_bidi_block_separator.h: Likewise.
41944         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
41945         * lib/unictype/pr_bidi_common_separator.h: Likewise.
41946         * lib/unictype/pr_bidi_control.h: Likewise.
41947         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
41948         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
41949         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
41950         * lib/unictype/pr_bidi_european_digit.h: Likewise.
41951         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
41952         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
41953         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
41954         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
41955         * lib/unictype/pr_bidi_pdf.h: Likewise.
41956         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
41957         * lib/unictype/pr_bidi_whitespace.h: Likewise.
41958         * lib/unictype/pr_combining.h: Likewise.
41959         * lib/unictype/pr_composite.h: Likewise.
41960         * lib/unictype/pr_currency_symbol.h: Likewise.
41961         * lib/unictype/pr_dash.h: Likewise.
41962         * lib/unictype/pr_decimal_digit.h: Likewise.
41963         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
41964         * lib/unictype/pr_deprecated.h: Likewise.
41965         * lib/unictype/pr_diacritic.h: Likewise.
41966         * lib/unictype/pr_extender.h: Likewise.
41967         * lib/unictype/pr_format_control.h: Likewise.
41968         * lib/unictype/pr_grapheme_base.h: Likewise.
41969         * lib/unictype/pr_grapheme_extend.h: Likewise.
41970         * lib/unictype/pr_grapheme_link.h: Likewise.
41971         * lib/unictype/pr_hex_digit.h: Likewise.
41972         * lib/unictype/pr_hyphen.h: Likewise.
41973         * lib/unictype/pr_id_continue.h: Likewise.
41974         * lib/unictype/pr_id_start.h: Likewise.
41975         * lib/unictype/pr_ideographic.h: Likewise.
41976         * lib/unictype/pr_ids_binary_operator.h: Likewise.
41977         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
41978         * lib/unictype/pr_ignorable_control.h: Likewise.
41979         * lib/unictype/pr_iso_control.h: Likewise.
41980         * lib/unictype/pr_join_control.h: Likewise.
41981         * lib/unictype/pr_left_of_pair.h: Likewise.
41982         * lib/unictype/pr_line_separator.h: Likewise.
41983         * lib/unictype/pr_logical_order_exception.h: Likewise.
41984         * lib/unictype/pr_lowercase.h: Likewise.
41985         * lib/unictype/pr_math.h: Likewise.
41986         * lib/unictype/pr_non_break.h: Likewise.
41987         * lib/unictype/pr_not_a_character.h: Likewise.
41988         * lib/unictype/pr_numeric.h: Likewise.
41989         * lib/unictype/pr_other_alphabetic.h: Likewise.
41990         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
41991         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
41992         * lib/unictype/pr_other_id_continue.h: Likewise.
41993         * lib/unictype/pr_other_id_start.h: Likewise.
41994         * lib/unictype/pr_other_lowercase.h: Likewise.
41995         * lib/unictype/pr_other_math.h: Likewise.
41996         * lib/unictype/pr_other_uppercase.h: Likewise.
41997         * lib/unictype/pr_paired_punctuation.h: Likewise.
41998         * lib/unictype/pr_paragraph_separator.h: Likewise.
41999         * lib/unictype/pr_pattern_syntax.h: Likewise.
42000         * lib/unictype/pr_pattern_white_space.h: Likewise.
42001         * lib/unictype/pr_private_use.h: Likewise.
42002         * lib/unictype/pr_punctuation.h: Likewise.
42003         * lib/unictype/pr_quotation_mark.h: Likewise.
42004         * lib/unictype/pr_radical.h: Likewise.
42005         * lib/unictype/pr_sentence_terminal.h: Likewise.
42006         * lib/unictype/pr_soft_dotted.h: Likewise.
42007         * lib/unictype/pr_space.h: Likewise.
42008         * lib/unictype/pr_terminal_punctuation.h: Likewise.
42009         * lib/unictype/pr_titlecase.h: Likewise.
42010         * lib/unictype/pr_unassigned_code_value.h: Likewise.
42011         * lib/unictype/pr_unified_ideograph.h: Likewise.
42012         * lib/unictype/pr_uppercase.h: Likewise.
42013         * lib/unictype/pr_variation_selector.h: Likewise.
42014         * lib/unictype/pr_white_space.h: Likewise.
42015         * lib/unictype/pr_xid_continue.h: Likewise.
42016         * lib/unictype/pr_xid_start.h: Likewise.
42017         * lib/unictype/pr_zero_width.h: Likewise.
42018         * lib/unictype/scripts.h: Likewise.
42019         * lib/unictype/scripts_byname.gperf: Likewise.
42020         * lib/unictype/sy_c_ident.h: Likewise.
42021         * lib/unictype/sy_c_whitespace.h: Likewise.
42022         * lib/unictype/sy_java_ident.h: Likewise.
42023         * lib/unictype/sy_java_whitespace.h: Likewise.
42024
42025         * lib/unictype/Makefile: New file.
42026         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
42027         glibc.
42028         * lib/unictype/3level.h: New file, copied from glibc.
42029         * lib/unictype/3levelbit.h: New file.
42030
42031 2007-11-11  Bruno Haible  <bruno@clisp.org>
42032
42033         * modules/gperf: New file.
42034         * modules/iconv_open (Depends-on): Add it.
42035         (Makefile.am): Remove the GPERF definition.
42036
42037 2007-11-11  Bruno Haible  <bruno@clisp.org>
42038
42039         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
42040         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
42041
42042 2007-11-11  Bruno Haible  <bruno@clisp.org>
42043
42044         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
42045         (usage): Remove function.
42046
42047 2007-11-11  Bruno Haible  <bruno@clisp.org>
42048
42049         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
42050         gl_FUNC_CEILF_LIBS.
42051         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
42052         gl_FUNC_CEIL_LIBS.
42053         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
42054         gl_FUNC_CEILL_LIBS.
42055         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
42056         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
42057         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
42058
42059 2007-11-11  Bruno Haible  <bruno@clisp.org>
42060
42061         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
42062         roundf were declared but do not exist on functions.
42063         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
42064         roundl were declared but do not exist on functions.
42065         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
42066         HAVE_FLOORL_AND_CEILL, respectively.
42067         Needed for Sun C on Solaris 10.
42068
42069 2007-11-11  Bruno Haible  <bruno@clisp.org>
42070
42071         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
42072         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
42073         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
42074         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
42075         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
42076         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
42077         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
42078         HAVE_DECL_ROUNDF.
42079         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
42080         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
42081         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
42082         of HAVE_DECL_ROUND*.
42083         * modules/math (Makefile.am): Update.
42084
42085 2007-11-10  Bruno Haible  <bruno@clisp.org>
42086
42087         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
42088         ptrdiff_t as m4/intl.m4.
42089
42090 2007-11-10  Jim Meyering  <meyering@redhat.com>
42091
42092         Avoid link failure for the argmatch test.
42093         * tests/test-argmatch.c (usage): Define function to avoid a link
42094         failure: argmatch_die requires a usage function.
42095
42096 2007-11-09  Bruno Haible  <bruno@clisp.org>
42097
42098         * doc/functions/snprintf.texi: Mention BeOS deficiency.
42099         * doc/functions/vsnprintf.texi: Likewise.
42100         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
42101         with a size argument < 2.
42102
42103 2007-11-09  Bruno Haible  <bruno@clisp.org>
42104
42105         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
42106         buffer. Fixes an inefficiency introduced on 2007-11-03.
42107
42108 2007-11-09  Bruno Haible  <bruno@clisp.org>
42109
42110         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
42111         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
42112
42113 2007-11-08  Jim Meyering  <meyering@redhat.com>
42114
42115         Change cache variable name prefix "jm_" to "gl_" everywhere.
42116         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
42117         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
42118         * m4/uptime.m4: s/gl_/jm_/
42119
42120 2007-11-07  Bruno Haible  <bruno@clisp.org>
42121
42122         Update to GNU gettext 0.17.
42123         * m4/intl.m4: Update to GNU gettext 0.17.
42124         * m4/po.m4: Likewise.
42125         * modules/gettext (Files): Remove m4/ulonglong.m4.
42126         (configure.ac): Require gettext infrastructure from version 0.17.
42127
42128 2007-11-06  Bruno Haible  <bruno@clisp.org>
42129
42130         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
42131         symbolic values are not defined in a public header.
42132         * lib/freadable.c (freadable) [QNX]: Likewise.
42133         * lib/freadahead.c (freadahead) [QNX]: Likewise.
42134         * lib/freading.c (freading) [QNX]: Likewise.
42135         * lib/fseterr.c (fseterr) [QNX]: Likewise.
42136         * lib/fwritable.c (fwritable) [QNX]: Likewise.
42137         * lib/fwriting.c (fwriting) [QNX]: Likewise.
42138         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
42139         Reported by Alain Magloire.
42140
42141         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
42142
42143 2007-11-05  Bruno Haible  <bruno@clisp.org>
42144
42145         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
42146         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
42147         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
42148         Reported by Eric Blake.
42149
42150 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42151             Bruno Haible  <bruno@clisp.org>
42152
42153         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
42154         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
42155         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
42156         (malloc): Undefine also before including <stdlib.h>.
42157         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
42158         Needed on OSF/1 4.0.
42159
42160 2007-11-05  Jim Meyering  <meyering@redhat.com>
42161
42162         git-version-gen: sync from coreutils.
42163         * build-aux/git-version-gen: Add comments.
42164         Change the first '-' to '.' in the snapshot version string,
42165         e.g., 6.9-377-08144 -> 6.9.377-08144
42166         Remove first parameter.
42167         Don't declare a version "-dirty" merely because a time
42168         stamp has changed.
42169
42170 2007-11-04  Bruno Haible  <bruno@clisp.org>
42171
42172         * lib/lock.h: Protect all macro definitions containing an 'if'
42173         statement through a "do { ... } while (0)".
42174         * lib/tls.h: Likewise.
42175
42176 2007-11-04  Bruno Haible  <bruno@clisp.org>
42177
42178         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
42179
42180 2007-11-04  Bruno Haible  <bruno@clisp.org>
42181
42182         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
42183         * modules/fprintf-posix (Depends-on): Add nocrash.
42184         * modules/snprintf-posix (Depends-on): Likewise.
42185         * modules/sprintf-posix (Depends-on): Likewise.
42186         * modules/vasnprintf-posix (Depends-on): Likewise.
42187         * modules/vasprintf-posix (Depends-on): Likewise.
42188         * modules/vfprintf-posix (Depends-on): Likewise.
42189         * modules/vsnprintf-posix (Depends-on): Likewise.
42190         * modules/vsprintf-posix (Depends-on): Likewise.
42191         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42192         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42193         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42194         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42195         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42196         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42197         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42198
42199 2007-11-04  Bruno Haible  <bruno@clisp.org>
42200
42201         * modules/nocrash: New file.
42202         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
42203         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
42204
42205 2007-11-04  Bruno Haible  <bruno@clisp.org>
42206
42207         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
42208         precision handling.
42209         * tests/test-vasprintf-posix.c (test_function): Likewise.
42210         * tests/test-snprintf-posix.h (test_function): Likewise.
42211         * tests/test-sprintf-posix.h (test_function): Likewise.
42212
42213         Fix *printf behaviour for large precisions on mingw and BeOS.
42214         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
42215         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
42216         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
42217         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42218         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42219         gl_PRINTF_PRECISION and test its result. Invoke
42220         gl_PREREQ_VASNPRINTF_PRECISION.
42221         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42222         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42223         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42224         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42225         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42226         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42227         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42228         * doc/functions/fprintf.texi: Update.
42229         * doc/functions/printf.texi: Update.
42230         * doc/functions/snprintf.texi: Update.
42231         * doc/functions/sprintf.texi: Update.
42232         * doc/functions/vfprintf.texi: Update.
42233         * doc/functions/vprintf.texi: Update.
42234         * doc/functions/vsnprintf.texi: Update.
42235         * doc/functions/vsprintf.texi: Update.
42236
42237 2007-11-04  Bruno Haible  <bruno@clisp.org>
42238
42239         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
42240
42241 2007-11-04  Bruno Haible  <bruno@clisp.org>
42242
42243         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
42244         Reported by Sylvain Beucler <beuc@gnu.org>.
42245
42246 2007-11-03  Bruno Haible  <bruno@clisp.org>
42247
42248         * tests/test-fprintf-posix2.sh: New file.
42249         * tests/test-fprintf-posix2.c: New file.
42250         * modules/fprintf-posix-tests (Files): Add them.
42251         (TESTS): Add test-fprintf-posix2.sh.
42252         (configure.ac): Check for getrlimit and setrlimit.
42253         (check_PROGRAMS): Add test-fprintf-posix2.
42254
42255         * tests/test-printf-posix2.sh: New file.
42256         * tests/test-printf-posix2.c: New file.
42257         * modules/printf-posix-tests (Files): Add them.
42258         (TESTS): Add test-printf-posix2.sh.
42259         (configure.ac): Check for getrlimit and setrlimit.
42260         (check_PROGRAMS): Add test-printf-posix2.
42261
42262         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
42263         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
42264         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
42265         (decode_double): New function, copied from decode_long_double.
42266         (scale10_round_decimal_decoded): New function, extracted from
42267         scale10_round_decimal_long_double.
42268         (scale10_round_decimal_long_double): Use it.
42269         (scale10_round_decimal_double): New function.
42270         (floorlog10): New function.
42271         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
42272         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
42273         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42274         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42275         gl_PRINTF_ENOMEM and test its result. Invoke
42276         gl_PREREQ_VASNPRINTF_ENOMEM.
42277         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42278         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42279         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42280         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42281         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42282         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42283         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42284         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
42285         * modules/snprintf-posix (Depends-on): Likewise.
42286         * modules/sprintf-posix (Depends-on): Likewise.
42287         * modules/vasnprintf-posix (Depends-on): Likewise.
42288         * modules/vasprintf-posix (Depends-on): Likewise.
42289         * modules/vfprintf-posix (Depends-on): Likewise.
42290         * modules/vsnprintf-posix (Depends-on): Likewise.
42291         * modules/vsprintf-posix (Depends-on): Likewise.
42292         * doc/functions/fprintf.texi: Update.
42293         * doc/functions/printf.texi: Update.
42294         * doc/functions/snprintf.texi: Update.
42295         * doc/functions/sprintf.texi: Update.
42296         * doc/functions/vfprintf.texi: Update.
42297         * doc/functions/vprintf.texi: Update.
42298         * doc/functions/vsnprintf.texi: Update.
42299         * doc/functions/vsprintf.texi: Update.
42300
42301 2007-11-03  Bruno Haible  <bruno@clisp.org>
42302
42303         * modules/frexp-nolibm-tests: New file.
42304
42305         * modules/frexp-nolibm: New file.
42306         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
42307
42308 2007-11-03  Bruno Haible  <bruno@clisp.org>
42309
42310         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
42311         value is C99 compliant.
42312         Needed for OSF/1 5.1.
42313
42314 2007-11-03  Bruno Haible  <bruno@clisp.org>
42315
42316         Fix out-of-memory handling of vasnprintf.
42317         * lib/printf-parse.c: Include <errno.h>.
42318         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
42319         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
42320         is already set.
42321
42322 2007-11-02  Eric Blake  <ebb9@byu.net>
42323
42324         Fix tests on cygwin.
42325         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
42326
42327 2007-11-01  Bruno Haible  <bruno@clisp.org>
42328
42329         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
42330         warning.
42331         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
42332         needed for POSIX compatibility.
42333
42334 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
42335
42336         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
42337         for compatibility with GNU.
42338
42339 2007-11-01  Bruno Haible  <bruno@clisp.org>
42340
42341         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
42342         (putenv): Renamed from rpl_putenv. Change argument type from
42343         'const char *' to 'char *'.
42344         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
42345         of defining putenv in config.h, just set REPLACE_PUTENV.
42346         * modules/putenv (Depends-on): Add stdlib.
42347         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42348         (Include): Use <stdlib.h>.
42349         * lib/stdlib.in.h (putenv): New declaration.
42350         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
42351         REPLACE_PUTENV.
42352         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
42353         REPLACE_PUTENV.
42354         Needed for MacOS X 10.5.0.
42355         Reported by Peter O'Gorman <peter@pogma.com>.
42356
42357 2007-11-01  Jim Meyering  <meyering@redhat.com>
42358
42359         Treat an empty date string exactly like "0".
42360         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
42361         if the remaining date string (to be parsed) is empty, use "0".
42362         Reported by Mischa Molhoek and discussed in this thread:
42363         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
42364
42365 2007-10-31  Bruno Haible  <bruno@clisp.org>
42366
42367         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
42368         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
42369         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
42370         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
42371         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
42372         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
42373
42374 2007-10-31  Bruno Haible  <bruno@clisp.org>
42375
42376         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
42377         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
42378         (AC_TYPE_LONG_LONG_INT): Use it.
42379         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
42380         it as well.
42381         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
42382         to m4/longlong.m4.
42383         * modules/stdint (Files): Remove m4/ulonglong.m4.
42384         * modules/strtoull (Files): Use m4/longlong.m4 instead of
42385         m4/ulonglong.m4.
42386         * modules/strtoumax (Files): Likewise.
42387
42388 2007-10-30  Bruno Haible  <bruno@clisp.org>
42389
42390         * modules/xvasprintf-posix: New file.
42391         Suggested by Eric Blake.
42392
42393 2007-10-30  Bruno Haible  <bruno@clisp.org>
42394
42395         * modules/xprintf-posix-tests: New file.
42396         * tests/test-xprintf-posix.sh: New file.
42397         * tests/test-xprintf-posix.c: New file.
42398         * tests/test-xfprintf-posix.c: New file.
42399
42400         * modules/xprintf-posix: New file.
42401
42402 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42403
42404         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
42405         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
42406         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
42407
42408 2007-10-29  Bruno Haible  <bruno@clisp.org>
42409
42410         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
42411         contain the special marker '_cv_'.
42412         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
42413         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
42414         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
42415         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
42416         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
42417         Reported by Ralf Wildenhues.
42418
42419 2007-10-29  Bruno Haible  <bruno@clisp.org>
42420
42421         * gnulib-tool (func_import): When --lgpl is not specified, set
42422         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
42423         GPLv3.
42424         Reported by Simon Josefsson.
42425
42426 2007-10-28  Bruno Haible  <bruno@clisp.org>
42427
42428         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
42429         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
42430         HAVE_DECL_ISFINITE.
42431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42432         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
42433         HAVE_DECL_ISFINITE.
42434
42435 2007-10-28  Bruno Haible  <bruno@clisp.org>
42436
42437         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
42438         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
42439
42440 2007-10-28  Bruno Haible  <bruno@clisp.org>
42441
42442         Fix link errors with Sun C 5.0 on Solaris 10.
42443         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
42444         function is declared but not present in the compiler's libm.
42445         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
42446         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
42447         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
42448         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
42449         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
42450         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
42451         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
42452         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
42453         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
42454         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
42455         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
42456         HAVE_DECL_FLOORL.
42457
42458 2007-10-28  Bruno Haible  <bruno@clisp.org>
42459
42460         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
42461         gl_FUNC_FLOORL. Cache the result.
42462         (gl_FUNC_FLOORL): Use it.
42463         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
42464         gl_FUNC_CEILL. Cache the result.
42465         (gl_FUNC_CEILL): Use it.
42466
42467         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
42468         gl_FUNC_FLOOR. Cache the result.
42469         (gl_FUNC_FLOOR): Use it.
42470         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
42471         gl_FUNC_CEIL. Cache the result.
42472         (gl_FUNC_CEIL): Use it.
42473
42474         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
42475         gl_FUNC_FLOORF. Cache the result.
42476         (gl_FUNC_FLOORF): Use it.
42477         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
42478         gl_FUNC_CEILF. Cache the result.
42479         (gl_FUNC_CEILF): Use it.
42480
42481 2007-10-28  Bruno Haible  <bruno@clisp.org>
42482
42483         * gnulib-tool: Allow specifying the LGPL version number through
42484         --lgpl=2 or --lgpl=3.
42485         (func_usage): Document --lgpl with argument.
42486         Handle --lgpl=... arguments.
42487         (func_import): Recognize also gl_LGPL calls with an argument. When
42488         --lgpl=2 is used and the module's license is just LGPL, report an
42489         error. Set sed_transform_lib_file according to the lgpl variable. In
42490         the generated files, use --lgpl or gl_LGPL invocations with argument,
42491         if necessary.
42492         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
42493         an LGPv2+ license.
42494         * doc/gnulib-tool.texi (Modified imports): Update explanation of
42495         gl_LGPL macro.
42496
42497 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42498             Bruno Haible  <bruno@clisp.org>
42499
42500         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
42501         (u16_uctomb_aux): Likewise.
42502         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
42503         !HAVE_INLINE.
42504         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
42505
42506 2007-10-28  Bruno Haible  <bruno@clisp.org>
42507
42508         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
42509         Invoke AM_GETTEXT_OPTION if it exists.
42510         * modules/vasprintf: Likewise.
42511         * modules/verror: Likewise.
42512         * modules/xprintf: Likewise.
42513         * modules/xvasprintf: Likewise.
42514
42515 2007-10-27  Ben Pfaff  <blp@gnu.org>
42516
42517         * lib/math.in.h: Define isfinite macro and prototypes for
42518         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
42519         implementations.
42520         * m4/math_h.m4: New substitutions for isfinite module.
42521         * lib/isfinite.c: New file.
42522         * m4/isfinite.m4: New file.
42523         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
42524         * modules/isfinite: New file.
42525         * modules/isfinite-tests: New file.
42526         * tests/tests-isfinite.c: New file.
42527         * doc/functions/isfinite.texi: Mention isfinite module.
42528         * MODULES.html.sh: Mention new module.
42529
42530 2007-10-27  Ben Pfaff  <blp@gnu.org>
42531
42532         Ralf Wildenhues reported that Tru64 4.0D declares the round
42533         functions but does not have definitions.
42534         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
42535         cannot be found in any library, set the output variable to
42536         "missing" instead of "".
42537         * m4/round.m4: Also use our substitute if we cannot find round in
42538         any library, even if it is declared.
42539         * m4/roundf.m4: Likewise for roundf.
42540         * m4/roundl.m4: Likewise for roundl.
42541         * lib/math.in.h: Undefine roundf, round, roundl before defining
42542         their replacements, to allow for hypothetical systems where these
42543         may be defined as macros but not available in libraries.
42544
42545 2007-10-27  Bruno Haible  <bruno@clisp.org>
42546
42547         * doc/gnulib.texi: Invoke @firstparagraphindent.
42548         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
42549         changes in gnulib.
42550         (Source changes): New section.
42551
42552 2007-10-26  Bruno Haible  <bruno@clisp.org>
42553
42554         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
42555         borrowed from autoconf.
42556
42557 2007-10-26  Bruno Haible  <bruno@clisp.org>
42558
42559         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
42560         strerror returned the empty string. Needed on HP-UX 11.00.
42561
42562 2007-10-24  Micah Cowan  <micah@cowan.name>
42563
42564         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
42565         * build-aux/bootstrap: Remove support for now-unnecessary option,
42566         --cvs-user, and envvars CVS_USER, CVS_RSH.
42567
42568 2007-10-24  Jim Meyering  <meyering@redhat.com>
42569
42570         Avoid diagnostics from sha1sum when there is no cached checksum.
42571         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
42572         if the po.s1 file hasn't been created yet.
42573
42574         * build-aux/bootstrap: Sync from coreutils:
42575         2007-10-24  Jim Meyering  <meyering@redhat.com>
42576         Get gnulib from the git repository, not from an obsolete cvs one.
42577         * build-aux/bootstrap: Suggestion from Micah Cowan.
42578         2007-10-04  Jim Meyering  <jim@meyering.net>
42579         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
42580         (update_po_files): Work also when there are no .po files in po/.
42581
42582 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
42583
42584         * README: Append ".git" to git and cg examples.
42585         Problem reported by Benoit Sigoure.
42586
42587 2007-10-23  Micah Cowan  <micah@cowan.name>
42588
42589         * users.txt: Add wget.
42590
42591 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42592
42593         Fix linking of some unistdio tests on FreeBSD.
42594         * modules/unistdio/u16-vsnprintf-tests
42595         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
42596         * modules/unistdio/u16-vsprintf-tests
42597         (test_u16_vsnprintf1_LDADD): Likewise.
42598         * modules/unistdio/u32-vsnprintf-tests
42599         (test_u32_vsnprintf1_LDADD): Likewise.
42600         * modules/unistdio/u32-vsprintf-tests
42601         (test_u32_vsprintf1_LDADD): Likewise.
42602         * modules/unistdio/u8-vsnprintf-tests
42603         (test_u8_vsnprintf1_LDADD): Likewise.
42604         * modules/unistdio/u8-vsprintf-tests
42605         (test_u8_vsprintf1_LDADD): Likewise.
42606         * modules/unistdio/ulc-vsnprintf-tests
42607         (test_ulc_vsnprintf1_LDADD): Likewise.
42608         * modules/unistdio/ulc-vsprintf-tests
42609         (test_ulc_vsprintf1_LDADD): Likewise.
42610
42611         Fix linking of some uniconv tests on FreeBSD.
42612         * modules/uniconv/u16-conv-from-enc-tests
42613         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
42614         * modules/uniconv/u16-conv-to-enc-tests
42615         (test_u16_conv_to_enc_LDADD): Likewise.
42616         * modules/uniconv/u16-strconv-from-enc-tests
42617         (test_u16_strconv_from_enc_LDADD): Likewise.
42618         * modules/uniconv/u16-strconv-to-enc-tests
42619         (test_u16_strconv_to_enc_LDADD): Likewise.
42620         * modules/uniconv/u32-conv-from-enc-tests
42621         (test_u32_conv_from_enc_LDADD): Likewise.
42622         * modules/uniconv/u32-conv-to-enc-tests
42623         (test_u32_conv_to_enc_LDADD): Likewise.
42624         * modules/uniconv/u32-strconv-from-enc-tests
42625         (test_u32_strconv_from_enc_LDADD): Likewise.
42626         * modules/uniconv/u32-strconv-to-enc-tests
42627         (test_u32_strconv_to_enc_LDADD): Likewise.
42628         * modules/uniconv/u8-conv-from-enc-tests
42629         (test_u8_conv_from_enc_LDADD): Likewise.
42630         * modules/uniconv/u8-conv-to-enc-tests
42631         (test_u8_conv_to_enc_LDADD): Likewise.
42632         * modules/uniconv/u8-strconv-from-enc-tests
42633         (test_u8_strconv_from_enc_LDADD): Likewise.
42634         * modules/uniconv/u8-strconv-to-enc-tests
42635         (test_u8_strconv_to_enc_LDADD): Likewise.
42636
42637 2007-10-22  Bruno Haible  <bruno@clisp.org>
42638
42639         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
42640         size.
42641
42642 2007-10-22  Eric Blake  <ebb9@byu.net>
42643
42644         Tweak x*printf documentation.
42645         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
42646         variable name and comments.
42647         Suggested by Bruno Haible.
42648
42649 2007-10-22  Bruno Haible  <bruno@clisp.org>
42650
42651         * lib/acl.c (copy_acl): Fix file name in comment.
42652
42653 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42654
42655         Fix Tru64 problem with stdbool.h.
42656         * lib/stdbool.in.h (false, true):
42657         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
42658         Don't declare as an enum in this situation; it runs afoul of Tru64.
42659         Problem reported by Steven M. Schweda in
42660         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
42661
42662 2007-10-22  Eric Blake  <ebb9@byu.net>
42663
42664         Also wrap vf?printf.
42665         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
42666         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
42667         (xvprintf, xvfprintf): New functions.
42668
42669 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42670
42671         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
42672         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
42673
42674         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
42675         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
42676
42677 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
42678
42679         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
42680         by Bruno Haible.
42681
42682 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42683
42684         * lib/getloadavg.c
42685         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
42686         Undef `sys' after including sys/table.h, for Tru64 4.0D.
42687
42688         * tests/test-i-ring.c: Work for C89.
42689
42690 2007-10-22  Bruno Haible  <bruno@clisp.org>
42691
42692         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
42693         -1u, in preprocessor expression, so that we don't test for the bug
42694         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
42695         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
42696
42697 2007-10-22  Eric Blake  <ebb9@byu.net>
42698
42699         * tests/test-yesno.sh: Silence stderr during test.
42700
42701 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42702
42703         * modules/crypto/gc-camellia: New file.
42704
42705         * m4/gc-camellia.m4: New file.
42706
42707         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
42708
42709         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
42710
42711 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42712
42713         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
42714         --help to stdout.  Reported by sms@antinode.org (Steven
42715         M. Schweda).
42716
42717 2007-10-22  Simon Josefsson  <simon@josefsson.org>
42718
42719         * users.txt: Fix link to libksba.
42720
42721 2007-10-21  Ben Pfaff  <blp@gnu.org>
42722
42723         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
42724         round.c roundf implementation that depends on floorf and ceilf to
42725         be tested unconditionally.
42726
42727 2007-10-21  Ben Pfaff  <blp@gnu.org>
42728
42729         * m4/check-libm-func.m4: Removed.
42730         * m4/check-math-lib.m4: New file.
42731         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
42732         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
42733         definition and lack of AC_LIBOBJ([roundf]).
42734         * m4/roundl.m4: Ditto, and similarly for roundl.
42735         * modules/round: Reference new m4 file.
42736         * modules/roundf: Ditto.
42737         * modules/roundl: Ditto.
42738         * tests/test-round2.c (main): Use ROUND instead of round.
42739         Bug report from Bruno Haible.
42740
42741 2007-10-21  Bruno Haible  <bruno@clisp.org>
42742
42743         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
42744         context.
42745
42746 2007-10-21  Bruno Haible  <bruno@clisp.org>
42747
42748         * tests/test-wcwidth.c (main): Allow negative result for some control
42749         characters.
42750
42751         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
42752         Needed on OSF/1 5.1.
42753
42754 2007-10-21  Bruno Haible  <bruno@clisp.org>
42755
42756         * tests/test-floorf1.c: Include isnanf.h.
42757         (main): Use isnanf() instead of isnan().
42758         * tests/test-ceilf1.c: Include isnanf.h.
42759         (main): Use isnanf() instead of isnan().
42760         * tests/test-truncf1.c: Include isnanf.h.
42761         (main): Use isnanf() instead of isnan().
42762         * tests/test-roundf1.c: Include isnanf.h.
42763         (main): Use isnanf() instead of isnan().
42764
42765 2007-10-21  Eric Blake  <ebb9@byu.net>
42766
42767         * users.txt: Update URL for m4.
42768
42769 2007-10-21  Bruno Haible  <bruno@clisp.org>
42770
42771         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
42772
42773 2007-10-21  Bruno Haible  <bruno@clisp.org>
42774
42775         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
42776         Git's management files if the CVS files are not present.
42777
42778 2007-10-20  Bruno Haible  <bruno@clisp.org>
42779
42780         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
42781         gcc-3.4.x.
42782
42783 2007-10-20  Ben Pfaff  <blp@gnu.org>
42784
42785         * lib/math.in.h: Declare round, roundf, roundl if we are providing
42786         implementations.
42787         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
42788         * lib/round.c: New file.
42789         * lib/roundf.c: New file.
42790         * lib/roundl.c: New file.
42791         * m4/round.m4: New file.
42792         * m4/roundf.m4: New file.
42793         * m4/roundl.m4: New file.
42794         * m4/check-libm-func-m4: New file.
42795         * modules/math: Replace round, roundf, roundl related @VARS@ in
42796         math.in.h.
42797         * modules/round: New file.
42798         * modules/round-tests: New file.
42799         * modules/roundf: New file.
42800         * modules/roundf-tests: New file.
42801         * modules/roundl: New file.
42802         * modules/roundl-tests: New file.
42803         * tests/test-round1.c: New file.
42804         * tests/test-round2.c: New file.
42805         * tests/test-roundf1.c: New file.
42806         * tests/test-roundf2.c: New file.
42807         * tests/test-roundl.c: New file.
42808         * doc/functions/round.texi: Mention round module.
42809         * doc/functions/roundf.texi: Mention roundf module.
42810         * doc/functions/roundl.texi: Mention roundl module.
42811         * MODULES.html.sh: Mention new modules.
42812         Thanks to Bruno Haible for suggestions.
42813
42814 2007-10-20  Jim Meyering  <meyering@redhat.com>
42815
42816         * lib/xprintf.c: Include <config.h> unconditionally.
42817
42818         Change xprintf's license to GPL.
42819         * modules/xprintf (License): s/LGPL/GPL/, since this module
42820         depends on modules (exit and exitfail) which are GPL.
42821         Suggestion from Bruno Haible.
42822
42823         xprintf fixes.
42824         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
42825         Use a clearer diagnostic.
42826         Patch from Bruno Haible.
42827
42828 2007-10-20  Bruno Haible  <bruno@clisp.org>
42829
42830         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
42831         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
42832         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42833
42834 2007-10-20  Bruno Haible  <bruno@clisp.org>
42835
42836         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
42837         precision in the comparison result > x - 1 or similar.
42838         * tests/test-ceilf2.c (correct_result_p): Likewise.
42839         * tests/test-truncf2.c (correct_result_p): Likewise.
42840         * tests/test-trunc2.c (correct_result_p): Likewise.
42841         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42842
42843 2007-10-20  Bruno Haible  <bruno@clisp.org>
42844
42845         * modules/ceil: New file.
42846         * m4/ceil.m4: New file.
42847         * doc/functions/ceil.texi: Mention the 'ceil' module.
42848
42849 2007-10-20  Bruno Haible  <bruno@clisp.org>
42850
42851         * modules/floor: New file.
42852         * m4/floor.m4: New file.
42853         * doc/functions/floor.texi: Mention the 'floor' module.
42854
42855 2007-10-20  Bruno Haible  <bruno@clisp.org>
42856
42857         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
42858         of %a.
42859         * modules/floorf-tests (Depends-on): Likewise.
42860         * modules/truncf-tests (Depends-on): Likewise.
42861         * modules/trunc-tests (Depends-on): Likewise.
42862         Reported by Ben Pfaff.
42863
42864 2007-10-19  Jim Meyering  <meyering@redhat.com>
42865
42866         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
42867         Don't bother testing specific errno values.  Just test ferror.
42868
42869         New module: xprintf
42870         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
42871
42872 2007-10-19  Bruno Haible  <bruno@clisp.org>
42873
42874         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
42875         syntax.
42876         * modules/javaexec (Makefile.am): Likewise.
42877         * modules/relocatable-prog (Makefile.am): Likewise.
42878         Suggested by Jim Meyering.
42879
42880 2007-10-18  Bruno Haible  <bruno@clisp.org>
42881
42882         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
42883         Reported by Jim Meyering.
42884
42885 2007-10-18  Eric Blake  <ebb9@byu.net>
42886
42887         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
42888
42889 2007-10-18  Bruno Haible  <bruno@clisp.org>
42890
42891         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
42892         the format string into writable memory. Needed in Fortify conditions.
42893
42894 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
42895             Bruno Haible  <bruno@clisp.org>
42896
42897         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
42898         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
42899         * modules/trim (Depends-on): Add mbchar.
42900         (configure.ac): Add gl_FUNC_MBRTOWC.
42901         (Makefile.am): Augment lib_SOURCES.
42902
42903 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
42904
42905         Modify glob.c to use fstatat and dirfd, to simplify it.
42906         Suggested by Eric Blake.
42907         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
42908         Don't include <stdbool.h>; not used.
42909         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
42910         (link_exists_p): Simplify implementation, since we can now assume
42911         dirfd and fstatat.
42912         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
42913
42914 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42915
42916         * gnulib-tool (func_get_dependencies): Fix sed script to
42917         match only tests.
42918
42919 2007-10-17  Bruno Haible  <bruno@clisp.org>
42920
42921         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
42922         allow locale names without encoding suffix.
42923         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42924         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42925
42926 2007-10-16  Bruno Haible  <bruno@clisp.org>
42927
42928         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
42929         * lib/getgroups.c (getgroups): Likewise.
42930         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
42931
42932 2007-10-16  Bruno Haible  <bruno@clisp.org>
42933
42934         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
42935         * modules/malloc-posix (License): Likewise.
42936         * modules/realloc-posix (License): Likewise.
42937         * modules/calloc-posix (License): Likewise.
42938         * modules/intprops (License): Change from GPL to LGPL, with
42939         Paul Eggert's approval.
42940
42941 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42942
42943         Merge glibc changes into lib/glob.c.
42944
42945         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
42946         2007-10-15 04:59:03 UTC.  Here are the changes:
42947
42948         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
42949
42950         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
42951
42952         * lib/glob.c: Add some branch prediction throughout.
42953
42954         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
42955
42956         [BZ #5103]
42957         * lib/glob.c (glob): Recognize patterns starting \/.
42958
42959         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
42960
42961         [BZ #3996]
42962         * lib/glob.c (attribute_hidden): Define if not defined.
42963         (glob): Unescape dirname, filename or username when needed and not
42964         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
42965         is NULL.  Handle unescaped [ in pattern without closing ].
42966         Don't pass GLOB_CHECK down to recursive glob for directories.
42967         (__glob_pattern_type): New function.
42968         (__glob_pattern_p): Implement using __glob_pattern_type.
42969         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
42970         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
42971         Remove unreachable code.
42972
42973         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
42974
42975         * lib/glob.c (glob_in_dir): Add some comments and asserts to
42976         explain why there are no leaks.
42977
42978         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
42979
42980         [BZ #3253]
42981         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
42982         time, rather allocate increasingly bigger arrays of pointers, if
42983         possible with alloca, if too large with malloc.
42984
42985 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
42986
42987         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
42988         Problem reported by H.Merijn Brand in
42989         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
42990         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
42991         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
42992
42993 2007-10-15  Bruno Haible  <bruno@clisp.org>
42994
42995         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
42996         with explicit rpl_ prefix.
42997         * lib/fopen.c (fopen): Likewise.
42998         * lib/freopen.c (freopen): Likewise.
42999         * lib/iconv.c (iconv): Likewise.
43000         * lib/iconv_close.c (iconv_close): Likewise.
43001
43002 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43003
43004         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
43005
43006 2007-10-15  Bruno Haible  <bruno@clisp.org>
43007
43008         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
43009         <stddef.h> instead of <stdlib.h> since we only need NULL.
43010         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43011
43012 2007-10-15  Bruno Haible  <bruno@clisp.org>
43013
43014         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
43015         Replace paragraph talking about LIBOBJS.
43016         Reported by Colin Watson <cjwatson@debian.org>.
43017
43018 2007-10-15  Bruno Haible  <bruno@clisp.org>
43019
43020         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
43021         <stdlib.h> before using NULL.
43022
43023 2007-10-15  Simon Josefsson  <simon@josefsson.org>
43024
43025         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
43026         Reported by Albert Chin <china@thewrittenword.com>.
43027
43028 2007-10-14  Bruno Haible  <bruno@clisp.org>
43029
43030         * modules/iconv_open-utf-tests: New file.
43031         * tests/test-iconv-utf.c: New file.
43032
43033         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
43034         * modules/iconv_open-utf: New file.
43035         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
43036         (iconv, iconv_close): New declarations.
43037         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
43038         be defined.
43039         (iconv_open): Add special handling of conversion between UTF-8 and
43040         UTF-{16,32}{BE,LE}.
43041         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
43042         * lib/iconv_close.c: New file.
43043         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
43044         gl_FUNC_ICONV_OPEN.
43045         (gl_FUNC_ICONV_OPEN): Use it.
43046         (gl_FUNC_ICONV_OPEN_UTF): New macro.
43047         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
43048         and REPLACE_ICONV_UTF.
43049         * modules/iconv_open (Depends-on): Add c-strcase.
43050         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
43051         ICONV_CONST.
43052         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
43053
43054 2007-10-13  Albert Chin  <china@thewrittenword.com>
43055             Bruno Haible  <bruno@clisp.org>
43056
43057         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
43058         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
43059
43060 2007-10-13  Bruno Haible  <bruno@clisp.org>
43061
43062         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
43063         defined, use the ISO C99 inline semantics.
43064         * lib/argp.h (ARGP_EI): Likewise.
43065
43066 2007-10-13  Bruno Haible  <bruno@clisp.org>
43067
43068         Handle 'inline' change in gcc 4.3.0.
43069         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
43070         argp_fmtstream_write, argp_fmtstream_set_lmargin,
43071         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
43072         argp_fmtstream_point): Disable 'extern' declaration if the function
43073         definition is going to be provided inline.
43074         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
43075         semantics, not the ISO C99 inline semantics.
43076         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
43077         'extern' declaration if the function definition is going to be provided
43078         inline.
43079         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
43080         the GNU C inline semantics, not the ISO C99 inline semantics. With
43081         GCC 4.2, avoid a warning.
43082
43083 2007-10-13  Bruno Haible  <bruno@clisp.org>
43084
43085         * lib/freading.h (freading): Enable the use of __freading for
43086         glibc >= 2.7.
43087         * lib/freading.c (freading): Likewise.
43088
43089 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
43090
43091         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
43092         "warning: C99 inline functions are not supported; using GNU89".
43093
43094 2007-10-12  Bruno Haible  <bruno@clisp.org>
43095
43096         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
43097         of 2.
43098         * tests/test-ceilf2.c: New file.
43099         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
43100
43101         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
43102         * modules/ceilf-tests: Update.
43103
43104 2007-10-12  Bruno Haible  <bruno@clisp.org>
43105
43106         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
43107         of 2.
43108         * tests/test-floorf2.c: New file.
43109         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
43110
43111         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
43112         * modules/floorf-tests: Update.
43113
43114 2007-10-12  Bruno Haible  <bruno@clisp.org>
43115
43116         * tests/test-trunc2.c: New file.
43117         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
43118
43119         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
43120         * modules/trunc-tests: Update.
43121
43122 2007-10-12  Bruno Haible  <bruno@clisp.org>
43123
43124         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
43125         of 2.
43126         * tests/test-truncf2.c: New file.
43127         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
43128
43129         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
43130         * modules/truncf-tests: Update.
43131
43132 2007-10-11  Eric Blake  <ebb9@byu.net>
43133
43134         Don't claim strerror is broken on Interix.
43135         * doc/functions/strerror.texi (strerror): Known broken systems are
43136         now Solaris 8, and not Interix.
43137         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
43138         Interix on cross-compile.
43139         Reported by Martin Koeppe in
43140         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
43141
43142 2007-10-11  Bruno Haible  <bruno@clisp.org>
43143
43144         * modules/i-ring-tests: New file.
43145         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
43146         instead of assert.
43147
43148 2007-10-11  Bruno Haible  <bruno@clisp.org>
43149
43150         * modules/filenamecat-tests: New file.
43151         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
43152         * lib/filenamecat.c: Remove test code.
43153
43154 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
43155
43156         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
43157
43158         * lib/strerror.c: Include <string.h> always, to test interface,
43159         and to remove the need for the dummy.
43160         Include intprops.h to compute width instead of doing it ourselves
43161         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
43162         (strerror): Define it to return NULL if there's no system strerror.
43163         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
43164         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
43165         ancient pre-strerror Unix systems well any more.  Saying "unknown
43166         system error" is enough.
43167         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
43168         simpler strerror.c implementation.
43169         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
43170         Simplify the tests to reflect the simpler strerror implementation.
43171         * modules/strerror (Depends-on): Add intprops.
43172
43173 2007-10-09  Eric Blake  <ebb9@byu.net>
43174
43175         Silence test-fpending.
43176         * modules/fpending-tests (Files): Add wrapper script.
43177         * tests/test-fpending.sh: New file.
43178
43179 2007-10-09  Bruno Haible  <bruno@clisp.org>
43180
43181         * MODULES.html.sh (func_module): Don't create a hyperlink for
43182         function names like 'printf_frexp'.
43183         (Misc): Add crc, memxor.
43184         (Characteristics of floating types): New section.
43185         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
43186         isnanf-nolibm, signbit, trunc, truncf, truncl.
43187         (Enhancements for ISO C 99 functions): New subsection Input/output.
43188         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
43189         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
43190         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
43191         (Compatibility checks for POSIX:2001 functions): Add clock-time.
43192         (Enhancements for POSIX:2001 functions): Add chdir-long.
43193         (File system functions): Add areadlink, chdir-safer, read-file.
43194         Remove cycle-check.
43195         (File system as inode set): New section.
43196         (Date and time): Add gethrxtime.
43197         (Multithreading): Add openmp.
43198         (Internationalization functions): Add localename.
43199         (Unicode string functions): Add unistr/u*-mbsnlen.
43200         (Support for maintaining and releasing projects): Add git-version-gen.
43201         (Lone files): Remove directories.
43202
43203 2007-10-08  Ben Pfaff  <blp@gnu.org>
43204
43205         * lib/xmalloca.h: Fix typo in comment.
43206
43207 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
43208
43209         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
43210         when avoiding problems with integer overflow.  Use a portable test
43211         instead.
43212
43213 2007-10-08  Simon Josefsson  <simon@josefsson.org>
43214
43215         * modules/dummy (License): Change to LGPLv2+.
43216         * modules/float (License): Likewise
43217         * modules/realloc (License): Likewise
43218         * modules/stdlib (License): Likewise
43219
43220 2007-10-07  Bruno Haible  <bruno@clisp.org>
43221
43222         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
43223         * floor.c (TWO_MANT_DIG): Likewise.
43224         * ceil.c (TWO_MANT_DIG): Likewise.
43225         Reported by Ben Pfaff.
43226
43227 2007-10-07  Bruno Haible  <bruno@clisp.org>
43228
43229         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
43230         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
43231         * lib/frexp.c (FUNC): Likewise.
43232         * lib/printf-frexp.h (printf_frexp): Likewise.
43233         * lib/printf-frexpl.h (printf_frexpl): Likewise.
43234         * lib/printf-frexp.c (FUNC): Likewise.
43235         Suggested by Jim Meyering.
43236
43237 2007-10-07  Jim Meyering  <meyering@redhat.com>
43238
43239         Make xnanosleep's integer overflow test more robust.
43240         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
43241         so that gcc-4.3.0 doesn't optimize away this test for overflow.
43242
43243 2007-10-07  Bruno Haible  <bruno@clisp.org>
43244
43245         * NEWS: Mention the license change.
43246
43247         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
43248         abbreviations in the modules files.
43249
43250         Change copyright notice from GPLv2+ to GPLv3+.
43251         * README: Change copyright notice.
43252         * MODULES.html.sh: Likewise.
43253         * build-aux/bootstrap.conf: Likewise.
43254         * build-aux/config.libpath: Likewise.
43255         * build-aux/csharpcomp.sh.in: Likewise.
43256         * build-aux/csharpexec.sh.in: Likewise.
43257         * build-aux/install-reloc: Likewise.
43258         * build-aux/javacomp.sh.in: Likewise.
43259         * build-aux/javaexec.sh.in: Likewise.
43260         * build-aux/ldd.sh.in: Likewise.
43261         * build-aux/reloc-ldflags: Likewise.
43262         * build-aux/relocatable.sh.in: Likewise.
43263         * build-aux/x-to-1.in: Likewise.
43264         * check-module: Likewise.
43265         * config/srclistvars.sh: Likewise.
43266         * gnulib-tool: Likewise.
43267         * lib/acl-internal.h: Likewise.
43268         * lib/acl.c: Likewise.
43269         * lib/acl.h: Likewise.
43270         * lib/acl_entries.c: Likewise.
43271         * lib/areadlink-with-size.c: Likewise.
43272         * lib/areadlink.c: Likewise.
43273         * lib/areadlink.h: Likewise.
43274         * lib/argmatch.c: Likewise.
43275         * lib/argmatch.h: Likewise.
43276         * lib/argp-ba.c: Likewise.
43277         * lib/argp-eexst.c: Likewise.
43278         * lib/argp-fmtstream.c: Likewise.
43279         * lib/argp-fmtstream.h: Likewise.
43280         * lib/argp-fs-xinl.c: Likewise.
43281         * lib/argp-help.c: Likewise.
43282         * lib/argp-namefrob.h: Likewise.
43283         * lib/argp-parse.c: Likewise.
43284         * lib/argp-pin.c: Likewise.
43285         * lib/argp-pv.c: Likewise.
43286         * lib/argp-pvh.c: Likewise.
43287         * lib/argp-xinl.c: Likewise.
43288         * lib/argp.h: Likewise.
43289         * lib/at-func.c: Likewise.
43290         * lib/atanl.c: Likewise.
43291         * lib/backupfile.c: Likewise.
43292         * lib/backupfile.h: Likewise.
43293         * lib/basename.c: Likewise.
43294         * lib/binary-io.h: Likewise.
43295         * lib/byteswap.in.h: Likewise.
43296         * lib/c-stack.c: Likewise.
43297         * lib/c-stack.h: Likewise.
43298         * lib/c-strcasestr.c: Likewise.
43299         * lib/c-strcasestr.h: Likewise.
43300         * lib/c-strstr.c: Likewise.
43301         * lib/c-strstr.h: Likewise.
43302         * lib/c-strtod.c: Likewise.
43303         * lib/calloc.c: Likewise.
43304         * lib/canon-host.c: Likewise.
43305         * lib/canon-host.h: Likewise.
43306         * lib/canonicalize-lgpl.c: Likewise.
43307         * lib/canonicalize.c: Likewise.
43308         * lib/canonicalize.h: Likewise.
43309         * lib/ceil.c: Likewise.
43310         * lib/ceilf.c: Likewise.
43311         * lib/ceill.c: Likewise.
43312         * lib/chdir-long.c: Likewise.
43313         * lib/chdir-long.h: Likewise.
43314         * lib/chdir-safer.c: Likewise.
43315         * lib/chdir-safer.h: Likewise.
43316         * lib/chown.c: Likewise.
43317         * lib/classpath.c: Likewise.
43318         * lib/classpath.h: Likewise.
43319         * lib/clean-temp.c: Likewise.
43320         * lib/clean-temp.h: Likewise.
43321         * lib/cloexec.c: Likewise.
43322         * lib/close-stream.c: Likewise.
43323         * lib/closein.c: Likewise.
43324         * lib/closein.h: Likewise.
43325         * lib/closeout.c: Likewise.
43326         * lib/closeout.h: Likewise.
43327         * lib/concat-filename.c: Likewise.
43328         * lib/copy-file.c: Likewise.
43329         * lib/copy-file.h: Likewise.
43330         * lib/count-one-bits.h: Likewise.
43331         * lib/crc.c: Likewise.
43332         * lib/crc.h: Likewise.
43333         * lib/creat-safer.c: Likewise.
43334         * lib/csharpcomp.c: Likewise.
43335         * lib/csharpcomp.h: Likewise.
43336         * lib/csharpexec.c: Likewise.
43337         * lib/csharpexec.h: Likewise.
43338         * lib/cycle-check.c: Likewise.
43339         * lib/cycle-check.h: Likewise.
43340         * lib/diacrit.c: Likewise.
43341         * lib/diacrit.h: Likewise.
43342         * lib/diffseq.h: Likewise.
43343         * lib/dirchownmod.c: Likewise.
43344         * lib/dirent.in.h: Likewise.
43345         * lib/dirfd.c: Likewise.
43346         * lib/dirfd.h: Likewise.
43347         * lib/dirname.c: Likewise.
43348         * lib/dirname.h: Likewise.
43349         * lib/dummy.c: Likewise.
43350         * lib/dup-safer.c: Likewise.
43351         * lib/dup2.c: Likewise.
43352         * lib/eealloc.h: Likewise.
43353         * lib/error.c: Likewise.
43354         * lib/error.h: Likewise.
43355         * lib/euidaccess.c: Likewise.
43356         * lib/exclude.c: Likewise.
43357         * lib/exclude.h: Likewise.
43358         * lib/execute.c: Likewise.
43359         * lib/execute.h: Likewise.
43360         * lib/exitfail.c: Likewise.
43361         * lib/exitfail.h: Likewise.
43362         * lib/expl.c: Likewise.
43363         * lib/fatal-signal.c: Likewise.
43364         * lib/fatal-signal.h: Likewise.
43365         * lib/fbufmode.c: Likewise.
43366         * lib/fbufmode.h: Likewise.
43367         * lib/fchdir.c: Likewise.
43368         * lib/fchmodat.c: Likewise.
43369         * lib/fchownat.c: Likewise.
43370         * lib/fcntl--.h: Likewise.
43371         * lib/fcntl-safer.h: Likewise.
43372         * lib/fcntl.in.h: Likewise.
43373         * lib/fd-safer.c: Likewise.
43374         * lib/fflush.c: Likewise.
43375         * lib/file-has-acl.c: Likewise.
43376         * lib/file-set.c: Likewise.
43377         * lib/file-type.c: Likewise.
43378         * lib/file-type.h: Likewise.
43379         * lib/fileblocks.c: Likewise.
43380         * lib/filemode.c: Likewise.
43381         * lib/filemode.h: Likewise.
43382         * lib/filename.h: Likewise.
43383         * lib/filenamecat.c: Likewise.
43384         * lib/filenamecat.h: Likewise.
43385         * lib/findprog.c: Likewise.
43386         * lib/findprog.h: Likewise.
43387         * lib/float.in.h: Likewise.
43388         * lib/floor.c: Likewise.
43389         * lib/floorf.c: Likewise.
43390         * lib/floorl.c: Likewise.
43391         * lib/fopen-safer.c: Likewise.
43392         * lib/fopen.c: Likewise.
43393         * lib/fpending.c: Likewise.
43394         * lib/fpending.h: Likewise.
43395         * lib/fprintf.c: Likewise.
43396         * lib/fprintftime.h: Likewise.
43397         * lib/fpucw.h: Likewise.
43398         * lib/fpurge.c: Likewise.
43399         * lib/fpurge.h: Likewise.
43400         * lib/freadable.c: Likewise.
43401         * lib/freadable.h: Likewise.
43402         * lib/freadahead.c: Likewise.
43403         * lib/freadahead.h: Likewise.
43404         * lib/freading.c: Likewise.
43405         * lib/freading.h: Likewise.
43406         * lib/free.c: Likewise.
43407         * lib/freopen.c: Likewise.
43408         * lib/frexp.c: Likewise.
43409         * lib/frexpl.c: Likewise.
43410         * lib/fseek.c: Likewise.
43411         * lib/fseterr.c: Likewise.
43412         * lib/fseterr.h: Likewise.
43413         * lib/fstatat.c: Likewise.
43414         * lib/fstrcmp.c: Likewise.
43415         * lib/fstrcmp.h: Likewise.
43416         * lib/fsusage.c: Likewise.
43417         * lib/fsusage.h: Likewise.
43418         * lib/ftell.c: Likewise.
43419         * lib/ftello.c: Likewise.
43420         * lib/fts-cycle.c: Likewise.
43421         * lib/fts.c: Likewise.
43422         * lib/fts_.h: Likewise.
43423         * lib/full-read.c: Likewise.
43424         * lib/full-read.h: Likewise.
43425         * lib/full-write.c: Likewise.
43426         * lib/full-write.h: Likewise.
43427         * lib/fwritable.c: Likewise.
43428         * lib/fwritable.h: Likewise.
43429         * lib/fwriteerror.c: Likewise.
43430         * lib/fwriteerror.h: Likewise.
43431         * lib/fwriting.c: Likewise.
43432         * lib/fwriting.h: Likewise.
43433         * lib/gcd.c: Likewise.
43434         * lib/gcd.h: Likewise.
43435         * lib/getcwd.c: Likewise.
43436         * lib/getdate.h: Likewise.
43437         * lib/getdate.y: Likewise.
43438         * lib/getdomainname.c: Likewise.
43439         * lib/getdomainname.h: Likewise.
43440         * lib/getgroups.c: Likewise.
43441         * lib/gethostname.c: Likewise.
43442         * lib/gethrxtime.c: Likewise.
43443         * lib/gethrxtime.h: Likewise.
43444         * lib/getloadavg.c: Likewise.
43445         * lib/getndelim2.c: Likewise.
43446         * lib/getndelim2.h: Likewise.
43447         * lib/getnline.c: Likewise.
43448         * lib/getnline.h: Likewise.
43449         * lib/getopt.c: Likewise.
43450         * lib/getopt.in.h: Likewise.
43451         * lib/getopt1.c: Likewise.
43452         * lib/getopt_int.h: Likewise.
43453         * lib/getpagesize.h: Likewise.
43454         * lib/getsubopt.c: Likewise.
43455         * lib/gettime.c: Likewise.
43456         * lib/getugroups.c: Likewise.
43457         * lib/getugroups.h: Likewise.
43458         * lib/getusershell.c: Likewise.
43459         * lib/gl_anyavltree_list1.h: Likewise.
43460         * lib/gl_anyavltree_list2.h: Likewise.
43461         * lib/gl_anyhash_list1.h: Likewise.
43462         * lib/gl_anyhash_list2.h: Likewise.
43463         * lib/gl_anylinked_list1.h: Likewise.
43464         * lib/gl_anylinked_list2.h: Likewise.
43465         * lib/gl_anyrbtree_list1.h: Likewise.
43466         * lib/gl_anyrbtree_list2.h: Likewise.
43467         * lib/gl_anytree_list1.h: Likewise.
43468         * lib/gl_anytree_list2.h: Likewise.
43469         * lib/gl_anytree_oset.h: Likewise.
43470         * lib/gl_anytreehash_list1.h: Likewise.
43471         * lib/gl_anytreehash_list2.h: Likewise.
43472         * lib/gl_array_list.c: Likewise.
43473         * lib/gl_array_list.h: Likewise.
43474         * lib/gl_array_oset.c: Likewise.
43475         * lib/gl_array_oset.h: Likewise.
43476         * lib/gl_avltree_list.c: Likewise.
43477         * lib/gl_avltree_list.h: Likewise.
43478         * lib/gl_avltree_oset.c: Likewise.
43479         * lib/gl_avltree_oset.h: Likewise.
43480         * lib/gl_avltreehash_list.c: Likewise.
43481         * lib/gl_avltreehash_list.h: Likewise.
43482         * lib/gl_carray_list.c: Likewise.
43483         * lib/gl_carray_list.h: Likewise.
43484         * lib/gl_linked_list.c: Likewise.
43485         * lib/gl_linked_list.h: Likewise.
43486         * lib/gl_linkedhash_list.c: Likewise.
43487         * lib/gl_linkedhash_list.h: Likewise.
43488         * lib/gl_list.c: Likewise.
43489         * lib/gl_list.h: Likewise.
43490         * lib/gl_oset.c: Likewise.
43491         * lib/gl_oset.h: Likewise.
43492         * lib/gl_rbtree_list.c: Likewise.
43493         * lib/gl_rbtree_list.h: Likewise.
43494         * lib/gl_rbtree_oset.c: Likewise.
43495         * lib/gl_rbtree_oset.h: Likewise.
43496         * lib/gl_rbtreehash_list.c: Likewise.
43497         * lib/gl_rbtreehash_list.h: Likewise.
43498         * lib/gl_sublist.c: Likewise.
43499         * lib/gl_sublist.h: Likewise.
43500         * lib/group-member.c: Likewise.
43501         * lib/group-member.h: Likewise.
43502         * lib/hard-locale.c: Likewise.
43503         * lib/hard-locale.h: Likewise.
43504         * lib/hash-pjw.c: Likewise.
43505         * lib/hash-pjw.h: Likewise.
43506         * lib/hash-triple.c: Likewise.
43507         * lib/hash.c: Likewise.
43508         * lib/hash.h: Likewise.
43509         * lib/human.c: Likewise.
43510         * lib/human.h: Likewise.
43511         * lib/i-ring.c: Likewise.
43512         * lib/i-ring.h: Likewise.
43513         * lib/idcache.c: Likewise.
43514         * lib/imaxabs.c: Likewise.
43515         * lib/imaxdiv.c: Likewise.
43516         * lib/inet_pton.c: Likewise.
43517         * lib/inet_pton.h: Likewise.
43518         * lib/intprops.h: Likewise.
43519         * lib/inttostr.c: Likewise.
43520         * lib/inttostr.h: Likewise.
43521         * lib/inttypes.in.h: Likewise.
43522         * lib/isapipe.c: Likewise.
43523         * lib/isdir.c: Likewise.
43524         * lib/isnan.c: Likewise.
43525         * lib/isnan.h: Likewise.
43526         * lib/isnanf.c: Likewise.
43527         * lib/isnanf.h: Likewise.
43528         * lib/isnanl-nolibm.h: Likewise.
43529         * lib/isnanl.c: Likewise.
43530         * lib/isnanl.h: Likewise.
43531         * lib/javacomp.c: Likewise.
43532         * lib/javacomp.h: Likewise.
43533         * lib/javaexec.c: Likewise.
43534         * lib/javaexec.h: Likewise.
43535         * lib/javaversion.c: Likewise.
43536         * lib/javaversion.h: Likewise.
43537         * lib/javaversion.java: Likewise.
43538         * lib/lbrkprop.h: Likewise.
43539         * lib/lchmod.h: Likewise.
43540         * lib/lchown.c: Likewise.
43541         * lib/ldexpl.c: Likewise.
43542         * lib/linebreak.c: Likewise.
43543         * lib/linebreak.h: Likewise.
43544         * lib/linebuffer.c: Likewise.
43545         * lib/linebuffer.h: Likewise.
43546         * lib/locale.in.h: Likewise.
43547         * lib/logl.c: Likewise.
43548         * lib/long-options.c: Likewise.
43549         * lib/long-options.h: Likewise.
43550         * lib/lstat.c: Likewise.
43551         * lib/lstat.h: Likewise.
43552         * lib/math.in.h: Likewise.
43553         * lib/mbchar.c: Likewise.
43554         * lib/mbchar.h: Likewise.
43555         * lib/mbfile.h: Likewise.
43556         * lib/mbiter.h: Likewise.
43557         * lib/mbscasecmp.c: Likewise.
43558         * lib/mbscasestr.c: Likewise.
43559         * lib/mbschr.c: Likewise.
43560         * lib/mbscspn.c: Likewise.
43561         * lib/mbslen.c: Likewise.
43562         * lib/mbsncasecmp.c: Likewise.
43563         * lib/mbsnlen.c: Likewise.
43564         * lib/mbspbrk.c: Likewise.
43565         * lib/mbspcasecmp.c: Likewise.
43566         * lib/mbsrchr.c: Likewise.
43567         * lib/mbssep.c: Likewise.
43568         * lib/mbsspn.c: Likewise.
43569         * lib/mbsstr.c: Likewise.
43570         * lib/mbstok_r.c: Likewise.
43571         * lib/mbswidth.c: Likewise.
43572         * lib/mbswidth.h: Likewise.
43573         * lib/mbuiter.h: Likewise.
43574         * lib/memcasecmp.c: Likewise.
43575         * lib/memcasecmp.h: Likewise.
43576         * lib/memchr.c: Likewise.
43577         * lib/memcmp.c: Likewise.
43578         * lib/memcoll.c: Likewise.
43579         * lib/memcoll.h: Likewise.
43580         * lib/memcpy.c: Likewise.
43581         * lib/memrchr.c: Likewise.
43582         * lib/mkancesdirs.c: Likewise.
43583         * lib/mkdir-p.c: Likewise.
43584         * lib/mkdir-p.h: Likewise.
43585         * lib/mkdir.c: Likewise.
43586         * lib/mkdirat.c: Likewise.
43587         * lib/mkdtemp.c: Likewise.
43588         * lib/mkstemp-safer.c: Likewise.
43589         * lib/mkstemp.c: Likewise.
43590         * lib/modechange.c: Likewise.
43591         * lib/modechange.h: Likewise.
43592         * lib/mountlist.c: Likewise.
43593         * lib/mountlist.h: Likewise.
43594         * lib/mpsort.c: Likewise.
43595         * lib/nanosleep.c: Likewise.
43596         * lib/obstack.c: Likewise.
43597         * lib/obstack.h: Likewise.
43598         * lib/open-safer.c: Likewise.
43599         * lib/open.c: Likewise.
43600         * lib/openat-die.c: Likewise.
43601         * lib/openat-priv.h: Likewise.
43602         * lib/openat-proc.c: Likewise.
43603         * lib/openat.c: Likewise.
43604         * lib/openat.h: Likewise.
43605         * lib/pagealign_alloc.c: Likewise.
43606         * lib/pagealign_alloc.h: Likewise.
43607         * lib/physmem.c: Likewise.
43608         * lib/physmem.h: Likewise.
43609         * lib/pipe-safer.c: Likewise.
43610         * lib/pipe.c: Likewise.
43611         * lib/pipe.h: Likewise.
43612         * lib/posixtm.c: Likewise.
43613         * lib/posixtm.h: Likewise.
43614         * lib/posixver.c: Likewise.
43615         * lib/printf-frexp.c: Likewise.
43616         * lib/printf-frexp.h: Likewise.
43617         * lib/printf-frexpl.c: Likewise.
43618         * lib/printf-frexpl.h: Likewise.
43619         * lib/printf.c: Likewise.
43620         * lib/progname.c: Likewise.
43621         * lib/progname.h: Likewise.
43622         * lib/progreloc.c: Likewise.
43623         * lib/putenv.c: Likewise.
43624         * lib/quote.c: Likewise.
43625         * lib/quote.h: Likewise.
43626         * lib/quotearg.c: Likewise.
43627         * lib/quotearg.h: Likewise.
43628         * lib/raise.c: Likewise.
43629         * lib/readline.c: Likewise.
43630         * lib/readline.h: Likewise.
43631         * lib/readlink.c: Likewise.
43632         * lib/readtokens.c: Likewise.
43633         * lib/readtokens.h: Likewise.
43634         * lib/readtokens0.c: Likewise.
43635         * lib/readtokens0.h: Likewise.
43636         * lib/readutmp.c: Likewise.
43637         * lib/readutmp.h: Likewise.
43638         * lib/realloc.c: Likewise.
43639         * lib/relocwrapper.c: Likewise.
43640         * lib/rename-dest-slash.c: Likewise.
43641         * lib/rename.c: Likewise.
43642         * lib/rmdir.c: Likewise.
43643         * lib/rpmatch.c: Likewise.
43644         * lib/safe-read.c: Likewise.
43645         * lib/safe-read.h: Likewise.
43646         * lib/safe-write.c: Likewise.
43647         * lib/safe-write.h: Likewise.
43648         * lib/same-inode.h: Likewise.
43649         * lib/same.c: Likewise.
43650         * lib/same.h: Likewise.
43651         * lib/save-cwd.c: Likewise.
43652         * lib/save-cwd.h: Likewise.
43653         * lib/savedir.c: Likewise.
43654         * lib/savedir.h: Likewise.
43655         * lib/savewd.c: Likewise.
43656         * lib/savewd.h: Likewise.
43657         * lib/search.in.h: Likewise.
43658         * lib/setenv.c: Likewise.
43659         * lib/setenv.h: Likewise.
43660         * lib/settime.c: Likewise.
43661         * lib/sh-quote.c: Likewise.
43662         * lib/sh-quote.h: Likewise.
43663         * lib/sig2str.c: Likewise.
43664         * lib/sig2str.h: Likewise.
43665         * lib/signal.in.h: Likewise.
43666         * lib/signbitd.c: Likewise.
43667         * lib/signbitf.c: Likewise.
43668         * lib/signbitl.c: Likewise.
43669         * lib/sigprocmask.c: Likewise.
43670         * lib/sincosl.c: Likewise.
43671         * lib/sleep.c: Likewise.
43672         * lib/sprintf.c: Likewise.
43673         * lib/sqrtl.c: Likewise.
43674         * lib/stat-time.h: Likewise.
43675         * lib/stdio--.h: Likewise.
43676         * lib/stdio-safer.h: Likewise.
43677         * lib/stdlib--.h: Likewise.
43678         * lib/stdlib-safer.h: Likewise.
43679         * lib/stdlib.in.h: Likewise.
43680         * lib/stpcpy.c: Likewise.
43681         * lib/stpncpy.c: Likewise.
43682         * lib/strchrnul.c: Likewise.
43683         * lib/strcspn.c: Likewise.
43684         * lib/strerror.c: Likewise.
43685         * lib/strftime.c: Likewise.
43686         * lib/strftime.h: Likewise.
43687         * lib/striconveh.c: Likewise.
43688         * lib/striconveh.h: Likewise.
43689         * lib/striconveha.c: Likewise.
43690         * lib/striconveha.h: Likewise.
43691         * lib/stripslash.c: Likewise.
43692         * lib/strnlen1.c: Likewise.
43693         * lib/strnlen1.h: Likewise.
43694         * lib/strtod.c: Likewise.
43695         * lib/strtoimax.c: Likewise.
43696         * lib/strtok_r.c: Likewise.
43697         * lib/strtol.c: Likewise.
43698         * lib/strtoll.c: Likewise.
43699         * lib/strtoul.c: Likewise.
43700         * lib/strtoull.c: Likewise.
43701         * lib/sysexits.in.h: Likewise.
43702         * lib/tempname.c: Likewise.
43703         * lib/tempname.h: Likewise.
43704         * lib/timespec.h: Likewise.
43705         * lib/tls.c: Likewise.
43706         * lib/tls.h: Likewise.
43707         * lib/tmpdir.c: Likewise.
43708         * lib/tmpdir.h: Likewise.
43709         * lib/tmpfile-safer.c: Likewise.
43710         * lib/tmpfile.c: Likewise.
43711         * lib/trigl.c: Likewise.
43712         * lib/trigl.h: Likewise.
43713         * lib/trim.c: Likewise.
43714         * lib/trim.h: Likewise.
43715         * lib/trunc.c: Likewise.
43716         * lib/truncf.c: Likewise.
43717         * lib/truncl.c: Likewise.
43718         * lib/tsearch.c: Likewise.
43719         * lib/unicodeio.c: Likewise.
43720         * lib/unicodeio.h: Likewise.
43721         * lib/unistd--.h: Likewise.
43722         * lib/unistd-safer.h: Likewise.
43723         * lib/unistdio/ulc-fprintf.c: Likewise.
43724         * lib/unistdio/ulc-vfprintf.c: Likewise.
43725         * lib/unlinkdir.c: Likewise.
43726         * lib/unlinkdir.h: Likewise.
43727         * lib/unlocked-io.h: Likewise.
43728         * lib/unsetenv.c: Likewise.
43729         * lib/userspec.c: Likewise.
43730         * lib/utime.c: Likewise.
43731         * lib/utimecmp.c: Likewise.
43732         * lib/utimecmp.h: Likewise.
43733         * lib/utimens.c: Likewise.
43734         * lib/verify.h: Likewise.
43735         * lib/verror.c: Likewise.
43736         * lib/verror.h: Likewise.
43737         * lib/version-etc-fsf.c: Likewise.
43738         * lib/version-etc.c: Likewise.
43739         * lib/version-etc.h: Likewise.
43740         * lib/vfprintf.c: Likewise.
43741         * lib/vprintf.c: Likewise.
43742         * lib/vsprintf.c: Likewise.
43743         * lib/w32spawn.h: Likewise.
43744         * lib/wait-process.c: Likewise.
43745         * lib/wait-process.h: Likewise.
43746         * lib/wcwidth.c: Likewise.
43747         * lib/write-any-file.c: Likewise.
43748         * lib/xalloc-die.c: Likewise.
43749         * lib/xalloc.h: Likewise.
43750         * lib/xasprintf.c: Likewise.
43751         * lib/xgetcwd.c: Likewise.
43752         * lib/xgetcwd.h: Likewise.
43753         * lib/xgetdomainname.c: Likewise.
43754         * lib/xgetdomainname.h: Likewise.
43755         * lib/xgethostname.c: Likewise.
43756         * lib/xmalloc.c: Likewise.
43757         * lib/xmalloca.c: Likewise.
43758         * lib/xmalloca.h: Likewise.
43759         * lib/xmemcoll.c: Likewise.
43760         * lib/xnanosleep.c: Likewise.
43761         * lib/xreadlink.c: Likewise.
43762         * lib/xreadlink.h: Likewise.
43763         * lib/xsetenv.c: Likewise.
43764         * lib/xsetenv.h: Likewise.
43765         * lib/xstriconv.c: Likewise.
43766         * lib/xstriconv.h: Likewise.
43767         * lib/xstrndup.c: Likewise.
43768         * lib/xstrndup.h: Likewise.
43769         * lib/xstrtod.c: Likewise.
43770         * lib/xstrtod.h: Likewise.
43771         * lib/xstrtol-error.c: Likewise.
43772         * lib/xstrtol.c: Likewise.
43773         * lib/xstrtol.h: Likewise.
43774         * lib/xtime.h: Likewise.
43775         * lib/xvasprintf.c: Likewise.
43776         * lib/xvasprintf.h: Likewise.
43777         * lib/yesno.c: Likewise.
43778         * lib/yesno.h: Likewise.
43779         * posix-modules: Likewise.
43780         * tests/test-alloca-opt.c: Likewise.
43781         * tests/test-arcfour.c: Likewise.
43782         * tests/test-arctwo.c: Likewise.
43783         * tests/test-argmatch.c: Likewise.
43784         * tests/test-argp-2.sh: Likewise.
43785         * tests/test-argp.c: Likewise.
43786         * tests/test-arpa_inet.c: Likewise.
43787         * tests/test-array_list.c: Likewise.
43788         * tests/test-array_oset.c: Likewise.
43789         * tests/test-atexit.c: Likewise.
43790         * tests/test-avltree_list.c: Likewise.
43791         * tests/test-avltree_oset.c: Likewise.
43792         * tests/test-avltreehash_list.c: Likewise.
43793         * tests/test-base64.c: Likewise.
43794         * tests/test-binary-io.c: Likewise.
43795         * tests/test-byteswap.c: Likewise.
43796         * tests/test-c-ctype.c: Likewise.
43797         * tests/test-c-strcasecmp.c: Likewise.
43798         * tests/test-c-strcasestr.c: Likewise.
43799         * tests/test-c-strncasecmp.c: Likewise.
43800         * tests/test-c-strstr.c: Likewise.
43801         * tests/test-canonicalize-lgpl.c: Likewise.
43802         * tests/test-canonicalize.c: Likewise.
43803         * tests/test-carray_list.c: Likewise.
43804         * tests/test-ceilf.c: Likewise.
43805         * tests/test-ceill.c: Likewise.
43806         * tests/test-count-one-bits.c: Likewise.
43807         * tests/test-crc.c: Likewise.
43808         * tests/test-dirname.c: Likewise.
43809         * tests/test-fbufmode.c: Likewise.
43810         * tests/test-fcntl.c: Likewise.
43811         * tests/test-fflush.c: Likewise.
43812         * tests/test-floorf.c: Likewise.
43813         * tests/test-floorl.c: Likewise.
43814         * tests/test-fopen.c: Likewise.
43815         * tests/test-fprintf-posix.c: Likewise.
43816         * tests/test-fprintf-posix.h: Likewise.
43817         * tests/test-fpurge.c: Likewise.
43818         * tests/test-freadable.c: Likewise.
43819         * tests/test-freadahead.c: Likewise.
43820         * tests/test-freading.c: Likewise.
43821         * tests/test-freopen.c: Likewise.
43822         * tests/test-frexp.c: Likewise.
43823         * tests/test-frexpl.c: Likewise.
43824         * tests/test-fseek.c: Likewise.
43825         * tests/test-fseeko.c: Likewise.
43826         * tests/test-fseterr.c: Likewise.
43827         * tests/test-fstrcmp.c: Likewise.
43828         * tests/test-ftell.c: Likewise.
43829         * tests/test-ftello.c: Likewise.
43830         * tests/test-fwritable.c: Likewise.
43831         * tests/test-fwriting.c: Likewise.
43832         * tests/test-getaddrinfo.c: Likewise.
43833         * tests/test-getpass.c: Likewise.
43834         * tests/test-gettimeofday.c: Likewise.
43835         * tests/test-hmac-md5.c: Likewise.
43836         * tests/test-hmac-sha1.c: Likewise.
43837         * tests/test-iconv.c: Likewise.
43838         * tests/test-iconvme.c: Likewise.
43839         * tests/test-inttypes.c: Likewise.
43840         * tests/test-isnan.c: Likewise.
43841         * tests/test-isnanf.c: Likewise.
43842         * tests/test-isnanl-nolibm.c: Likewise.
43843         * tests/test-isnanl.c: Likewise.
43844         * tests/test-isnanl.h: Likewise.
43845         * tests/test-ldexpl.c: Likewise.
43846         * tests/test-linked_list.c: Likewise.
43847         * tests/test-linkedhash_list.c: Likewise.
43848         * tests/test-locale.c: Likewise.
43849         * tests/test-localename.c: Likewise.
43850         * tests/test-lock.c: Likewise.
43851         * tests/test-lseek.c: Likewise.
43852         * tests/test-malloca.c: Likewise.
43853         * tests/test-math.c: Likewise.
43854         * tests/test-mbscasecmp.c: Likewise.
43855         * tests/test-mbscasestr1.c: Likewise.
43856         * tests/test-mbscasestr2.c: Likewise.
43857         * tests/test-mbscasestr3.c: Likewise.
43858         * tests/test-mbscasestr4.c: Likewise.
43859         * tests/test-mbschr.c: Likewise.
43860         * tests/test-mbscspn.c: Likewise.
43861         * tests/test-mbsncasecmp.c: Likewise.
43862         * tests/test-mbspbrk.c: Likewise.
43863         * tests/test-mbspcasecmp.c: Likewise.
43864         * tests/test-mbsrchr.c: Likewise.
43865         * tests/test-mbsspn.c: Likewise.
43866         * tests/test-mbsstr1.c: Likewise.
43867         * tests/test-mbsstr2.c: Likewise.
43868         * tests/test-mbsstr3.c: Likewise.
43869         * tests/test-md5.c: Likewise.
43870         * tests/test-memmem.c: Likewise.
43871         * tests/test-netinet_in.c: Likewise.
43872         * tests/test-open.c: Likewise.
43873         * tests/test-printf-frexp.c: Likewise.
43874         * tests/test-printf-frexpl.c: Likewise.
43875         * tests/test-printf-posix.c: Likewise.
43876         * tests/test-printf-posix.h: Likewise.
43877         * tests/test-rbtree_list.c: Likewise.
43878         * tests/test-rbtree_oset.c: Likewise.
43879         * tests/test-rbtreehash_list.c: Likewise.
43880         * tests/test-read-file.c: Likewise.
43881         * tests/test-rijndael.c: Likewise.
43882         * tests/test-search.c: Likewise.
43883         * tests/test-signbit.c: Likewise.
43884         * tests/test-sleep.c: Likewise.
43885         * tests/test-snprintf-posix.c: Likewise.
43886         * tests/test-snprintf-posix.h: Likewise.
43887         * tests/test-snprintf.c: Likewise.
43888         * tests/test-sprintf-posix.c: Likewise.
43889         * tests/test-sprintf-posix.h: Likewise.
43890         * tests/test-stat-time.c: Likewise.
43891         * tests/test-stdbool.c: Likewise.
43892         * tests/test-stdint.c: Likewise.
43893         * tests/test-stdio.c: Likewise.
43894         * tests/test-stdlib.c: Likewise.
43895         * tests/test-stpncpy.c: Likewise.
43896         * tests/test-strcasestr.c: Likewise.
43897         * tests/test-striconv.c: Likewise.
43898         * tests/test-striconveh.c: Likewise.
43899         * tests/test-striconveha.c: Likewise.
43900         * tests/test-string.c: Likewise.
43901         * tests/test-sys_select.c: Likewise.
43902         * tests/test-sys_socket.c: Likewise.
43903         * tests/test-sys_stat.c: Likewise.
43904         * tests/test-sys_time.c: Likewise.
43905         * tests/test-sysexits.c: Likewise.
43906         * tests/test-time.c: Likewise.
43907         * tests/test-tls.c: Likewise.
43908         * tests/test-trunc.c: Likewise.
43909         * tests/test-truncf.c: Likewise.
43910         * tests/test-truncl.c: Likewise.
43911         * tests/test-unistd.c: Likewise.
43912         * tests/test-vasnprintf-posix.c: Likewise.
43913         * tests/test-vasnprintf-posix2.c: Likewise.
43914         * tests/test-vasnprintf.c: Likewise.
43915         * tests/test-vasprintf-posix.c: Likewise.
43916         * tests/test-vasprintf.c: Likewise.
43917         * tests/test-verify.c: Likewise.
43918         * tests/test-vfprintf-posix.c: Likewise.
43919         * tests/test-vprintf-posix.c: Likewise.
43920         * tests/test-vsnprintf-posix.c: Likewise.
43921         * tests/test-vsnprintf.c: Likewise.
43922         * tests/test-vsprintf-posix.c: Likewise.
43923         * tests/test-wchar.c: Likewise.
43924         * tests/test-wctype.c: Likewise.
43925         * tests/test-wcwidth.c: Likewise.
43926         * tests/test-xstrtol.c: Likewise.
43927         * tests/test-xvasprintf.c: Likewise.
43928         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
43929         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
43930         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
43931         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
43932         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
43933         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
43934         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
43935         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
43936         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
43937         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
43938         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
43939         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
43940         * tests/uniname/test-uninames.c: Likewise.
43941         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
43942         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
43943         * tests/unistdio/test-u16-printf1.h: Likewise.
43944         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
43945         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
43946         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
43947         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
43948         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
43949         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
43950         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
43951         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
43952         * tests/unistdio/test-u32-printf1.h: Likewise.
43953         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
43954         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
43955         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
43956         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
43957         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
43958         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
43959         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
43960         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
43961         * tests/unistdio/test-u8-printf1.h: Likewise.
43962         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
43963         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
43964         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
43965         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
43966         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
43967         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
43968         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
43969         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
43970         * tests/unistdio/test-ulc-printf1.h: Likewise.
43971         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
43972         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
43973         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
43974         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
43975         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
43976         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
43977         * tests/uniwidth/test-u16-strwidth.c: Likewise.
43978         * tests/uniwidth/test-u16-width.c: Likewise.
43979         * tests/uniwidth/test-u32-strwidth.c: Likewise.
43980         * tests/uniwidth/test-u32-width.c: Likewise.
43981         * tests/uniwidth/test-u8-strwidth.c: Likewise.
43982         * tests/uniwidth/test-u8-width.c: Likewise.
43983         * tests/uniwidth/test-uc_width.c: Likewise.
43984         * config/srclist-update: Likewise.
43985         (fixlicense): Update to GPLv3+.
43986
43987         Change copyright notice from LGPLv2.1+ to LGPLv3+.
43988         * tests/test-tsearch.c: Change copyright notice.
43989
43990         Change copyright notice from LGPLv2.0+ to LGPLv3+.
43991         * lib/c-strcaseeq.h: Change copyright notice.
43992         * lib/streq.h: Likewise.
43993         * lib/uniconv.h: Likewise.
43994         * lib/uniconv/u-conv-from-enc.h: Likewise.
43995         * lib/uniconv/u-conv-to-enc.h: Likewise.
43996         * lib/uniconv/u-strconv-from-enc.h: Likewise.
43997         * lib/uniconv/u-strconv-to-enc.h: Likewise.
43998         * lib/uniconv/u16-conv-from-enc.c: Likewise.
43999         * lib/uniconv/u16-conv-to-enc.c: Likewise.
44000         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
44001         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
44002         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
44003         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
44004         * lib/uniconv/u32-conv-from-enc.c: Likewise.
44005         * lib/uniconv/u32-conv-to-enc.c: Likewise.
44006         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
44007         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
44008         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
44009         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
44010         * lib/uniconv/u8-conv-from-enc.c: Likewise.
44011         * lib/uniconv/u8-conv-to-enc.c: Likewise.
44012         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
44013         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
44014         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
44015         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
44016         * lib/uniname.h: Likewise.
44017         * lib/uniname/uniname.c: Likewise.
44018         * lib/unistdio.h: Likewise.
44019         * lib/unistdio/u-asnprintf.h: Likewise.
44020         * lib/unistdio/u-asprintf.h: Likewise.
44021         * lib/unistdio/u-printf-args.c: Likewise.
44022         * lib/unistdio/u-printf-args.h: Likewise.
44023         * lib/unistdio/u-printf-parse.h: Likewise.
44024         * lib/unistdio/u-snprintf.h: Likewise.
44025         * lib/unistdio/u-sprintf.h: Likewise.
44026         * lib/unistdio/u-vasprintf.h: Likewise.
44027         * lib/unistdio/u-vsnprintf.h: Likewise.
44028         * lib/unistdio/u-vsprintf.h: Likewise.
44029         * lib/unistdio/u16-asnprintf.c: Likewise.
44030         * lib/unistdio/u16-asprintf.c: Likewise.
44031         * lib/unistdio/u16-printf-parse.c: Likewise.
44032         * lib/unistdio/u16-snprintf.c: Likewise.
44033         * lib/unistdio/u16-sprintf.c: Likewise.
44034         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
44035         * lib/unistdio/u16-u16-asprintf.c: Likewise.
44036         * lib/unistdio/u16-u16-snprintf.c: Likewise.
44037         * lib/unistdio/u16-u16-sprintf.c: Likewise.
44038         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
44039         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
44040         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
44041         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
44042         * lib/unistdio/u16-vasnprintf.c: Likewise.
44043         * lib/unistdio/u16-vasprintf.c: Likewise.
44044         * lib/unistdio/u16-vsnprintf.c: Likewise.
44045         * lib/unistdio/u16-vsprintf.c: Likewise.
44046         * lib/unistdio/u32-asnprintf.c: Likewise.
44047         * lib/unistdio/u32-asprintf.c: Likewise.
44048         * lib/unistdio/u32-printf-parse.c: Likewise.
44049         * lib/unistdio/u32-snprintf.c: Likewise.
44050         * lib/unistdio/u32-sprintf.c: Likewise.
44051         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
44052         * lib/unistdio/u32-u32-asprintf.c: Likewise.
44053         * lib/unistdio/u32-u32-snprintf.c: Likewise.
44054         * lib/unistdio/u32-u32-sprintf.c: Likewise.
44055         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
44056         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
44057         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
44058         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
44059         * lib/unistdio/u32-vasnprintf.c: Likewise.
44060         * lib/unistdio/u32-vasprintf.c: Likewise.
44061         * lib/unistdio/u32-vsnprintf.c: Likewise.
44062         * lib/unistdio/u32-vsprintf.c: Likewise.
44063         * lib/unistdio/u8-asnprintf.c: Likewise.
44064         * lib/unistdio/u8-asprintf.c: Likewise.
44065         * lib/unistdio/u8-printf-parse.c: Likewise.
44066         * lib/unistdio/u8-snprintf.c: Likewise.
44067         * lib/unistdio/u8-sprintf.c: Likewise.
44068         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
44069         * lib/unistdio/u8-u8-asprintf.c: Likewise.
44070         * lib/unistdio/u8-u8-snprintf.c: Likewise.
44071         * lib/unistdio/u8-u8-sprintf.c: Likewise.
44072         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
44073         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
44074         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
44075         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
44076         * lib/unistdio/u8-vasnprintf.c: Likewise.
44077         * lib/unistdio/u8-vasprintf.c: Likewise.
44078         * lib/unistdio/u8-vsnprintf.c: Likewise.
44079         * lib/unistdio/u8-vsprintf.c: Likewise.
44080         * lib/unistdio/ulc-asnprintf.c: Likewise.
44081         * lib/unistdio/ulc-asprintf.c: Likewise.
44082         * lib/unistdio/ulc-printf-parse.c: Likewise.
44083         * lib/unistdio/ulc-snprintf.c: Likewise.
44084         * lib/unistdio/ulc-sprintf.c: Likewise.
44085         * lib/unistdio/ulc-vasnprintf.c: Likewise.
44086         * lib/unistdio/ulc-vasprintf.c: Likewise.
44087         * lib/unistdio/ulc-vsnprintf.c: Likewise.
44088         * lib/unistdio/ulc-vsprintf.c: Likewise.
44089         * lib/unistr.h: Likewise.
44090         * lib/unistr/u-cpy-alloc.h: Likewise.
44091         * lib/unistr/u-cpy.h: Likewise.
44092         * lib/unistr/u-endswith.h: Likewise.
44093         * lib/unistr/u-move.h: Likewise.
44094         * lib/unistr/u-set.h: Likewise.
44095         * lib/unistr/u-startswith.h: Likewise.
44096         * lib/unistr/u-stpcpy.h: Likewise.
44097         * lib/unistr/u-stpncpy.h: Likewise.
44098         * lib/unistr/u-strcat.h: Likewise.
44099         * lib/unistr/u-strcpy.h: Likewise.
44100         * lib/unistr/u-strcspn.h: Likewise.
44101         * lib/unistr/u-strdup.h: Likewise.
44102         * lib/unistr/u-strlen.h: Likewise.
44103         * lib/unistr/u-strncat.h: Likewise.
44104         * lib/unistr/u-strncpy.h: Likewise.
44105         * lib/unistr/u-strnlen.h: Likewise.
44106         * lib/unistr/u-strpbrk.h: Likewise.
44107         * lib/unistr/u-strspn.h: Likewise.
44108         * lib/unistr/u-strstr.h: Likewise.
44109         * lib/unistr/u-strtok.h: Likewise.
44110         * lib/unistr/u16-check.c: Likewise.
44111         * lib/unistr/u16-chr.c: Likewise.
44112         * lib/unistr/u16-cmp.c: Likewise.
44113         * lib/unistr/u16-cpy-alloc.c: Likewise.
44114         * lib/unistr/u16-cpy.c: Likewise.
44115         * lib/unistr/u16-endswith.c: Likewise.
44116         * lib/unistr/u16-mblen.c: Likewise.
44117         * lib/unistr/u16-mbsnlen.c: Likewise.
44118         * lib/unistr/u16-mbtouc-aux.c: Likewise.
44119         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
44120         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
44121         * lib/unistr/u16-mbtouc.c: Likewise.
44122         * lib/unistr/u16-mbtoucr.c: Likewise.
44123         * lib/unistr/u16-move.c: Likewise.
44124         * lib/unistr/u16-next.c: Likewise.
44125         * lib/unistr/u16-prev.c: Likewise.
44126         * lib/unistr/u16-set.c: Likewise.
44127         * lib/unistr/u16-startswith.c: Likewise.
44128         * lib/unistr/u16-stpcpy.c: Likewise.
44129         * lib/unistr/u16-stpncpy.c: Likewise.
44130         * lib/unistr/u16-strcat.c: Likewise.
44131         * lib/unistr/u16-strchr.c: Likewise.
44132         * lib/unistr/u16-strcmp.c: Likewise.
44133         * lib/unistr/u16-strcpy.c: Likewise.
44134         * lib/unistr/u16-strcspn.c: Likewise.
44135         * lib/unistr/u16-strdup.c: Likewise.
44136         * lib/unistr/u16-strlen.c: Likewise.
44137         * lib/unistr/u16-strmblen.c: Likewise.
44138         * lib/unistr/u16-strmbtouc.c: Likewise.
44139         * lib/unistr/u16-strncat.c: Likewise.
44140         * lib/unistr/u16-strncmp.c: Likewise.
44141         * lib/unistr/u16-strncpy.c: Likewise.
44142         * lib/unistr/u16-strnlen.c: Likewise.
44143         * lib/unistr/u16-strpbrk.c: Likewise.
44144         * lib/unistr/u16-strrchr.c: Likewise.
44145         * lib/unistr/u16-strspn.c: Likewise.
44146         * lib/unistr/u16-strstr.c: Likewise.
44147         * lib/unistr/u16-strtok.c: Likewise.
44148         * lib/unistr/u16-to-u32.c: Likewise.
44149         * lib/unistr/u16-to-u8.c: Likewise.
44150         * lib/unistr/u16-uctomb-aux.c: Likewise.
44151         * lib/unistr/u16-uctomb.c: Likewise.
44152         * lib/unistr/u32-check.c: Likewise.
44153         * lib/unistr/u32-chr.c: Likewise.
44154         * lib/unistr/u32-cmp.c: Likewise.
44155         * lib/unistr/u32-cpy-alloc.c: Likewise.
44156         * lib/unistr/u32-cpy.c: Likewise.
44157         * lib/unistr/u32-endswith.c: Likewise.
44158         * lib/unistr/u32-mblen.c: Likewise.
44159         * lib/unistr/u32-mbsnlen.c: Likewise.
44160         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
44161         * lib/unistr/u32-mbtouc.c: Likewise.
44162         * lib/unistr/u32-mbtoucr.c: Likewise.
44163         * lib/unistr/u32-move.c: Likewise.
44164         * lib/unistr/u32-next.c: Likewise.
44165         * lib/unistr/u32-prev.c: Likewise.
44166         * lib/unistr/u32-set.c: Likewise.
44167         * lib/unistr/u32-startswith.c: Likewise.
44168         * lib/unistr/u32-stpcpy.c: Likewise.
44169         * lib/unistr/u32-stpncpy.c: Likewise.
44170         * lib/unistr/u32-strcat.c: Likewise.
44171         * lib/unistr/u32-strchr.c: Likewise.
44172         * lib/unistr/u32-strcmp.c: Likewise.
44173         * lib/unistr/u32-strcpy.c: Likewise.
44174         * lib/unistr/u32-strcspn.c: Likewise.
44175         * lib/unistr/u32-strdup.c: Likewise.
44176         * lib/unistr/u32-strlen.c: Likewise.
44177         * lib/unistr/u32-strmblen.c: Likewise.
44178         * lib/unistr/u32-strmbtouc.c: Likewise.
44179         * lib/unistr/u32-strncat.c: Likewise.
44180         * lib/unistr/u32-strncmp.c: Likewise.
44181         * lib/unistr/u32-strncpy.c: Likewise.
44182         * lib/unistr/u32-strnlen.c: Likewise.
44183         * lib/unistr/u32-strpbrk.c: Likewise.
44184         * lib/unistr/u32-strrchr.c: Likewise.
44185         * lib/unistr/u32-strspn.c: Likewise.
44186         * lib/unistr/u32-strstr.c: Likewise.
44187         * lib/unistr/u32-strtok.c: Likewise.
44188         * lib/unistr/u32-to-u16.c: Likewise.
44189         * lib/unistr/u32-to-u8.c: Likewise.
44190         * lib/unistr/u32-uctomb.c: Likewise.
44191         * lib/unistr/u8-check.c: Likewise.
44192         * lib/unistr/u8-chr.c: Likewise.
44193         * lib/unistr/u8-cmp.c: Likewise.
44194         * lib/unistr/u8-cpy-alloc.c: Likewise.
44195         * lib/unistr/u8-cpy.c: Likewise.
44196         * lib/unistr/u8-endswith.c: Likewise.
44197         * lib/unistr/u8-mblen.c: Likewise.
44198         * lib/unistr/u8-mbsnlen.c: Likewise.
44199         * lib/unistr/u8-mbtouc-aux.c: Likewise.
44200         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
44201         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
44202         * lib/unistr/u8-mbtouc.c: Likewise.
44203         * lib/unistr/u8-mbtoucr.c: Likewise.
44204         * lib/unistr/u8-move.c: Likewise.
44205         * lib/unistr/u8-next.c: Likewise.
44206         * lib/unistr/u8-prev.c: Likewise.
44207         * lib/unistr/u8-set.c: Likewise.
44208         * lib/unistr/u8-startswith.c: Likewise.
44209         * lib/unistr/u8-stpcpy.c: Likewise.
44210         * lib/unistr/u8-stpncpy.c: Likewise.
44211         * lib/unistr/u8-strcat.c: Likewise.
44212         * lib/unistr/u8-strchr.c: Likewise.
44213         * lib/unistr/u8-strcmp.c: Likewise.
44214         * lib/unistr/u8-strcpy.c: Likewise.
44215         * lib/unistr/u8-strcspn.c: Likewise.
44216         * lib/unistr/u8-strdup.c: Likewise.
44217         * lib/unistr/u8-strlen.c: Likewise.
44218         * lib/unistr/u8-strmblen.c: Likewise.
44219         * lib/unistr/u8-strmbtouc.c: Likewise.
44220         * lib/unistr/u8-strncat.c: Likewise.
44221         * lib/unistr/u8-strncmp.c: Likewise.
44222         * lib/unistr/u8-strncpy.c: Likewise.
44223         * lib/unistr/u8-strnlen.c: Likewise.
44224         * lib/unistr/u8-strpbrk.c: Likewise.
44225         * lib/unistr/u8-strrchr.c: Likewise.
44226         * lib/unistr/u8-strspn.c: Likewise.
44227         * lib/unistr/u8-strstr.c: Likewise.
44228         * lib/unistr/u8-strtok.c: Likewise.
44229         * lib/unistr/u8-to-u16.c: Likewise.
44230         * lib/unistr/u8-to-u32.c: Likewise.
44231         * lib/unistr/u8-uctomb-aux.c: Likewise.
44232         * lib/unistr/u8-uctomb.c: Likewise.
44233         * lib/unitypes.h: Likewise.
44234         * lib/uniwidth.h: Likewise.
44235         * lib/uniwidth/cjk.h: Likewise.
44236         * lib/uniwidth/u16-strwidth.c: Likewise.
44237         * lib/uniwidth/u16-width.c: Likewise.
44238         * lib/uniwidth/u32-strwidth.c: Likewise.
44239         * lib/uniwidth/u32-width.c: Likewise.
44240         * lib/uniwidth/u8-strwidth.c: Likewise.
44241         * lib/uniwidth/u8-width.c: Likewise.
44242         * lib/uniwidth/width.c: Likewise.
44243
44244 2007-10-07  Bruno Haible  <bruno@clisp.org>
44245
44246         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
44247         The file is still under LGPL (see modules/inttypes).
44248
44249 2007-10-06  Bruno Haible  <bruno@clisp.org>
44250
44251         * modules/trunc (Dependencies): Add 'extensions'.
44252         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
44253         Reported by Ben Pfaff <blp@gnu.org>.
44254
44255 2007-10-06  Bruno Haible  <bruno@clisp.org>
44256
44257         * modules/freopen-tests: New file.
44258         * tests/test-freopen.c: New file.
44259
44260         * modules/fopen-tests: New file.
44261         * tests/test-fopen.c: New file.
44262
44263         * modules/fopen: New file.
44264         * lib/fopen.c: New file.
44265         * m4/fopen.m4: New file.
44266         * modules/freopen: New file.
44267         * lib/freopen.c: New file.
44268         * m4/freopen.m4: New file.
44269         * lib/stdio.in.h (fopen, freopen): New declarations.
44270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
44271         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44272         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
44273         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
44274         * doc/functions/fopen.texi: Mention the 'fopen' module.
44275         * doc/functions/freopen.texi: Mention the 'freopen' module.
44276
44277 2007-10-06  Bruno Haible  <bruno@clisp.org>
44278
44279         * modules/open-tests: New file.
44280         * tests/test-open.c: New file.
44281
44282         * modules/open: New file.
44283         * lib/open.c: New file.
44284         * m4/open.m4: New file.
44285         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
44286         lib/open.c does.
44287         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
44288         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
44289         macros.
44290         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
44291         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
44292         REPLACE_OPEN.
44293         * doc/functions/open.texi: Mention the 'open' module.
44294
44295 2007-10-04  Bruno Haible  <bruno@clisp.org>
44296
44297         * modules/ceill-tests: New file.
44298         * tests/test-ceill.c: New file.
44299
44300         * modules/ceill: New file.
44301         * lib/ceill.c: Replace entire file.
44302         * m4/ceill.m4: New file.
44303         * lib/math.in.h (ceill): Replace declaration.
44304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
44305         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
44306         * doc/functions/ceill.texi: Mention the 'ceill' module.
44307         * modules/mathl (Files): Remove lib/ceill.c.
44308         (Depends-on): Add ceill.
44309
44310 2007-10-04  Bruno Haible  <bruno@clisp.org>
44311
44312         * modules/ceilf-tests: New file.
44313         * tests/test-ceilf.c: New file.
44314
44315         * modules/ceilf: New file.
44316         * lib/ceil.c: New file.
44317         * lib/ceilf.c: New file.
44318         * m4/ceilf.m4: New file.
44319         * lib/math.in.h (ceilf): New declaration.
44320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
44321         HAVE_DECL_CEILF.
44322         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
44323         HAVE_DECL_CEILF.
44324         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
44325
44326 2007-10-04  Bruno Haible  <bruno@clisp.org>
44327
44328         * modules/floorl-tests: New file.
44329         * tests/test-floorl.c: New file.
44330
44331         * modules/floorl: New file.
44332         * lib/floorl.c: Replace entire file.
44333         * m4/floorl.m4: New file.
44334         * lib/math.in.h (floorl): Replace declaration.
44335         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
44336         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
44337         * doc/functions/floorl.texi: Mention the 'floorl' module.
44338         * modules/mathl (Files): Remove lib/floorl.c.
44339         (Depends-on): Add floorl.
44340
44341 2007-10-04  Bruno Haible  <bruno@clisp.org>
44342
44343         * modules/floorf-tests: New file.
44344         * tests/test-floorf.c: New file.
44345
44346         * modules/floorf: New file.
44347         * lib/floor.c: New file.
44348         * lib/floorf.c: New file.
44349         * m4/floorf.m4: New file.
44350         * lib/math.in.h (floorf): New declaration.
44351         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
44352         HAVE_DECL_FLOORF.
44353         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
44354         HAVE_DECL_FLOORF.
44355         * doc/functions/floorf.texi: Mention the 'floorf' module.
44356
44357 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
44358             Bruno Haible  <bruno@clisp.org>
44359
44360         Advertise for the Git server instead of the CVS server.
44361         * doc/gnulib-intro.texi (Steady Development): Mention the Git
44362         repository instead of the CVS one.
44363         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
44364         about all VCS systems generically.
44365         * doc/gnulib.texi (Introduction): Capitalize `Git'.
44366
44367 2007-10-04  Bruno Haible  <bruno@clisp.org>
44368
44369         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
44370         means.
44371         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
44372
44373 2007-10-04  Bruno Haible  <bruno@clisp.org>
44374
44375         * modules/truncl-tests: New file.
44376         * tests/test-truncl.c: New file.
44377
44378         * modules/truncl: New file.
44379         * lib/truncl.c: New file.
44380         * m4/truncl.m4: New file.
44381         * lib/math.in.h (truncl): New declaration.
44382         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
44383         HAVE_DECL_TRUNCL.
44384         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
44385         HAVE_DECL_TRUNCL.
44386         * doc/functions/truncl.texi: Mention the 'truncl' module.
44387
44388 2007-10-04  Bruno Haible  <bruno@clisp.org>
44389
44390         * modules/truncf-tests: New file.
44391         * tests/test-truncf.c: New file.
44392
44393         * modules/truncf: New file.
44394         * lib/trunc.c: Make paramerizable through USE_* macros.
44395         * lib/truncf.c: New file.
44396         * m4/truncf.m4: New file.
44397         * lib/math.in.h (truncf): New declaration.
44398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
44399         HAVE_DECL_TRUNCF.
44400         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
44401         HAVE_DECL_TRUNCF.
44402         * doc/functions/truncf.texi: Mention the 'truncf' module.
44403
44404 2007-10-03  Bruno Haible  <bruno@clisp.org>
44405
44406         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
44407         augmentation also for tests modules.
44408         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
44409         * modules/atexit-tests (Makefile.am): Likewise.
44410         * modules/binary-io-tests (Makefile.am): Likewise.
44411         * modules/c-strcase-tests (Makefile.am): Likewise.
44412         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
44413         * modules/canonicalize-tests (Makefile.am): Likewise.
44414         * modules/closein-tests (Makefile.am): Likewise.
44415         * modules/fprintf-posix-tests (Makefile.am): Likewise.
44416         * modules/freadahead-tests (Makefile.am): Likewise.
44417         * modules/fseek-tests (Makefile.am): Likewise.
44418         * modules/fseeko-tests (Makefile.am): Likewise.
44419         * modules/ftell-tests (Makefile.am): Likewise.
44420         * modules/ftello-tests (Makefile.am): Likewise.
44421         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
44422         * modules/isnanl-tests (Makefile.am): Likewise.
44423         * modules/lseek-tests (Makefile.am): Likewise.
44424         * modules/mbscasecmp-tests (Makefile.am): Likewise.
44425         * modules/mbscasestr-tests (Makefile.am): Likewise.
44426         * modules/mbschr-tests (Makefile.am): Likewise.
44427         * modules/mbscspn-tests (Makefile.am): Likewise.
44428         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
44429         * modules/mbspbrk-tests (Makefile.am): Likewise.
44430         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
44431         * modules/mbsrchr-tests (Makefile.am): Likewise.
44432         * modules/mbsspn-tests (Makefile.am): Likewise.
44433         * modules/mbsstr-tests (Makefile.am): Likewise.
44434         * modules/printf-posix-tests (Makefile.am): Likewise.
44435         * modules/snprintf-posix-tests (Makefile.am): Likewise.
44436         * modules/sprintf-posix-tests (Makefile.am): Likewise.
44437         * modules/tsearch-tests (Makefile.am): Likewise.
44438         * modules/uniname/uniname-tests (Makefile.am): Likewise.
44439         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
44440         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
44441         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
44442         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
44443         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
44444         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
44445         * modules/vprintf-posix-tests (Makefile.am): Likewise.
44446         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
44447         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
44448         * modules/xstrtoimax-tests (Makefile.am): Likewise.
44449         * modules/xstrtol-tests (Makefile.am): Likewise.
44450         * modules/xstrtoumax-tests (Makefile.am): Likewise.
44451         * modules/yesno-tests (Makefile.am): Likewise.
44452
44453 2007-10-03  Bruno Haible  <bruno@clisp.org>
44454
44455         * modules/trunc-tests: New file.
44456         * tests/test-trunc.c: New file.
44457
44458         * modules/trunc: New file.
44459         * lib/trunc.c: New file.
44460         * m4/trunc.m4: New file.
44461         * lib/math.in.h (trunc): New declaration.
44462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
44463         HAVE_DECL_TRUNC.
44464         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
44465         HAVE_DECL_TRUNC.
44466         * doc/functions/trunc.texi: Mention the 'trunc' module.
44467
44468 2007-10-03  Bruno Haible  <bruno@clisp.org>
44469
44470         * tests/test-fpending.c: New file, mostly copied
44471         from coreutils/lib/t-fpending.c.
44472         * modules/fpending-tests: New file.
44473
44474 2007-10-03  Bruno Haible  <bruno@clisp.org>
44475
44476         Port the stdio extensions to QNX (untested).
44477         * lib/fseterr.c (fseterr): Add support for QNX.
44478         * lib/fbufmode.c (fbufmode): Likewise.
44479         * lib/freadable.c (freadable): Likewise.
44480         * lib/fwritable.c (fwritable): Likewise.
44481         * lib/freading.c (freading): Likewise.
44482         * lib/fwriting.c (fwriting): Likewise.
44483         * lib/freadahead.c (freadahed): Likewise.
44484         * lib/fpurge.c (fpurge): Likewise.
44485         * lib/fseeko.c (rpl_fseeko): Likewise.
44486
44487 2007-10-03  Bruno Haible  <bruno@clisp.org>
44488             Jim Meyering  <jim@meyering.net>
44489             Eric Blake  <ebb9@byu.net>
44490
44491         * doc/relocatable.texi: Use @command instead of @program.
44492
44493 2007-10-02  Jim Meyering  <jim@meyering.net>
44494
44495         Perform one more "_.h" -> ".in.h" substitution.
44496         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
44497         instead of unistd_.h here, too.
44498
44499 2007-10-01  Bruno Haible  <bruno@clisp.org>
44500
44501         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
44502         Needed for the alloca-opt module.
44503
44504 2007-09-30  Bruno Haible  <bruno@clisp.org>
44505
44506         * lib/alloca.in.h: Renamed from lib/alloca_.h.
44507         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
44508         alloca_.h.
44509         * lib/argz.in.h: Renamed from lib/argz_.h.
44510         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
44511         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
44512         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
44513         byteswap_.h.
44514         * lib/dirent.in.h: Renamed from lib/dirent_.h.
44515         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
44516         dirent_.h.
44517         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
44518         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
44519         fcntl_.h.
44520         * lib/float.in.h: Renamed from lib/float_.h.
44521         * modules/float (Files, Makefile.am): Use float.in.h instead of
44522         float_.h.
44523         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
44524         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
44525         fnmatch_.h.
44526         * lib/getopt.in.h: Renamed from lib/getopt_.h.
44527         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
44528         getopt_.h.
44529         * lib/glob.in.h: Renamed from lib/glob_.h.
44530         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
44531         * lib/iconv.in.h: Renamed from lib/iconv_.h.
44532         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
44533         iconv_.h.
44534         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
44535         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
44536         inttypes_.h.
44537         * lib/locale.in.h: Renamed from lib/locale_.h.
44538         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
44539         locale_.h.
44540         * lib/math.in.h: Renamed from lib/math_.h.
44541         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
44542         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
44543         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
44544         of netinet_in_.h. Add dependency.
44545         * lib/poll.in.h: Renamed from lib/poll_.h.
44546         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
44547         * lib/search.in.h: Renamed from lib/search_.h.
44548         * modules/search (Files, Makefile.am): Use search.in.h instead of
44549         search_.h.
44550         * lib/signal.in.h: Renamed from lib/signal_.h.
44551         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
44552         _signal.h.
44553         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
44554         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
44555         stdbool_.h.
44556         * lib/stdint.in.h: Renamed from lib/stdint_.h.
44557         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
44558         stdint_.h.
44559         * lib/stdio.in.h: Renamed from lib/stdio_.h.
44560         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
44561         stdio_.h.
44562         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
44563         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
44564         stdlib_.h.
44565         * lib/string.in.h: Renamed from lib/string_.h.
44566         * modules/string (Files, Makefile.am): Use string.in.h instead of
44567         string_.h.
44568         * doc/gnulib-tool.texi (Initial import): Update.
44569         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
44570         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
44571         of sys_select_.h. Add dependency.
44572         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
44573         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
44574         of sys_socket_.h.
44575         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
44576         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
44577         sys_stat_.h.
44578         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
44579         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
44580         sys_time_.h.
44581         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
44582         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
44583         sysexits_.h.
44584         * lib/time.in.h: Renamed from lib/time_.h.
44585         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
44586         * lib/unistd.in.h: Renamed from lib/unistd_.h.
44587         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
44588         unistd_.h.
44589         * lib/wchar.in.h: Renamed from lib/wchar_.h.
44590         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
44591         wchar_.h.
44592         * lib/wctype.in.h: Renamed from lib/wctype_.h.
44593         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
44594         wctype_.h.
44595         * build-aux/bootstrap (slurp): Update.
44596         * lib/.cppi-disable: Update.
44597
44598 2007-09-30  Bruno Haible  <bruno@clisp.org>
44599
44600         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
44601         Needed on BeOS.
44602
44603 2007-09-30  Bruno Haible  <bruno@clisp.org>
44604
44605         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
44606
44607 2007-09-29  Bruno Haible  <bruno@clisp.org>
44608
44609         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
44610
44611 2007-09-29  Bruno Haible  <bruno@clisp.org>
44612
44613         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
44614         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
44615         * build-aux/install-reloc: Compile also areadlink.c.
44616         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
44617
44618 2007-09-29  Bruno Haible  <bruno@clisp.org>
44619
44620         * gnulib-tool (func_emit_initmacro_done): Indentation.
44621
44622 2007-09-29  Bruno Haible  <bruno@clisp.org>
44623
44624         * README: Add CVS checkout update instructions.
44625         Info from Bob Proulx <bob@proulx.com>.
44626
44627 2007-09-28  Eric Blake  <ebb9@byu.net>
44628
44629         Provide move-if-change.
44630         * build-aux/move-if-change: New file, based on best practice
44631         rather than any canonical upstream location.
44632
44633 2007-09-28  Jim Meyering  <jim@meyering.net>
44634
44635         Fix canonicalize loop-detection corner case.
44636         Do not attempt to stat the symlink values stored via seen_triple.
44637         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
44638         on linux-2.6.18, (but not 2.6.22).
44639         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
44640         triple_compare.  The former compares dev,ino,filename, while the latter
44641         would actually stat dirname(filename) when dev and ino were equal.
44642         * lib/hash-triple.c: Install <string.h>.
44643         (STREQ): Define.
44644         (triple_compare_ino_str): New function.
44645         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
44646
44647 2007-09-28  Eric Blake  <ebb9@byu.net>
44648
44649         Enforce that AC_REPLACE_FUNCS files exist.
44650         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
44651         override check for typos.
44652
44653         Fix test-closein on Solaris 10.
44654         * tests/test-closein.c (main): Don't assume stdin can be inherited
44655         closed on all systems.
44656         * tests/test-closein.sh: Likewise.
44657         Reported by Piotr Tarnowski.
44658
44659 2007-09-28  Jim Meyering  <jim@meyering.net>
44660
44661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
44662
44663 2007-09-27  Jim Meyering  <jim@meyering.net>
44664
44665         canonicalize: Avoid a false-positive cycle failure.
44666         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
44667         Sort.  Remove cycle-check.
44668         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
44669         not cycle-check.h.
44670         (seen_triple): New function.
44671         (canonicalize_filename_mode): Use it instead of cycle-check.
44672         * tests/test-canonicalize.c: Add a test for this bug.
44673         * tests/test-canonicalize.sh: Set up and run the test.
44674
44675         New module, file-set, from coreutils.
44676         * modules/file-set: Define it.
44677         * lib/file-set.c, lib/file-set.h: Implement.
44678
44679         New module, hash-triple, from coreutils.
44680         * modules/hash-triple: Define it.
44681         * lib/hash-triple.c, lib/hash-triple.h: Implement.
44682
44683 2007-09-25  Eric Blake  <ebb9@byu.net>
44684
44685         Fix strerror on Interix.
44686         * lib/string_.h (strerror): Declare replacement.
44687         * doc/functions/strerror.texi (strerror): Document the Interix
44688         shortcoming.
44689         * modules/string (Makefile.am): Support new hooks.
44690         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
44691         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
44692         gl_FUNC_STRERROR_SEPARATE.
44693         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
44694         * lib/strerror.c (rpl_strerror): Provide replacement.
44695         * modules/strerror (Depends-on): Add string.
44696         (configure.ac): Detect use of module.
44697         * tests/test-strerror.c: New file.
44698         * modules/strerror-tests: New test module.
44699         * modules/argp (Depends-on): Add strerror.
44700         * modules/error (Depends-on): Likewise.
44701         Reported by Martin Koeppe.
44702
44703 2007-09-24  Bruno Haible  <bruno@clisp.org>
44704
44705         * README: Update git instructions.
44706
44707 2007-09-24  Eric Blake  <ebb9@byu.net>
44708
44709         Revert fpending breakage from 2007-09-08.
44710         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
44711         __fpending.c.
44712
44713 2007-09-24  Jim Meyering  <jim@meyering.net>
44714
44715         filenamecat.c: Add a test.
44716         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
44717         showing how the function works when DIR is the empty string.
44718
44719 2007-09-21  Simon Josefsson  <simon@josefsson.org>
44720
44721         * tests/test-canonicalize.sh: Turn on executable bit.
44722
44723 2007-09-19  Eric Blake  <ebb9@byu.net>
44724
44725         * README: Update CVS instructions.
44726
44727 2007-09-18  Bruno Haible  <bruno@clisp.org>
44728
44729         * modules/areadlink: New file.
44730         * lib/areadlink.h (areadlink): New declaration.
44731         * lib/areadlink.c: New file, based on lib/xreadlink.c.
44732
44733 2007-09-17  Jim Meyering  <jim@meyering.net>
44734
44735         * lib/savewd.c (ESTALE) [!defined]: Define.
44736         Reported to be required on Interix by Martin Koeppe.
44737
44738 2007-09-17  Bruno Haible  <bruno@clisp.org>
44739
44740         * gnulib-tool (func_version): Use $version.
44741
44742 2007-09-16  Bruno Haible  <bruno@clisp.org>
44743
44744         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
44745         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
44746         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
44747         Reported by Greg Schafer <gschafer@zip.com.au>.
44748
44749 2007-09-15  Bruno Haible  <bruno@clisp.org>
44750
44751         * gnulib-tool (sed): Try a little harder to make bash understand the
44752         alias.
44753         Reported by Bruce Korb <bruce.korb@gmail.com>.
44754
44755 2007-09-13  Eric Blake  <ebb9@byu.net>
44756
44757         * ChangeLog: Remove conflict markers.
44758
44759 2007-09-13  Simon Josefsson  <simon@josefsson.org>
44760
44761         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
44762         Reported by Bruno Haible <bruno@clisp.org>.
44763
44764 2007-09-12  Bruno Haible  <bruno@clisp.org>
44765
44766         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
44767         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
44768         is not defined.
44769
44770 2007-09-12  Eric Blake  <ebb9@byu.net>
44771
44772         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
44773         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
44774         Autoconf definition.
44775         * modules/euidaccess (Depends-on): Add extensions, for
44776         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
44777         * modules/fnmatch (Depends-on): Likewise.
44778         * modules/getaddrinfo (Depends-on): Likewise.
44779         * modules/getdelim (Depends-on): Likewise.
44780         * modules/getline (Depends-on): Likewise.
44781         * modules/getsubopt (Depends-on): Likewise.
44782         * modules/gettext (Depends-on): Likewise.
44783         * modules/group-member (Depends-on): Likewise.
44784         * modules/mbchar (Depends-on): Likewise.
44785         * modules/memmem (Depends-on): Likewise.
44786         * modules/mempcpy (Depends-on): Likewise.
44787         * modules/memrchr (Depends-on): Likewise.
44788         * modules/pagealign_alloc (Depends-on): Likewise.
44789         * modules/readutmp (Depends-on): Likewise.
44790         * modules/stpcpy (Depends-on): Likewise.
44791         * modules/stpncpy (Depends-on): Likewise.
44792         * modules/strchrnul (Depends-on): Likewise.
44793         * modules/strndup (Depends-on): Likewise.
44794         * modules/strsep (Depends-on): Likewise.
44795         * modules/strverscmp (Depends-on): Likewise.
44796         * modules/vasprintf (Depends-on): Likewise.
44797         * modules/wcwidth (Depends-on): Likewise.
44798         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
44799         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
44800         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
44801         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
44802         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
44803         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44804         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
44805         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
44806         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
44807         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
44808         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44809         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
44810         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
44811         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
44812         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
44813         * m4/readutmp.m4 (gl_READUTMP): Likewise.
44814         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44815         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
44816         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44817         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
44818         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44819         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
44820         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
44821         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
44822         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
44823         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44824         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
44825         so that lock.m4 can be used in gettext without extensions module.
44826
44827 2007-09-11  Bruno Haible  <bruno@clisp.org>
44828
44829         * m4/isc-posix.m4: Remove file.
44830         Suggested by Eric Blake.
44831
44832 2007-09-11  Eric Blake  <ebb9@byu.net>
44833
44834         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
44835
44836 2007-09-10  Bruno Haible  <bruno@clisp.org>
44837
44838         * posix-modules: Fix typo in error message.
44839         Reported by Matt <mkraai@beckman.com>.
44840
44841 2007-09-09  Bruno Haible  <bruno@clisp.org>
44842
44843         * doc/functions/getdelim.texi: Update list of platforms lacking the
44844         function.
44845         * doc/functions/getline.texi: Likewise.
44846
44847 2007-09-09  Jim Meyering  <jim@meyering.net>
44848
44849         * lib/hash.c (hash_initialize): Detect calloc failure.
44850         Reported by Bruno Haible.
44851
44852 2007-09-09  Bruno Haible  <bruno@clisp.org>
44853
44854         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
44855         malloc or realloc fails.
44856
44857 2007-09-09  Bruno Haible  <bruno@clisp.org>
44858
44859         * modules/getcwd (Depends-on): Add malloc-posix.
44860         * modules/glob (Depends-on): Likewise.
44861         * modules/putenv (Depends-on): Likewise.
44862         * modules/strdup (Depends-on): Likewise.
44863         * modules/getdelim (Depends-on): Add realloc-posix.
44864         * modules/read-file (Depends-on): Likewise.
44865
44866 2007-09-09  Bruno Haible  <bruno@clisp.org>
44867
44868         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
44869         (gl_FUNC_MALLOC_POSIX): Require it.
44870         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
44871         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
44872         * modules/realloc (Files): Add m4/malloc.m4.
44873         * modules/calloc (Files): Likewise.
44874
44875 2007-09-09  Bruno Haible  <bruno@clisp.org>
44876
44877         * modules/malloc-posix: New file.
44878         * modules/malloc (Depends-on): Add malloc-posix.
44879         * lib/malloc.c: Include errno.h.
44880         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
44881         and a POSIX-compatible malloc into a single function. Set ENOMEM
44882         when returning NULL.
44883         * m4/malloc.m4: New file.
44884         * doc/functions/malloc.texi: Mention the malloc-posix module.
44885         * lib/stdlib_.h (malloc): New declaration.
44886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44887         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
44888         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
44889         and HAVE_MALLOC_POSIX.
44890
44891 2007-09-09  Bruno Haible  <bruno@clisp.org>
44892
44893         * modules/realloc-posix: New file.
44894         * modules/realloc (Depends-on): Add realloc-posix.
44895         * lib/realloc.c: Include errno.h.
44896         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
44897         and a POSIX-compatible realloc into a single function. Set ENOMEM
44898         when returning NULL.
44899         * m4/realloc.m4: New file.
44900         * doc/functions/realloc.texi: Mention the realloc-posix module.
44901         * lib/stdlib_.h (realloc): New declaration.
44902         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44903         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
44904         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
44905         and HAVE_REALLOC_POSIX.
44906
44907 2007-09-09  Bruno Haible  <bruno@clisp.org>
44908
44909         * modules/calloc-posix: New file.
44910         * modules/calloc (Depends-on): Add calloc-posix.
44911         * lib/calloc.c: Include errno.h.
44912         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
44913         and a POSIX-compatible calloc into a single function. Set ENOMEM
44914         when returning NULL.
44915         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
44916         * doc/functions/calloc.texi: Mention the calloc-posix module.
44917         * lib/stdlib_.h (calloc): New declaration.
44918         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
44919         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
44920         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
44921         and HAVE_CALLOC_POSIX.
44922
44923 2007-09-09  Bruno Haible  <bruno@clisp.org>
44924
44925         Allow for modules to show an arbitrary notice.
44926         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
44927         * gnulib-tool: New option --extract-notice.
44928         (func_usage): Document it.
44929         (sed_extract_prog): Update.
44930         (func_get_notice): New function.
44931         (func_modules_notice): New function.
44932         (func_import, func_create_testdir): Invoke it.
44933         Suggested by Jim Meyering.
44934
44935 2007-09-09  Bruno Haible  <bruno@clisp.org>
44936
44937         * gnulib-tool: New options --verbose, --quiet.
44938         (func_usage): Document them.
44939         (verbose): New variable.
44940         (func_execute_command): New function.
44941         (func_import): Don't show the module list and the file list if
44942         $verbose < 0.
44943         (func_create_testdir): Likewise. Use func_execute_command.
44944         (func_create_megatestdir): Use func_execute_command.
44945
44946 2007-09-08  Bruno Haible  <bruno@clisp.org>
44947
44948         * gnulib-tool (func_import): Prefer rsync over wget when available,
44949         for fetching the PO files.
44950
44951 2007-09-08  Bruno Haible  <bruno@clisp.org>
44952
44953         * posix-modules: New file. Portions copied from gnulib-tool.
44954         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
44955
44956 2007-09-08  Jim Meyering  <jim@meyering.net>
44957
44958         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
44959         * lib/fpending.h: Rename from __fpending.h.
44960         * lib/fpending.c: Rename from __fpending.c.
44961         Include "fpending.h", not "__fpending.h".
44962         * lib/__fpending.h, lib/__fpending.c: Remove files.
44963         * modules/fpending (Files): Reflect new file names.
44964         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
44965
44966 2007-09-08  Bruno Haible  <bruno@clisp.org>
44967
44968         * m4/inttypes-h.m4: Remove stub file.
44969
44970 2007-09-07  Simon Josefsson  <simon@josefsson.org>
44971
44972         * doc/headers/stdint.texi: Discuss #include_next issue.
44973
44974 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
44975
44976         * build-aux/bootstrap: Remove obsolete comment about wget --help.
44977
44978 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44979
44980         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
44981         in variable name.
44982
44983 2007-09-03  Jim Meyering  <jim@meyering.net>
44984
44985         New module: git-version-gen.
44986         * modules/git-version-gen: New file.
44987
44988         Import changes from coreutils for bootstrap script.
44989
44990         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
44991
44992         bootstrap: uses rsync to download the .po files
44993         * build-aux/bootstrap (po_download_command_format): New global.
44994         (download_po_files): Use rsync.
44995         (update_po_files): Don't remove .po files after download,
44996         so future rsync runs can take advantage of the copies.
44997
44998         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
44999
45000         Solve the unnecessary-.po-file-regeneration problem once and for all.
45001         * build-aux/bootstrap (download_po_files): New function, renamed from
45002         get_translations.  Now, downloads, but doesn't update LINGUAS.
45003         (update_po_files): New function.
45004
45005         bootstrap: Ignore more.
45006         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
45007         uniwidth to e.g., lib/.gitignore.
45008         (slurp): Handle the sys_stat_.h -> sys mapping, too.
45009
45010         * build-aux/bootstrap: New setting: vc_ignore.
45011         (insert_sorted_if_absent): Create $file if absent.
45012         Adapt to new, possibly empty, list: $vc_ignore.
45013
45014         bootstrap: generate more ignorable names
45015         * build-aux/bootstrap (slurp): When generating ignorable names,
45016         also map .sin to .sed, .gperf to .c, and .y to .c.
45017
45018 2007-09-03  Jim Meyering  <jim@meyering.net>
45019
45020         * build-aux/git-version-gen: New file, from coreutils.  For details, see
45021         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
45022
45023 2007-09-02  Bruno Haible  <bruno@clisp.org>
45024
45025         Fix mis-recognition of 'mcs' on QNX 6.
45026         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
45027         output contains the string "Mono".
45028         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
45029         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
45030
45031 2007-09-01  Bruno Haible  <bruno@clisp.org>
45032
45033         Fix collision between uniwidth/* and linebreak modules.
45034         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
45035         u32_width): Remove declarations.
45036         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
45037         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
45038         streq3, streq2, streq1, streq0): Remove functions.
45039         (STREQ): Remove macro.
45040         (is_cjk_encoding): Remove function.
45041         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
45042         (uc_width, u8_width, u16_width, u32_width): Remove functions.
45043         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
45044         * NEWS: Document the change.
45045
45046 2007-09-01  Bruno Haible  <bruno@clisp.org>
45047
45048         * lib/streq.h: Add double-inclusion guard.
45049
45050 2007-09-01  Karl Berry  <karl@gnu.org>
45051
45052         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
45053
45054 2007-08-28  Jim Meyering  <jim@meyering.net>
45055
45056         Rename mreadlink_with_size to areadlink_with_size.
45057         * NEWS: Document the change.
45058         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
45059         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
45060         * lib/mreadlink.h: Rename this to...
45061         * lib/areadlink.h: ...this.
45062         * modules/mreadlink-with-size: Rename this to...
45063         * modules/areadlink-with-size: ...this.
45064         * lib/canonicalize.c: Reflect the renaming.
45065         * modules/canonicalize: Likewise.
45066
45067 2007-08-26  Bruno Haible  <bruno@clisp.org>
45068
45069         * gnulib-tool (func_import): When deciding which files to remove,
45070         consider also dangling symbolic links.
45071         Reported by Eric Blake.
45072
45073 2007-08-26  Bruno Haible  <bruno@clisp.org>
45074
45075         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
45076
45077 2007-08-23  Simon Josefsson  <simon@josefsson.org>
45078
45079         * lib/readline.c: Don't include getline.h, the prototype is now
45080         found in stdio.h.
45081
45082 2007-08-23  Jim Meyering  <jim@meyering.net>
45083
45084         Getdelim touchup.
45085         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
45086         around the funlockfile call, since funlockfile never sets errno.
45087         Don't set errno upon failed realloc.
45088
45089 2007-08-22  Eric Blake  <ebb9@byu.net>
45090
45091         Getline touchups.
45092         * lib/getdelim.c (getdelim): Revert regression that required *n to
45093         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
45094         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
45095         getdelim, rather than whether implementation is missing.
45096         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
45097         * lib/stdio_.h (getline): Also declare if replacement is
45098         required.
45099         * doc/functions/getdelim.texi: New file.
45100         * doc/functions/getline.texi: Likewise.
45101         * doc/gnulib.texi (Function Substitutes): Add new files.
45102         Reported by Bruno Haible.
45103
45104 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
45105
45106         * users.txt: Add Guile.
45107
45108 2007-08-22  Eric Blake  <ebb9@byu.net>
45109
45110         * tests/test-getdelim.c (main): Use remove, not unlink.
45111         * tests/test-getline.c (main): Likewise.
45112
45113         Move getline and getdelim into stdio.h, per POSIX 200x.
45114         * modules/getline (Files): Remove getline.h.
45115         (Depends-on): Add stdio.
45116         (configure.ac): Add module indicator.
45117         * modules/getdelim (Files): Remove getdelim.h.
45118         (Depends-on): Add stdio.
45119         (configure.ac): Add module indicator.
45120         * modules/stdio (Makefile.am): Work with new indicators.
45121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45122         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
45123         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45124         * lib/getdelim.h: Delete.
45125         * lib/getline.h: Delete.
45126         * lib/stdio_.h (getdelim, getline): Declare.
45127         * modules/getdelim-tests: New module.
45128         * modules/getline-tests: Likewise.
45129         * tests/test-getdelim.c: New file.
45130         * tests/test-getline.c: Likewise.
45131         * NEWS: Document the change.
45132         * lib/getline.c: Update choice of header.
45133         * lib/csharpcomp.c: Likewise.
45134         * lib/getpass.c: Likewise.
45135         * lib/javacomp.c: Likewise.
45136         * lib/javaversion.c: Likewise.
45137         * lib/yesno.c: Likewise.
45138         * lib/getdelim.c: Likewise.
45139         (getdelim): Set errno on failure, and avoid memory leak.
45140
45141 2007-08-19  Bruno Haible  <bruno@clisp.org>
45142
45143         * modules/closein (Depends-on): Add freadahead.
45144         * lib/closein.c: Include freadahead.h.
45145         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
45146         is zero.
45147
45148 2007-08-19  Bruno Haible  <bruno@clisp.org>
45149
45150         * modules/freadahead-tests: New file.
45151         * tests/test-freadahead.sh: New file.
45152         * tests/test-freadahead.c: New file.
45153
45154         * modules/freadahead: New file.
45155         * lib/freadahead.h: New file.
45156         * lib/freadahead.c: New file.
45157         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
45158         fbufmode, fpurge, freadable, fwritable.
45159
45160 2007-08-19  Eric Blake  <ebb9@byu.net>
45161
45162         Test yesno in combination with closein.
45163         * lib/yesno.c (yesno): Document use of stdin.
45164         * modules/yesno-tests (Files): New module.
45165         * tests/test-yesno.c (main): New file.
45166         * tests/test-yesno.sh: Likewise.
45167
45168 2007-08-19  Bruno Haible  <bruno@clisp.org>
45169
45170         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
45171         * lib/fseeko.c (rpl_fseeko): Likewise.
45172         * lib/fseterr.c (fseterr): Likewise.
45173
45174 2007-08-19  Bruno Haible  <bruno@clisp.org>
45175
45176         * tests/test-lseek.c (main): Disable a test for BeOS.
45177         * doc/functions/lseek.texi: Document the BeOS bug.
45178
45179 2007-08-19  Bruno Haible  <bruno@clisp.org>
45180             Eric Blake  <ebb9@byu.net>
45181
45182         * lib/lseek.c: Include <sys/stat.h>.
45183         (rpl_lseek): Add workaround code also for Unix platforms.
45184         Needed for BeOS.
45185         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
45186         * doc/functions/lseek.texi: Document BeOS definiency.
45187
45188 2007-08-18  Bruno Haible  <bruno@clisp.org>
45189
45190         * modules/fstrcmp-tests: New file.
45191         * tests/test-fstrcmp.c: New file.
45192
45193 2007-08-18  Bruno Haible  <bruno@clisp.org>
45194
45195         * modules/fstrcmp: New file, from GNU gettext with modifications.
45196         * lib/fstrcmp.h: New file, from GNU gettext.
45197         * lib/fstrcmp.c: New file, from GNU gettext.
45198         * MODULES.html.sh (String handling): Add fstrcmp.
45199
45200 2007-08-18  Bruno Haible  <bruno@clisp.org>
45201
45202         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
45203         'bool'.
45204         (diag, compareseq): Remove const from the ctxt argument.
45205         (USE_HEURISTIC): Undefine at the end.
45206
45207 2007-08-18  Jim Meyering  <jim@meyering.net>
45208
45209         New file: lib/idcache.h
45210         * NEWS: Mention the addition.
45211         * modules/idcache (Files): Add lib/idcache.h
45212         * lib/idcache.c: Include "idcache.h".
45213         Don't include <sys/types.h>.
45214         Add a FIXME comment.
45215         Move file-scoped "static" declarations to the top.
45216         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
45217
45218 2007-08-17  Bruno Haible  <bruno@clisp.org>
45219         and Paul Eggert  <eggert@cs.ucla.edu>
45220
45221         * MODULES.html.sh: Add diffseq.
45222         * modules/diffseq: New file.
45223         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
45224         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
45225
45226 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
45227
45228         Import changes from coreutils for bootstrap script.
45229
45230         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
45231
45232         * build-aux/bootstrap (slurp): Work even in environments where
45233         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
45234         current code does not slurp files whose names start with ".", and
45235         this looks like it might be a troublesome area.
45236
45237         2007-07-11  Jim Meyering  <jim@meyering.net>
45238
45239         If there's a GPL vN copyright comment, require that N == 3.
45240
45241         2007-07-08  Jim Meyering  <jim@meyering.net>
45242
45243         Run the coreutils-specific code only if tests/Makefile.am.in exists.
45244         * build-aux/bootstrap (mam_template): Move definition out of loop.
45245
45246         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
45247
45248         * build-aux/bootstrap (symlink_to_dir): Rename function from
45249         symlink_to_gnulib.  Add a directory parameter.  Update all
45250         callers.
45251         (cp_mark_as_generated): Also check for -- and link to -- files in
45252         gl/.
45253
45254         2007-07-08  Jim Meyering  <jim@meyering.net>
45255
45256         Adapt to deeper hierarchy in gnulib.
45257         * build-aux/bootstrap (symlink_to_dir): If the destination
45258         directory doesn't exist, create it. This is required at least for
45259         "lib/uniwidth/cjk.h".
45260
45261         2007-05-15  Jim Meyering  <jim@meyering.net>
45262
45263         * build-aux/bootstrap: Now that generated Makefile.am files
45264         are no longer under version control, they must be created at
45265         bootstrap time.
45266
45267 2007-08-14  Ben Pfaff  <blp@gnu.org>
45268
45269         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
45270
45271 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
45272
45273         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
45274         given the changes below.
45275         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
45276         even on hosts that have padding bits beyond the supported 64.
45277
45278 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
45279
45280         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
45281         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
45282         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
45283         depends on it.
45284         (xstrtol_error): Remove.
45285         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
45286         but with a different signature.
45287         (ATTRIBUTE_NORETURN, __attribute__): New macros.
45288         * lib/xstrtol-error.c: Include exitfail.h.
45289         (xstrtol_fatal): New function, with a different signature from the
45290         old xstrtol_error, so that the caller need not worry about passing
45291         in an exit status, or about storage management of the option argument.
45292         (xstrtol_error): Now a static function.  Redo signature to
45293         implement xstrtol_fatal.  Output the correct number of hyphens in
45294         front of the option so that the caller need not worry about
45295         storage management.
45296         (N_): New macro.
45297         (_): Remove; not used now.
45298         * modules/xstrtol: Depend on getopt.
45299         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
45300         of old STRTOL_FATAL_ERROR macro.
45301         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
45302         of test program.
45303         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
45304         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
45305
45306 2007-08-08  Eric Blake  <ebb9@byu.net>
45307
45308         * lib/xstrtol-error.c: Add missing include.
45309
45310         Move xstrtol messages into gnulib domain, when --pobase is used.
45311         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
45312         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
45313         * modules/xstrtol (Files): Distribute new file.
45314         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
45315         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
45316         * tests/test-xstrtol.c: ...into new file.
45317         * tests/test-xstrtoul.c: Also test xstrtoul.
45318         * tests/test-xstrtoimax.c: Also test xstrtoimax.
45319         * tests/test-xstrtoumax.c: Also test xstrtoumax.
45320         * tests/test-xstrtol.sh: Drive the tests.
45321         * tests/test-xstrtoimax.sh: Likewise.
45322         * tests/test-xstrtoumax.sh: Likewise.
45323         * modules/xstrtol-tests: New module.
45324         * modules/xstrtoimax-tests: Likewise.
45325         * modules/xstrtoumax-tests: Likewise.
45326
45327 2007-08-08  Jim Meyering  <jim@meyering.net>
45328
45329         New function: mfile_name_concat.
45330         * lib/filenamecat.c (mfile_name_concat): New function, just like
45331         file_name_concat, but return NULL upon failure rather than exiting
45332         with a diagnostic.
45333         * lib/filenamecat.h: Declare it.
45334
45335 2007-08-07  Bruno Haible  <bruno@clisp.org>
45336
45337         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
45338         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
45339         warning from gcc.
45340         Reported by Eric Blake.
45341
45342 2007-08-07  Simon Josefsson  <simon@josefsson.org>
45343
45344         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
45345         * modules/crypto/arcfour (License): Likewise.
45346         * modules/crypto/des-tests (License): Likewise.
45347         * modules/crypto/gc-arctwo-tests (License): Likewise.
45348         * modules/crypto/gc-des-tests (License): Likewise.
45349         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
45350         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
45351         * modules/crypto/gc-md2-tests (License): Likewise.
45352         * modules/crypto/gc-md4-tests (License): Likewise.
45353         * modules/crypto/gc-md5-tests (License): Likewise.
45354         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
45355         * modules/crypto/gc-rijndael-tests (License): Likewise.
45356         * modules/crypto/gc-sha1-tests (License): Likewise.
45357         * modules/crypto/gc-tests (License): Likewise.
45358         * modules/crypto/hmac-md5 (License): Likewise.
45359         * modules/crypto/hmac-sha1 (License): Likewise.
45360         * modules/crypto/md2-tests (License): Likewise.
45361         * modules/crypto/md4-tests (License): Likewise.
45362         * modules/crypto/md5 (License): Likewise.
45363         * modules/crypto/rijndael (License): Likewise.
45364         * modules/crypto/sha1 (License): Likewise.
45365         * modules/memxor (License): Likewise.
45366
45367 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
45368         and Bruno Haible  <bruno@clisp.org>
45369
45370         * NEWS: Describe interface changes to human, xstrtol.
45371         * lib/human.h: Include <xstrtol.h>.
45372         (human_options): Return enum strtol_error, not int.  Remove
45373         bool arg; take int * instead.
45374         * lib/human.c: Don't include "gettext.h".
45375         (_): Remove; no longer used.
45376         Don't include <xstrtol.h>, since human.h does it.
45377         (human_options): Adjust to abovementioned interface changes.
45378         Do not report error to stderr; that's now the caller's
45379         responsibility.
45380         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
45381         interface change.
45382         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
45383         Str, Argument_type_string.  All uses changed.  Put " argument"
45384         in diagnostics to make them clearer.  Change wording of suffix
45385         message for clarity.
45386         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
45387         Argument_type_string.
45388         (STRTOL_FATAL_WARN): Remove; no longer used.
45389         * modules/human (Depends-on): Remove gettext-h.
45390
45391 2007-08-06  Simon Josefsson  <simon@josefsson.org>
45392
45393         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
45394
45395 2007-07-31  Bruno Haible  <bruno@clisp.org>
45396
45397         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
45398         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
45399         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
45400
45401 2007-07-31  Bruno Haible  <bruno@clisp.org>
45402
45403         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
45404         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
45405
45406 2007-07-30  Bruno Haible  <bruno@clisp.org>
45407
45408         * modules/base64 (License): Use the synonymous term "LGPLv2+".
45409         * modules/c-ctype (License): Likewise.
45410         * modules/c-strcase (License): Likewise.
45411         * modules/check-version (License): Likewise.
45412         * modules/iconv (License): Likewise.
45413         * modules/iconv_open (License): Likewise.
45414         * modules/read-file (License): Likewise.
45415         * modules/striconv (License): Likewise.
45416         * modules/strverscmp (License): Likewise.
45417         * modules/vasprintf (License): Likewise.
45418         * modules/crypto/des (License): Likewise.
45419         * modules/crypto/gc (License): Likewise.
45420         * modules/crypto/gc-arcfour (License): Likewise.
45421         * modules/crypto/gc-arctwo (License): Likewise.
45422         * modules/crypto/gc-des (License): Likewise.
45423         * modules/crypto/gc-hmac-md5 (License): Likewise.
45424         * modules/crypto/gc-hmac-sha1 (License): Likewise.
45425         * modules/crypto/gc-md2 (License): Likewise.
45426         * modules/crypto/gc-md4 (License): Likewise.
45427         * modules/crypto/gc-md5 (License): Likewise.
45428         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
45429         * modules/crypto/gc-random (License): Likewise.
45430         * modules/crypto/gc-rijndael (License): Likewise.
45431         * modules/crypto/gc-sha1 (License): Likewise.
45432         * modules/crypto/md2 (License): Likewise.
45433         * modules/crypto/md4 (License): Likewise.
45434
45435 2007-07-30  Jim Meyering  <jim@meyering.net>
45436
45437         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
45438         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
45439         it has valid stat data.  This bug would cause du not to count the
45440         sizes of inaccessible directories.
45441         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
45442         in <http://bugzilla.redhat.com/250077>.
45443
45444 2007-07-25  Peter O'Gorman  <peter@pogma.com>
45445             Bruno Haible  <bruno@clisp.org>
45446
45447         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
45448         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
45449         #include_next, gives a diagnostic about it, but reports no error in
45450         the exit code.
45451         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45452
45453 2007-07-24  Ben Pfaff  <blp@gnu.org>
45454
45455         Improve name: "count-one-bits" is better than "popcount".
45456         * MODULES.html.sh: Update name.
45457         * lib/popcount.h: Renamed lib/count-one-bits.h.
45458         (popcount): Renamed count_one_bits.
45459         (popcountl): Renamed count_one_bits_l.
45460         (popcountll): Renamed count_one_bits_ll.
45461         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
45462         * modules/popcount: Renamed module/count-one-bits.
45463         * modules/popcount-tests: Renamed module/count-one-bits-tests.
45464         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
45465
45466 2007-07-23  Ben Pfaff  <blp@gnu.org>
45467
45468         * lib/popcount.h (popcount32): Reduce size of constants, to allow
45469         better code generation, and add U to large constants to avoid
45470         warnings, in non-GCC case.
45471         Suggested by Bruno Haible.
45472
45473 2007-07-23  Ben Pfaff  <blp@gnu.org>
45474
45475         * lib/popcount.h: Use verify_true instead of if...abort.
45476         * modules/popcount: Depend on verify module.
45477         Suggested by Jim Meyering.
45478
45479 2007-07-23  Bruno Haible  <bruno@clisp.org>
45480
45481         * gnulib-tool (func_import): Create a .cvsignore file also when the
45482         directory is not yet in CVS but the toplevel directory is. When
45483         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
45484         Reported by Karl Berry.
45485
45486 2007-07-22  Ben Pfaff  <blp@gnu.org>
45487
45488         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
45489         case.
45490         Suggested by Eric Blake.
45491
45492 2007-07-22  Ben Pfaff  <blp@gnu.org>
45493
45494         New module: popcount.
45495         * MODULES.html.sh: Add popcount.
45496         * modules/popcount: New file.
45497         * modules/popcount-tests: New file.
45498         * tests/test-popcount.c: New file.
45499         * lib/popcount.h: New file.
45500         * m4/popcount.m4: New file.
45501
45502 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
45503
45504         * build-aux/announce-gen: Update to GPLv3.
45505
45506         * build-aux/config.guess: Update from config.
45507
45508 2007-07-21  Bruno Haible  <bruno@clisp.org>
45509
45510         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
45511         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
45512
45513 2007-07-20  Jim Meyering  <jim@meyering.net>
45514
45515         * check-module: Diagnose a self-dependency.
45516
45517 2007-07-19  Bruno Haible  <bruno@clisp.org>
45518
45519         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
45520         empty.
45521         Reported by Eric Blake.
45522
45523 2007-07-18  Bruno Haible  <bruno@clisp.org>
45524
45525         * gnulib-tool: New options --po-base, --po-domain.
45526         (func_usage): Document them.
45527         (pobase, po_domain): New variables.
45528         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
45529         DEFAULT_TEXT_DOMAIN.
45530         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
45531         (func_import): Consider pobase and po_domain. Create a po/ directory.
45532         (func_create_testdir): Set pobase and po_domain to empty.
45533         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
45534         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
45535
45536 2007-07-18  Bruno Haible  <bruno@clisp.org>
45537
45538         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45539         EXTRA_DIST augmentation for files in build-aux/.
45540
45541 2007-07-16  Bruno Haible  <bruno@clisp.org>
45542
45543         * modules/lseek (License): Use the synonymous term "LGPLv2+".
45544         * modules/getdelim (License): Likewise.
45545
45546 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45547
45548         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
45549         * modules/d-type (License): Likewise.
45550         * modules/extensions (License): Likewise.
45551         * modules/fnmatch (License): Likewise.
45552         * modules/fseeko (License): Likewise.
45553         * modules/getaddrinfo (License): Likewise.
45554         * modules/getline (License): Likewise.
45555         * modules/getlogin_r (License): Likewise.
45556         * modules/getpass (License): Likewise.
45557         * modules/gettimeofday (License): Likewise.
45558         * modules/glob (License): Likewise.
45559         * modules/inet_ntop (License): Likewise.
45560         * modules/malloc (License): Likewise.
45561         * modules/malloca (License): Likewise.
45562         * modules/memmem (License): Likewise.
45563         * modules/mempcpy (License): Likewise.
45564         * modules/memset (License): Likewise.
45565         * modules/minmax (License): Likewise.
45566         * modules/mktime (License): Likewise.
45567         * modules/netinet_in (License): Likewise.
45568         * modules/pathmax (License): Likewise.
45569         * modules/poll (License): Likewise.
45570         * modules/regex (License): Likewise.
45571         * modules/snprintf (License): Likewise.
45572         * modules/stdbool (License): Likewise.
45573         * modules/stdint (License): Likewise.
45574         * modules/stdio (License): Likewise.
45575         * modules/strcase (License): Likewise.
45576         * modules/strcasestr (License): Likewise.
45577         * modules/strdup (License): Likewise.
45578         * modules/string (License): Likewise.
45579         * modules/strndup (License): Likewise.
45580         * modules/strnlen (License): Likewise.
45581         * modules/strpbrk (License): Likewise.
45582         * modules/strptime (License): Likewise.
45583         * modules/strsep (License): Likewise.
45584         * modules/sys_select (License): Likewise.
45585         * modules/sys_socket (License): Likewise.
45586         * modules/sys_stat (License): Likewise.
45587         * modules/sys_time (License): Likewise.
45588         * modules/time (License): Likewise.
45589         * modules/time_r (License): Likewise.
45590         * modules/timegm (License): Likewise.
45591         * modules/unistd (License): Likewise.
45592         * modules/vsnprintf (License): Likewise.
45593         * modules/wctype (License): Likewise.
45594
45595 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45596
45597         * modules/argz (License): LGPLv2+.
45598
45599 2007-07-15  Karl Berry  <karl@gnu.org>
45600
45601         * doc/gnulib.texi: revise node structure per new fdl.texi.
45602
45603 2007-07-14  Bruno Haible  <bruno@clisp.org>
45604
45605         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
45606         the output file.
45607         * lib/uniname/uninames.h: Regenerated.
45608
45609 2007-07-14  Karl Berry  <karl@gnu.org>
45610
45611         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
45612         omitting sectioning and index commands.
45613
45614 2007-07-13  Bruno Haible  <bruno@clisp.org>
45615
45616         New gnulib-tool option --more-symlinks.
45617         * gnulib-tool (func_usage): Document --more-symlinks.
45618         (do_copyrights): New variable.
45619         Recognize option --more-symlinks.
45620         (func_import): Don't add a copyright notice transform to
45621         sed_transform_lib_file if do_copyrights is empty.
45622
45623 2007-07-13  Bruno Haible  <bruno@clisp.org>
45624
45625         * lib/vasnprintf.c (decimal_point_char): Define also if
45626         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
45627         && !NEED_PRINTF_DIRECTIVE_A.
45628         Reported by Clemens Koller <clemens.koller@anagramm.de> via
45629         Gary V. Vaughan <gary@gnu.org>.
45630
45631 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
45632
45633         * lib/inttypes_.h: Undo previous change, since it was fixed
45634         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
45635
45636 2007-07-13  Bruno Haible  <bruno@clisp.org>
45637
45638         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
45639         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
45640
45641 2007-07-13  Jim Meyering  <jim@meyering.net>
45642
45643         df: Don't fail for Tru64's "file-on-file mount".
45644         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
45645         so we fall through and use statfs instead.  Details here:
45646         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
45647         Reported by Albert Chin.
45648
45649 2007-07-13  Bruno Haible  <bruno@clisp.org>
45650
45651         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
45652         * modules/configmake (License): Likewise.
45653         * modules/gettext (License): Likewise.
45654         * modules/gettext-h (License): Likewise.
45655         * modules/include_next (License): Likewise.
45656         * modules/link-warning (License): Likewise.
45657         * modules/localcharset (License): Likewise.
45658         * modules/localename (License): Likewise.
45659         * modules/lock (License): Likewise.
45660         * modules/relocatable-lib-lgpl (License): Likewise.
45661         * modules/size_max (License): Likewise.
45662         * modules/vasnprintf (License): Likewise.
45663         * modules/wchar (License): Likewise.
45664         * modules/xsize (License): Likewise.
45665
45666 2007-07-13  Bruno Haible  <bruno@clisp.org>
45667
45668         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
45669         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
45670
45671 2007-07-12  Bruno Haible  <bruno@clisp.org>
45672
45673         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
45674         in the modules files.
45675
45676 2007-07-11  Karl Berry  <karl@gnu.org>
45677
45678         * MODULES.html.sh (func_module): use
45679          sed -e '\|^'"${includefile}"'$|d'
45680          instead of /.../d, to avoid errors on $includefile's containing /.
45681
45682 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
45683
45684         * gnulib-tool (func_import): Avoid duplication of --avoid
45685         statements
45686         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
45687         names to `_' in variable names.
45688
45689 2007-07-10  Eric Blake  <ebb9@byu.net>
45690
45691         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
45692         * NEWS: Document this change.
45693
45694 2007-07-08  Bruno Haible  <bruno@clisp.org>
45695
45696         Update to Unicode 5.0.
45697         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
45698         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
45699         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
45700         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
45701         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
45702         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
45703         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
45704         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
45705         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
45706         U+10A3F, U+1D242..U+1D244.
45707         (nonspacing_table_ind): Update.
45708         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
45709         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
45710
45711 2007-07-08  Bruno Haible  <bruno@clisp.org>
45712
45713         Update to Unicode 5.0.
45714         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
45715         code transform. Extend the name index field of unicode_name_to_code and
45716         unicode_code_to_name from 16 to 24 bits.
45717         * lib/uniname/uniname.c (unicode_character_name,
45718         unicode_name_character): Add the range 0x12xxx to the code transform.
45719         * lib/uniname/uninames.h: Regenerated.
45720         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
45721
45722 2007-07-07  Bruno Haible  <bruno@clisp.org>
45723
45724         * modules/wcwidth-tests: New file.
45725         * tests/test-wcwidth.c: New file.
45726
45727         Work around MacOS X wcwidth() bug.
45728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
45729         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
45730         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
45731         original wcwidth in non-UTF-8 locales.
45732         * modules/wcwidth (Depends-on): Add localcharset, streq,
45733         uniwidth/width.
45734         * doc/functions/wcwidth.texi: Update.
45735
45736 2007-07-07  Bruno Haible  <bruno@clisp.org>
45737
45738         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
45739         (wcwidth): New declaration.
45740         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
45741         macros.
45742         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
45743         here. Prepare for creating <wchar.h> unconditionally.
45744         * modules/wchar (Depends-on): Add link-warning.
45745         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
45746         REPLACE_WCWIDTH, and GL_LINK_WARNING.
45747         * lib/wcwidth.h: Remove file.
45748         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
45749         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
45750         * modules/wcwidth (Files): Remove lib/wcwidth.h.
45751         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
45752         (Include): Replace wcwidth.h with <wchar.h>.
45753         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
45754         * lib/mbchar.h: Don't include wcwidth.h.
45755         * lib/mbswidth.c: Likewise.
45756         * NEWS: Mention the change.
45757
45758 2007-07-07  Bruno Haible  <bruno@clisp.org>
45759
45760         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
45761         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
45762         definition with an external declaration.
45763         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
45764         defined as a function. Remove AC_C_INLINE requirement.
45765         * modules/wcwidth (Files): Add lib/wcwidth.c.
45766         (Makefile.am): Remove redundant statement.
45767
45768 2007-07-07  Bruno Haible  <bruno@clisp.org>
45769
45770         * MODULES.html.sh (Unicode string functions): Add the new modules.
45771
45772         * tests/uniwidth/test-u32-strwidth.c: New file.
45773         * modules/uniwidth/u32-strwidth-tests: New file.
45774
45775         * lib/uniwidth/u32-strwidth.c: New file.
45776         * modules/uniwidth/u32-strwidth: New file.
45777
45778         * tests/uniwidth/test-u16-strwidth.c: New file.
45779         * modules/uniwidth/u16-strwidth-tests: New file.
45780
45781         * lib/uniwidth/u16-strwidth.c: New file.
45782         * modules/uniwidth/u16-strwidth: New file.
45783
45784         * tests/uniwidth/test-u8-strwidth.c: New file.
45785         * modules/uniwidth/u8-strwidth-tests: New file.
45786
45787         * lib/uniwidth/u8-strwidth.c: New file.
45788         * modules/uniwidth/u8-strwidth: New file.
45789
45790         * tests/uniwidth/test-u32-width.c: New file.
45791         * modules/uniwidth/u32-width-tests: New file.
45792
45793         * lib/uniwidth/u32-width.c: New file.
45794         * modules/uniwidth/u32-width: New file.
45795
45796         * tests/uniwidth/test-u16-width.c: New file.
45797         * modules/uniwidth/u16-width-tests: New file.
45798
45799         * lib/uniwidth/u16-width.c: New file.
45800         * modules/uniwidth/u16-width: New file.
45801
45802         * tests/uniwidth/test-u8-width.c: New file.
45803         * modules/uniwidth/u8-width-tests: New file.
45804
45805         * lib/uniwidth/u8-width.c: New file.
45806         * modules/uniwidth/u8-width: New file.
45807
45808         * tests/uniwidth/test-uc_width.c: New file.
45809         * modules/uniwidth/width-tests: New file.
45810
45811         * lib/uniwidth/width.c: New file, from GNU libiconv.
45812         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
45813         * modules/uniwidth/width: New file.
45814
45815         * lib/uniwidth.h: New file, from GNU libiconv.
45816         * modules/uniwidth/base: New file.
45817
45818 2007-07-07  Bruno Haible  <bruno@clisp.org>
45819
45820         * lib/uniname.h: New file, from GNU gettext.
45821         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
45822         * lib/uniname/uninames.h: New file, from GNU gettext.
45823         * lib/uniname/uniname.c: New file, from GNU gettext.
45824         * tests/uniname/test-uninames.sh: New file.
45825         * tests/uniname/test-uninames.c: New file, from GNU gettext.
45826         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
45827         * modules/uniname/base: New file.
45828         * modules/uniname/uniname: New file.
45829         * modules/uniname/uniname-tests: New file.
45830         * MODULES.html.sh (Unicode string functions): Add the new modules.
45831
45832 2007-07-06  Bruno Haible  <bruno@clisp.org>
45833
45834         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
45835
45836 2007-07-06  Bruno Haible  <bruno@clisp.org>
45837
45838         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
45839         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
45840         includes <cygwin/sys_time.h> which includes <sys/select.h> which
45841         include <sys/time.h>.
45842         Reported by Eric Blake.
45843
45844 2007-07-06  Eric Blake  <ebb9@byu.net>
45845
45846         Fix testing canonicalize on cygwin.
45847         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
45848         Revert patch from 2007-06-19.
45849         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
45850         canonicalize module is also in use.
45851         * tests/test-canonicalize.c: New file.
45852         * tests/test-canonicalize.sh: Likewise.
45853         * modules/canonicalize-tests: Likewise.
45854
45855 2007-07-06  Jim Meyering  <jim@meyering.net>
45856
45857         * lib/getugroups.c (getugroups): Detect getgrent failure.
45858         Adjust comment to reflect reality: this function may return -1.
45859
45860 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
45861
45862         * build-aux/bootstrap (TP_URL,get_translations): Update to use
45863         the new TP address.
45864         (usage): Fix typo
45865         (gnulib_mk): New variable.
45866
45867 2007-07-05  Jim Meyering  <jim@meyering.net>
45868
45869         Don't let endgrent clobber errno, no matter how improbable.
45870         * lib/getugroups.c (getugroups): Save and restore errno around
45871         endgrent call.
45872
45873         Close the group DB even when failing with 2^31 or more members.
45874         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
45875
45876 2007-07-04  Jim Meyering  <jim@meyering.net>
45877
45878         * lib/getugroups.h: New file.
45879         * lib/getugroups.c: Include "getugroups.h".
45880         Remove uses of "register" keyword.
45881         Move local variable, "cp", down into scope where used.
45882         Give "username" parameter the "const" attribute.
45883         * modules/getugroups (Files): Add lib/getugroups.h
45884
45885 2007-07-04  Karl Berry  <karl@gnu.org>
45886
45887         * MODULES.html.sh (func_all_modules): Complete rename of
45888         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
45889
45890 2007-07-02  Bruno Haible  <bruno@clisp.org>
45891
45892         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
45893         mode, when inttypes.h comes from gnulib.
45894         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
45895
45896 2007-07-02  Simon Josefsson  <simon@josefsson.org>
45897
45898         * NEWS: Mention lgpl module name change.
45899
45900         * modules/lgpl-2.1: Renamed from lgpl.
45901
45902         * NEWS: Mention gpl module name change.
45903
45904         * modules/gpl-3.0: New file, based on gpl-2.0.
45905
45906         * modules/gpl-2.0: Renamed from gpl.
45907
45908         * modules/gpl: Fix filename, doc/gpl.texi is now found at
45909         doc/gpl-2.0.texi.
45910
45911 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
45912
45913         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
45914         #define __STDC_LIMIT_MACROS temporarily while including
45915         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
45916         Problem reported by Joel E. Denny in
45917         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
45918
45919 2007-07-01  Bruno Haible  <bruno@clisp.org>
45920
45921         * lib/unistdio.h: New file.
45922         * lib/unistdio/u-asnprintf.h: New file.
45923         * lib/unistdio/u-asprintf.h: New file.
45924         * lib/unistdio/u-printf-args.c: New file.
45925         * lib/unistdio/u-printf-args.h: New file.
45926         * lib/unistdio/u-printf-parse.h: New file.
45927         * lib/unistdio/u-snprintf.h: New file.
45928         * lib/unistdio/u-sprintf.h: New file.
45929         * lib/unistdio/u-vasprintf.h: New file.
45930         * lib/unistdio/u-vsnprintf.h: New file.
45931         * lib/unistdio/u-vsprintf.h: New file.
45932         * lib/unistdio/ulc-asnprintf.c: New file.
45933         * lib/unistdio/ulc-asprintf.c: New file.
45934         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
45935         * lib/unistdio/ulc-printf-parse.c: New file.
45936         * lib/unistdio/ulc-snprintf.c: New file.
45937         * lib/unistdio/ulc-sprintf.c: New file.
45938         * lib/unistdio/ulc-vasnprintf.c: New file.
45939         * lib/unistdio/ulc-vasprintf.c: New file.
45940         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
45941         * lib/unistdio/ulc-vsnprintf.c: New file.
45942         * lib/unistdio/ulc-vsprintf.c: New file.
45943         * lib/unistdio/u8-asnprintf.c: New file.
45944         * lib/unistdio/u8-asprintf.c: New file.
45945         * lib/unistdio/u8-printf-parse.c: New file.
45946         * lib/unistdio/u8-snprintf.c: New file.
45947         * lib/unistdio/u8-sprintf.c: New file.
45948         * lib/unistdio/u8-vasnprintf.c: New file.
45949         * lib/unistdio/u8-vasprintf.c: New file.
45950         * lib/unistdio/u8-vsnprintf.c: New file.
45951         * lib/unistdio/u8-vsprintf.c: New file.
45952         * lib/unistdio/u8-u8-asnprintf.c: New file.
45953         * lib/unistdio/u8-u8-asprintf.c: New file.
45954         * lib/unistdio/u8-u8-snprintf.c: New file.
45955         * lib/unistdio/u8-u8-sprintf.c: New file.
45956         * lib/unistdio/u8-u8-vasnprintf.c: New file.
45957         * lib/unistdio/u8-u8-vasprintf.c: New file.
45958         * lib/unistdio/u8-u8-vsnprintf.c: New file.
45959         * lib/unistdio/u8-u8-vsprintf.c: New file.
45960         * lib/unistdio/u16-asnprintf.c: New file.
45961         * lib/unistdio/u16-asprintf.c: New file.
45962         * lib/unistdio/u16-printf-parse.c: New file.
45963         * lib/unistdio/u16-snprintf.c: New file.
45964         * lib/unistdio/u16-sprintf.c: New file.
45965         * lib/unistdio/u16-vasnprintf.c: New file.
45966         * lib/unistdio/u16-vasprintf.c: New file.
45967         * lib/unistdio/u16-vsnprintf.c: New file.
45968         * lib/unistdio/u16-vsprintf.c: New file.
45969         * lib/unistdio/u16-u16-asnprintf.c: New file.
45970         * lib/unistdio/u16-u16-asprintf.c: New file.
45971         * lib/unistdio/u16-u16-snprintf.c: New file.
45972         * lib/unistdio/u16-u16-sprintf.c: New file.
45973         * lib/unistdio/u16-u16-vasnprintf.c: New file.
45974         * lib/unistdio/u16-u16-vasprintf.c: New file.
45975         * lib/unistdio/u16-u16-vsnprintf.c: New file.
45976         * lib/unistdio/u16-u16-vsprintf.c: New file.
45977         * lib/unistdio/u32-asnprintf.c: New file.
45978         * lib/unistdio/u32-asprintf.c: New file.
45979         * lib/unistdio/u32-printf-parse.c: New file.
45980         * lib/unistdio/u32-snprintf.c: New file.
45981         * lib/unistdio/u32-sprintf.c: New file.
45982         * lib/unistdio/u32-vasnprintf.c: New file.
45983         * lib/unistdio/u32-vasprintf.c: New file.
45984         * lib/unistdio/u32-vsnprintf.c: New file.
45985         * lib/unistdio/u32-vsprintf.c: New file.
45986         * lib/unistdio/u32-u32-asnprintf.c: New file.
45987         * lib/unistdio/u32-u32-asprintf.c: New file.
45988         * lib/unistdio/u32-u32-snprintf.c: New file.
45989         * lib/unistdio/u32-u32-sprintf.c: New file.
45990         * lib/unistdio/u32-u32-vasnprintf.c: New file.
45991         * lib/unistdio/u32-u32-vasprintf.c: New file.
45992         * lib/unistdio/u32-u32-vsnprintf.c: New file.
45993         * lib/unistdio/u32-u32-vsprintf.c: New file.
45994         * tests/unistdio/test-ulc-asnprintf1.c: New file.
45995         * tests/unistdio/test-ulc-asnprintf1.h: New file.
45996         * tests/unistdio/test-ulc-printf1.h: New file.
45997         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
45998         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
45999         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
46000         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
46001         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
46002         * tests/unistdio/test-ulc-vasprintf1.c: New file.
46003         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
46004         * tests/unistdio/test-ulc-vsprintf1.c: New file.
46005         * tests/unistdio/test-u8-asnprintf1.c: New file.
46006         * tests/unistdio/test-u8-asnprintf1.h: New file.
46007         * tests/unistdio/test-u8-printf1.h: New file.
46008         * tests/unistdio/test-u8-vasnprintf1.c: New file.
46009         * tests/unistdio/test-u8-vasnprintf2.c: New file.
46010         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
46011         * tests/unistdio/test-u8-vasnprintf3.c: New file.
46012         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
46013         * tests/unistdio/test-u8-vasprintf1.c: New file.
46014         * tests/unistdio/test-u8-vsnprintf1.c: New file.
46015         * tests/unistdio/test-u8-vsprintf1.c: New file.
46016         * tests/unistdio/test-u16-asnprintf1.c: New file.
46017         * tests/unistdio/test-u16-asnprintf1.h: New file.
46018         * tests/unistdio/test-u16-printf1.h: New file.
46019         * tests/unistdio/test-u16-vasnprintf1.c: New file.
46020         * tests/unistdio/test-u16-vasnprintf2.c: New file.
46021         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
46022         * tests/unistdio/test-u16-vasnprintf3.c: New file.
46023         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
46024         * tests/unistdio/test-u16-vasprintf1.c: New file.
46025         * tests/unistdio/test-u16-vsnprintf1.c: New file.
46026         * tests/unistdio/test-u16-vsprintf1.c: New file.
46027         * tests/unistdio/test-u32-asnprintf1.c: New file.
46028         * tests/unistdio/test-u32-asnprintf1.h: New file.
46029         * tests/unistdio/test-u32-printf1.h: New file.
46030         * tests/unistdio/test-u32-vasnprintf1.c: New file.
46031         * tests/unistdio/test-u32-vasnprintf2.c: New file.
46032         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
46033         * tests/unistdio/test-u32-vasnprintf3.c: New file.
46034         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
46035         * tests/unistdio/test-u32-vasprintf1.c: New file.
46036         * tests/unistdio/test-u32-vsnprintf1.c: New file.
46037         * tests/unistdio/test-u32-vsprintf1.c: New file.
46038         * modules/unistdio/base: New file.
46039         * modules/unistdio/u-printf-args: New file.
46040         * modules/unistdio/ulc-asnprintf: New file.
46041         * modules/unistdio/ulc-asprintf: New file.
46042         * modules/unistdio/ulc-fprintf: New file.
46043         * modules/unistdio/ulc-printf-parse: New file.
46044         * modules/unistdio/ulc-snprintf: New file.
46045         * modules/unistdio/ulc-sprintf: New file.
46046         * modules/unistdio/ulc-vasnprintf: New file.
46047         * modules/unistdio/ulc-vasprintf: New file.
46048         * modules/unistdio/ulc-vfprintf: New file.
46049         * modules/unistdio/ulc-vsnprintf: New file.
46050         * modules/unistdio/ulc-vsprintf: New file.
46051         * modules/unistdio/u8-asnprintf: New file.
46052         * modules/unistdio/u8-asprintf: New file.
46053         * modules/unistdio/u8-printf-parse: New file.
46054         * modules/unistdio/u8-snprintf: New file.
46055         * modules/unistdio/u8-sprintf: New file.
46056         * modules/unistdio/u8-vasnprintf: New file.
46057         * modules/unistdio/u8-vasprintf: New file.
46058         * modules/unistdio/u8-vsnprintf: New file.
46059         * modules/unistdio/u8-vsprintf: New file.
46060         * modules/unistdio/u8-u8-asnprintf: New file.
46061         * modules/unistdio/u8-u8-asprintf: New file.
46062         * modules/unistdio/u8-u8-snprintf: New file.
46063         * modules/unistdio/u8-u8-sprintf: New file.
46064         * modules/unistdio/u8-u8-vasnprintf: New file.
46065         * modules/unistdio/u8-u8-vasprintf: New file.
46066         * modules/unistdio/u8-u8-vsnprintf: New file.
46067         * modules/unistdio/u8-u8-vsprintf: New file.
46068         * modules/unistdio/u16-asnprintf: New file.
46069         * modules/unistdio/u16-asprintf: New file.
46070         * modules/unistdio/u16-printf-parse: New file.
46071         * modules/unistdio/u16-snprintf: New file.
46072         * modules/unistdio/u16-sprintf: New file.
46073         * modules/unistdio/u16-vasnprintf: New file.
46074         * modules/unistdio/u16-vasprintf: New file.
46075         * modules/unistdio/u16-vsnprintf: New file.
46076         * modules/unistdio/u16-vsprintf: New file.
46077         * modules/unistdio/u16-u16-asnprintf: New file.
46078         * modules/unistdio/u16-u16-asprintf: New file.
46079         * modules/unistdio/u16-u16-snprintf: New file.
46080         * modules/unistdio/u16-u16-sprintf: New file.
46081         * modules/unistdio/u16-u16-vasnprintf: New file.
46082         * modules/unistdio/u16-u16-vasprintf: New file.
46083         * modules/unistdio/u16-u16-vsnprintf: New file.
46084         * modules/unistdio/u16-u16-vsprintf: New file.
46085         * modules/unistdio/u32-asnprintf: New file.
46086         * modules/unistdio/u32-asprintf: New file.
46087         * modules/unistdio/u32-printf-parse: New file.
46088         * modules/unistdio/u32-snprintf: New file.
46089         * modules/unistdio/u32-sprintf: New file.
46090         * modules/unistdio/u32-vasnprintf: New file.
46091         * modules/unistdio/u32-vasprintf: New file.
46092         * modules/unistdio/u32-vsnprintf: New file.
46093         * modules/unistdio/u32-vsprintf: New file.
46094         * modules/unistdio/u32-u32-asnprintf: New file.
46095         * modules/unistdio/u32-u32-asprintf: New file.
46096         * modules/unistdio/u32-u32-snprintf: New file.
46097         * modules/unistdio/u32-u32-sprintf: New file.
46098         * modules/unistdio/u32-u32-vasnprintf: New file.
46099         * modules/unistdio/u32-u32-vasprintf: New file.
46100         * modules/unistdio/u32-u32-vsnprintf: New file.
46101         * modules/unistdio/u32-u32-vsprintf: New file.
46102         * modules/unistdio/ulc-asnprintf-tests: New file.
46103         * modules/unistdio/ulc-vasnprintf-tests: New file.
46104         * modules/unistdio/ulc-vasprintf-tests: New file.
46105         * modules/unistdio/ulc-vsnprintf-tests: New file.
46106         * modules/unistdio/ulc-vsprintf-tests: New file.
46107         * modules/unistdio/u8-asnprintf-tests: New file.
46108         * modules/unistdio/u8-vasnprintf-tests: New file.
46109         * modules/unistdio/u8-vasprintf-tests: New file.
46110         * modules/unistdio/u8-vsnprintf-tests: New file.
46111         * modules/unistdio/u8-vsprintf-tests: New file.
46112         * modules/unistdio/u16-asnprintf-tests: New file.
46113         * modules/unistdio/u16-vasnprintf-tests: New file.
46114         * modules/unistdio/u16-vasprintf-tests: New file.
46115         * modules/unistdio/u16-vsnprintf-tests: New file.
46116         * modules/unistdio/u16-vsprintf-tests: New file.
46117         * modules/unistdio/u32-asnprintf-tests: New file.
46118         * modules/unistdio/u32-vasnprintf-tests: New file.
46119         * modules/unistdio/u32-vasprintf-tests: New file.
46120         * modules/unistdio/u32-vsnprintf-tests: New file.
46121         * modules/unistdio/u32-vsprintf-tests: New file.
46122         * MODULES.html.sh (Unicode string functions): Add the new modules.
46123
46124 2007-07-01  Bruno Haible  <bruno@clisp.org>
46125
46126         * lib/sprintf.c (sprintf): Limit the available length estimation,
46127         to avoid address wraparound.
46128         * lib/vsprintf.c (vsprintf): Likewise.
46129         * modules/sprintf-posix (Dependencies): Add stdint.
46130         * modules/vsprintf-posix (Dependencies): Likewise.
46131
46132 2007-07-01  Bruno Haible  <bruno@clisp.org>
46133
46134         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
46135         Windows PATH as well. Conservative double-quoting. Comments.
46136
46137 2007-07-01  Bruno Haible  <bruno@clisp.org>
46138             Eric Blake  <ebb9@byu.net>
46139             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46140
46141         * gnulib-tool (self_abspathname): Fix algorithm to cope with
46142         empty components in $PATH, denoting '.'.
46143
46144 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46145
46146         * gnulib-tool: Fix indentation.
46147         (func_create_megatestdir): Likewise.
46148         Report by Bruno Haible.
46149
46150 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46151
46152         Sync from Automake.
46153         * build-aux/gnupload: Fix shell portability issues with for loops.
46154         Report by Karl Berry.
46155
46156 2007-06-29  Simon Josefsson  <simon@josefsson.org>
46157
46158         * build-aux/maint.mk (POURL): Use translationproject.org.
46159
46160 2007-06-27  Simon Josefsson  <simon@josefsson.org>
46161             Bruno Haible  <bruno@clisp.org>
46162
46163         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
46164         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
46165         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
46166         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
46167         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
46168
46169 2007-06-27  Bruno Haible  <bruno@clisp.org>
46170
46171         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
46172         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
46173
46174 2007-06-26  Karl Berry  <karl@gnu.org>
46175
46176         * MODULES.html.sh: remove xreadlink-with-size.
46177
46178 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46179
46180         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
46181         method that I hope also handles the double-include problem noted
46182         by Bruno Haible in
46183         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
46184
46185 2007-06-23  Bruno Haible  <bruno@clisp.org>
46186
46187         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46188         Don't let the 'mostlyclean' target fail if the last subdirectory could
46189         not be removed.
46190         Reported by Karl Berry.
46191
46192 2007-06-23  Bruno Haible  <bruno@clisp.org>
46193
46194         * gnulib-tool (echo): Add a speedier workaround for ksh.
46195         * tests/test-echo.sh: Likewise.
46196
46197 2007-06-23  Bruno Haible  <bruno@clisp.org>
46198
46199         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
46200         * tests/test-echo.sh: Likewise.
46201
46202 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46203
46204         * gnulib-tool (IFS): Initialize early, so we don't set it to
46205         empty later.
46206         (self_abspathname): Rewrite algorithm to set it, reindent.
46207         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
46208         (func_create_megatestdir): Merge some sed scripts.
46209
46210 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
46211
46212         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
46213         exposed by Sun Studio 11 cc on Solaris 8.
46214
46215 2007-06-22  Bruno Haible  <bruno@clisp.org>
46216
46217         * gnulib-tool (echo): Ensure the echo primitive does not interpret
46218         backslashes.
46219         * tests/test-echo.sh: New file.
46220
46221 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46222
46223         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
46224         simplify `sed_replace_build_aux' scripts, they are portable but
46225         echoing them with `echo' is not.
46226         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
46227
46228 2007-06-21  Karl Berry  <karl@gnu.org>
46229
46230         * config/srclist.txt: guess we can't handle the licenses via
46231         srclist at the moment.
46232
46233 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
46234
46235         * MODULES.html.sh: Add include_next.
46236         * modules/include_next: New file.
46237
46238 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
46239
46240         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
46241         INCLUDE_NEXT.
46242         (gl_CHECK_NEXT_HEADERS): New macro.
46243         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
46244         the obsolescent gl_ABSOLUTE_HEADER.
46245         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
46246         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
46247         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
46248         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
46249         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
46250         * m4/math_h.m4 (gl_MATH_H): Likewise.
46251         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
46252         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
46253         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
46254         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46255         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
46256         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
46257         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
46258         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46259         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46260         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
46261         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
46262         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
46263         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
46264         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46265         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46266         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46267         * m4/inttypes.m4 (gl_INTTYPES_H): Define
46268         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
46269         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
46270         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
46271         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
46272         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
46273         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
46274         * lib/float_.h: Likewise.
46275         * lib/inttypes_.h: Likewise.
46276         * lib/math_.h: Likewise.
46277         * lib/search_.h: Likewise.
46278         * lib/signal_.h: Likewise.
46279         * lib/stdint_.h: Likewise.
46280         * lib/stdio_.h: Likewise.
46281         * lib/stdlib_.h: Likewise.
46282         * lib/string_.h: Likewise.
46283         * lib/sys_stat_.h: Likewise.
46284         * lib/sys_time_.h: Likewise.
46285         * lib/time_.h: Likewise.
46286         * lib/unistd_.h: Likewise.
46287         * lib/wchar_.h: Likewise.
46288         * lib/wctype_.h: Likewise.
46289         * lib/dirent_.h: Likewise.
46290         * lib/iconv_.h: Likewise.
46291         * lib/locale_.h: Likewise.
46292         * lib/netinet_in_.h: Likewise.
46293         * lib/sys_select_.h: Likewise.
46294         * lib/sys_socket_.h: Likewise.
46295         * lib/sysexits_.h: Likewise.
46296         * modules/fcntl (Depends-on): Depend on include_next, not
46297         absolute_header.
46298         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
46299         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
46300         * modules/fchdir: Likewise.
46301         * modules/float: Likewise.
46302         * modules/iconv_open: Likewise.
46303         * modules/inttypes: Likewise.
46304         * modules/locale: Likewise.
46305         * modules/math: Likewise.
46306         * modules/netinet_in: Likewise.
46307         * modules/search: Likewise.
46308         * modules/signal: Likewise.
46309         * modules/stdint: Likewise.
46310         * modules/stdio: Likewise.
46311         * modules/stdlib: Likewise.
46312         * modules/string: Likewise.
46313         * modules/sys_select: Likewise.
46314         * modules/sys_socket: Likewise.
46315         * modules/sys_stat: Likewise.
46316         * modules/sys_time: Likewise.
46317         * modules/sysexits: Likewise.
46318         * modules/time: Likewise.
46319         * modules/unistd: Likewise.
46320         * modules/wchar: Likewise.
46321         * modules/wctype: Likewise.
46322         * modules/sys_stat: Change maintainer to "all".
46323         * modules/unistd: Likewise.
46324
46325 2007-06-20  Karl Berry  <karl@gnu.org>
46326
46327         * config/srclist.txt: track www changes in license files.
46328
46329 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
46330
46331         * build-aux/bootstrap: Remove stray dot.
46332         Make sure build_aux settings are honored when linking
46333         gnulib_extra_files.
46334
46335 2007-06-19  Eric Blake  <ebb9@byu.net>
46336
46337         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
46338         Allow compilation on cygwin.
46339
46340 2007-06-19  Jim Meyering  <jim@meyering.net>
46341
46342         xreadlink-with-size: Remove module.  No longer used.
46343         Ex-callers now use xreadlink or mreadlink-with-size.
46344         * modules/xreadlink-with-size: Remove module.
46345         * lib/xreadlink-with-size.c: Remove file.
46346         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
46347         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
46348         just before the function definition *is* accurate.
46349
46350         Eliminate one way canonicalize_filename_mode could exit.
46351         * lib/canonicalize.c (canonicalize_filename_mode):
46352         Use mreadlink_with_size, not xreadlink_with_size.
46353
46354 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
46355
46356         Detect porting problems to FreeBSD/arm, which has time_t wider than
46357         long int.  Original problem reported for GNU diff by Xin Li in
46358         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
46359         * modules/getdate (Depends-on): Add intprops, verify.
46360         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
46361         is an integer type no wider than long int.
46362
46363 2007-06-18  Jim Meyering  <jim@meyering.net>
46364
46365         New module: mreadlink-with-size.
46366         * MODULES.html.sh: Add mreadlink-with-size.
46367         * modules/mreadlink-with-size: New module
46368         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
46369         not xreadlink-with-size.
46370         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
46371
46372 2007-06-16  Bruno Haible  <bruno@clisp.org>
46373
46374         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
46375         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
46376         Reported by Gary V. Vaughan <gary@gnu.org>.
46377
46378 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
46379
46380         Revamp lchown so that it lives in unistd.h where it belongs.
46381         * lib/lchown.h: Remove.
46382         * lib/dirchownmod.c: Don't include lib/lchown.h.
46383         * lib/fchownat.c: Likewise.
46384         * lib/openat.c: Likewise.
46385         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
46386         does not follow symlinks.
46387         (EOPNOTSUPP): Define if not defined.
46388         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
46389         is defined to 0.
46390         (lchown): New decl.
46391         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
46392         Do not check for lchown decl.
46393         Set REPLACE_LCHOWN.
46394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
46395         REPLACE_LCHOWN.
46396         * modules/chown: Make it clear it follows symlinks.
46397         * modules/lchown: Make it clear it doesn't follow symlinks.
46398         (Files): Remove lib/lchown.h
46399         (Depends-on): Add unistd.
46400         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
46401         (Include): Include <unistd.h>, not "lchown.h".
46402         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
46403         REPLACE_LCHOWN.
46404
46405 2007-06-15  Jim Meyering  <jim@meyering.net>
46406
46407         Change license (GPL to LGPL) of fsusage and dependents.
46408         * modules/fsusage (License): Change to LGPL.
46409         * modules/full-read (License): Likewise.
46410         * modules/full-write (License): Likewise.
46411         * modules/safe-read (License): Likewise.
46412         * modules/safe-write (License): Likewise.
46413
46414 2007-06-14  Ben Pfaff  <blp@gnu.org>
46415
46416         Missing part of allocsa -> malloca transition.
46417         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
46418         gl_MALLOCA.
46419
46420 2007-06-12  Bruno Haible  <bruno@clisp.org>
46421
46422         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
46423         to ia64, x86_64, i386.
46424         Reported by Eric Blake.
46425
46426 2007-06-12  Bruno Haible  <bruno@clisp.org>
46427
46428         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
46429         cross-compiling to x86_64.
46430
46431 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
46432
46433         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
46434         glitch reported by Ralf Wildenhues in
46435         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
46436
46437         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
46438         Vin Shelton.
46439
46440 2007-06-11  Bruno Haible  <bruno@clisp.org>
46441
46442         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
46443         replacement string.
46444         Reported by Eric Blake.
46445
46446 2007-06-10  Bruno Haible  <bruno@clisp.org>
46447
46448         Prepare vasnprintf code for use with Unicode strings.
46449         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
46450         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
46451         TYPE_U32_STRING.
46452         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
46453         a_u32_string variants.
46454         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46455         * lib/printf-args.c: Don't include config.h and the specification
46456         header if PRINTF_FETCHARGS is already defined.
46457         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
46458         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
46459         TYPE_U16_STRING, TYPE_U32_STRING.
46460         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
46461         u16_directive, u16_directives, u32_directive, u32_directives): New
46462         types.
46463         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
46464         New declarations.
46465         * lib/printf-parse.c: Don't include config.h and the specification
46466         header if PRINTF_PARSE is already defined. Eliminate the set of
46467         parameters for WIDE_CHAR_VERSION; the user of this file must provide
46468         them now. Include c-ctype.h.
46469         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
46470         directive and CHAR_T_ONLY_ASCII.
46471         * lib/vasnprintf.c: Don't include config.h and the specification header
46472         if VASNPRINTF is already defined.
46473         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
46474         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
46475         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
46476         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
46477         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
46478         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
46479         code accordingly.
46480         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
46481         pad_ourselves also in this case, with the 'c' and 's' directives, and
46482         with a different notion of "width".
46483         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
46484
46485 2007-06-10  Bruno Haible  <bruno@clisp.org>
46486
46487         * modules/unistr/u32-mbsnlen: New file.
46488         * lib/unistr/u32-mbsnlen.c: New file.
46489
46490         * modules/unistr/u16-mbsnlen: New file.
46491         * lib/unistr/u16-mbsnlen.c: New file.
46492
46493         * modules/unistr/u8-mbsnlen: New file.
46494         * lib/unistr/u8-mbsnlen.c: New file.
46495
46496         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
46497         declarations.
46498
46499 2007-06-10  Bruno Haible  <bruno@clisp.org>
46500
46501         * lib/string_.h (mbsnlen): New declaration.
46502         * lib/mbsnlen.c: New file.
46503         * m4/mbsnlen.m4: New file.
46504         * modules/mbsnlen: New file.
46505         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
46506         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
46507         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
46508
46509 2007-06-10  Bruno Haible  <bruno@clisp.org>
46510
46511         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
46512
46513 2007-06-10  Bruno Haible  <bruno@clisp.org>
46514
46515         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
46516         * lib/mbuiter.h: Likewise.
46517
46518 2007-06-10  Bruno Haible  <bruno@clisp.org>
46519
46520         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
46521         declaration.
46522
46523 2007-06-10  Karl Berry  <karl@gnu.org>
46524
46525         * config/srclist.txt: remove gettext entries, Bruno prefers
46526         to update individually.
46527
46528 2007-06-10  Bruno Haible  <bruno@clisp.org>
46529
46530         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
46531         'maxlen'. Ensure only length + width bytes are allocated, not
46532         length + 1 + width.
46533
46534 2007-06-09  Bruno Haible  <bruno@clisp.org>
46535
46536         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
46537         (CHAR_T): Remove macro.
46538         (VASNPRINTF): Update.
46539
46540 2007-06-09  Bruno Haible  <bruno@clisp.org>
46541
46542         * MODULES.html.sh (Unicode string functions): Add the new modules.
46543
46544         * modules/uniconv/u32-conv-to-enc: New file.
46545         * lib/uniconv/u32-conv-to-enc.c: New file.
46546         * modules/uniconv/u32-conv-to-enc-tests: New file.
46547         * tests/uniconv/test-u32-conv-to-enc.c: New file.
46548
46549         * modules/uniconv/u16-conv-to-enc: New file.
46550         * lib/uniconv/u16-conv-to-enc.c: New file.
46551         * lib/uniconv/u-conv-to-enc.h: New file.
46552         * modules/uniconv/u16-conv-to-enc-tests: New file.
46553         * tests/uniconv/test-u16-conv-to-enc.c: New file.
46554
46555         * modules/uniconv/u8-conv-to-enc: New file.
46556         * lib/uniconv/u8-conv-to-enc.c: New file.
46557         * modules/uniconv/u8-conv-to-enc-tests: New file.
46558         * tests/uniconv/test-u8-conv-to-enc.c: New file.
46559
46560         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46561         u32_conv_to_encoding): New declarations.
46562
46563 2007-06-09  Bruno Haible  <bruno@clisp.org>
46564
46565         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
46566
46567 2007-06-09  Bruno Haible  <bruno@clisp.org>
46568
46569         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
46570         * modules/malloca: Renamed from modules/allocsa, updated.
46571         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
46572         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
46573         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
46574         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
46575         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
46576         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
46577         * modules/xmalloca: Renamed from modules/xallocsa, updated.
46578         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
46579         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
46580         * modules/c-strcasestr (Depends-on): Update.
46581         * lib/c-strcasestr.c: Update.
46582         * modules/c-strstr (Depends-on): Update.
46583         * lib/c-strstr.c: Update.
46584         * modules/canonicalize-lgpl (Depends-on): Update.
46585         * lib/canonicalize-lgpl.c: Update.
46586         * modules/clean-temp (Depends-on): Update.
46587         * lib/clean-temp.c: Update.
46588         * modules/csharpcomp (Depends-on): Update.
46589         * lib/csharpcomp.c: Update.
46590         * modules/csharpexec (Depends-on): Update.
46591         * lib/csharpexec.c: Update.
46592         * modules/javacomp (Depends-on): Update.
46593         * lib/javacomp.c: Update.
46594         * modules/javaexec (Depends-on): Update.
46595         * lib/javaexec.c: Update.
46596         * modules/mbscasestr (Depends-on): Update.
46597         * lib/mbscasestr.c: Update.
46598         * modules/mbsstr (Depends-on): Update.
46599         * lib/mbsstr.c: Update.
46600         * modules/setenv (Depends-on): Update.
46601         * lib/setenv.c: Update.
46602         * modules/strcasestr (Depends-on): Update.
46603         * lib/strcasestr.c: Update.
46604         * modules/striconveha (Depends-on): Update.
46605         * lib/striconveha.c: Update.
46606         * modules/relocatable-prog-wrapper (Files): Update.
46607         * lib/relocwrapper.c: Update.
46608         * build-aux/install-reloc: Update.
46609         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
46610
46611 2007-06-08  Bruno Haible  <bruno@clisp.org>
46612
46613         Port to uClibc.
46614         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
46615         * lib/fpurge.c (fpurge): Likewise.
46616         * lib/freading.c (freading): Likewise.
46617         * lib/fseeko.c (rpl_fseeko): Likewise.
46618         * lib/fseterr.c (fseterr): Likewise.
46619         * lib/fwriting.c (fwriting): Likewise.
46620         * tests/test-fflush.c (main): Avoid a failure on uClibc.
46621
46622 2007-06-08  Bruno Haible  <bruno@clisp.org>
46623
46624         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
46625         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
46626         * modules/gettext (Files): Add m4/intlmacosx.m4.
46627
46628 2007-06-07  Bruno Haible  <bruno@clisp.org>
46629
46630         * modules/localename-tests: New file.
46631         * tests/test-localename.c: New file.
46632
46633         New module 'localename'.
46634         * lib/localename.h: New file.
46635         * lib/localename.c: New file, from GNU gettext.
46636         * m4/localename.m4: New file.
46637         * modules/localename: New file.
46638
46639 2007-06-07  Bruno Haible  <bruno@clisp.org>
46640
46641         Work around the lack of <wchar.h> on some builds of uClibc.
46642         * doc/headers/wchar.texi: Update.
46643         * lib/wchar_.h: Include <wchar.h> only if it exists.
46644         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
46645         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
46646         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
46647         doesn't exist.
46648         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
46649         * modules/mbfile (Depends-on): Add wchar.
46650         * modules/mbiter (Depends-on): Likewise.
46651         * modules/mbuiter (Depends-on): Likewise.
46652         Reported by Simon Josefsson.
46653
46654 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
46655
46656         Work around problem reported by Steven M. Schweda in
46657         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
46658         Tru64 5.1B with the Compaq compiler environment installed declares
46659         an 'isblank' function but does not define it in the C library.
46660         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
46661         * lib/regex_internal.h (isblank): Likewise.
46662         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
46663         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46664
46665 2007-06-05  Bruno Haible  <bruno@clisp.org>
46666
46667         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
46668         ia64.
46669         * modules/printf-safe: New file.
46670         * modules/fprintf-posix (Depends-on): Add printf-safe.
46671         * modules/printf-posix (Depends-on): Likewise.
46672         * modules/snprintf-posix (Depends-on): Likewise.
46673         * modules/sprintf-posix (Depends-on): Likewise.
46674         * modules/vasnprintf-posix (Depends-on): Likewise.
46675         * modules/vasprintf-posix (Depends-on): Likewise.
46676         * modules/vfprintf-posix (Depends-on): Likewise.
46677         * modules/vprintf-posix (Depends-on): Likewise.
46678         * modules/vsnprintf-posix (Depends-on): Likewise.
46679         * modules/vsprintf-posix (Depends-on): Likewise.
46680         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46681         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
46682         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
46683         "no" on i386, x86_64, ia64.
46684         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
46685         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46686         on i386, x86_64, ia64.
46687         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
46688         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46689         on i386, x86_64, ia64.
46690         * tests/test-vasnprintf-posix.c: Include float.h.
46691         (LDBL80_WORDS): New macro.
46692         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46693         on i386, x86_64, ia64.
46694         * tests/test-vasprintf-posix.c: Include float.h.
46695         (LDBL80_WORDS): New macro.
46696         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
46697         on i386, x86_64, ia64.
46698         * tests/test-snprintf-posix.c: Include float.h.
46699         * tests/test-sprintf-posix.c: Likewise.
46700         * tests/test-vsnprintf-posix.c: Likewise.
46701         * tests/test-vsprintf-posix.c: Likewise.
46702
46703 2007-06-05  Bruno Haible  <bruno@clisp.org>
46704
46705         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
46706         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
46707         non-IEEE numbers on i386, x86_64, ia64.
46708         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
46709         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
46710         * tests/test-isnanl.h: Include float.h.
46711         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
46712
46713 2007-06-05  Bruno Haible  <bruno@clisp.org>
46714
46715         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
46716         also the %a / %A. Handle the %a / %A code before this extra handling.
46717
46718 2007-06-05  Bruno Haible  <bruno@clisp.org>
46719
46720         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
46721         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
46722
46723 2007-06-05  Bruno Haible  <bruno@clisp.org>
46724
46725         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
46726         typo in variable name.
46727
46728 2007-06-05  Eric Blake  <ebb9@byu.net>
46729
46730         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
46731         Reported by Simon Josefsson.
46732
46733 2007-06-04  Bruno Haible  <bruno@clisp.org>
46734
46735         Avoid test failures on some PowerPC platforms.
46736         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
46737         Define differently for PowerPC.
46738         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
46739         Reported by Gary V. Vaughan <gary@gnu.org>.
46740
46741 2007-06-02  Bruno Haible  <bruno@clisp.org>
46742
46743         Fix test-stdint failure on FreeBSD/ia64.
46744         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
46745         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
46746         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
46747         * doc/headers/stdint.texi: Update.
46748
46749 2007-06-01  Bruno Haible  <bruno@clisp.org>
46750
46751         * tests/test-binary-io.c (main): Pass a third argument to open().
46752         Reported by Gary V. Vaughan <gary@gnu.org>.
46753
46754 2007-06-01  Bruno Haible  <bruno@clisp.org>
46755
46756         * doc/functions/frexpl.texi: Update for mingw.
46757
46758 2007-06-01  Bruno Haible  <bruno@clisp.org>
46759
46760         * tests/test-lseek.c (main): Disable test of errno for invalid third
46761         argument.
46762         * doc/functions/lseek.texi: Update.
46763         Reported by Gary V. Vaughan <gary@gnu.org>.
46764
46765 2007-05-28  Bruno Haible  <bruno@clisp.org>
46766
46767         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
46768
46769 2007-05-31  Eric Blake  <ebb9@byu.net>
46770
46771         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
46772         cross compiling.
46773
46774 2007-05-30  Eric Blake  <ebb9@byu.net>
46775         and Bruno Haible  <bruno@clisp.org>
46776
46777         Work around mingw test failures exposed by m4-1.4.9b.
46778         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
46779         * tests/test-unistd.c: Disable uid_t and git_t tests for the
46780         moment.
46781
46782 2007-05-30  Bruno Haible  <bruno@clisp.org>
46783
46784         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
46785         assuming that they are closed. Needed on HP-UX 11.
46786
46787 2007-05-29  Bruno Haible  <bruno@clisp.org>
46788
46789         Fix a problem with #include_next.
46790         * lib/dirent_.h: Split the double-inclusion guard.
46791         * lib/fcntl_.h: Likewise.
46792         * lib/float_.h: Likewise.
46793         * lib/iconv_.h: Likewise.
46794         * lib/inttypes_.h: Likewise.
46795         * lib/locale_.h: Likewise.
46796         * lib/math_.h: Likewise.
46797         * lib/netinet_in_.h: Likewise.
46798         * lib/search_.h: Likewise.
46799         * lib/signal_.h: Likewise.
46800         * lib/stdint_.h: Likewise.
46801         * lib/stdio_.h: Likewise.
46802         * lib/stdlib_.h: Likewise.
46803         * lib/string_.h: Likewise.
46804         * lib/sys_select_.h: Likewise.
46805         * lib/sys_socket_.h: Likewise.
46806         * lib/sys_stat_.h: Likewise.
46807         * lib/sys_time_.h: Likewise.
46808         * lib/sysexits_.h: Likewise.
46809         * lib/time_.h: Likewise.
46810         * lib/unistd_.h: Likewise.
46811         * lib/wchar_.h: Likewise.
46812         * lib/wctype_.h: Likewise.
46813
46814 2007-05-29  Bruno Haible  <bruno@clisp.org>
46815
46816         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
46817         for the moment.
46818
46819 2007-05-29  Bruno Haible  <bruno@clisp.org>
46820
46821         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
46822         invocation.
46823         Reported by Eric Blake.
46824
46825 2007-05-29  Bruno Haible  <bruno@clisp.org>
46826
46827         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
46828         compiling case.
46829
46830 2007-05-29  Eric Blake  <ebb9@byu.net>
46831             Bruno Haible  <bruno@clisp.org>
46832
46833         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
46834         cross compiles.
46835
46836 2007-05-28  Eric Blake  <ebb9@byu.net>
46837
46838         * modules/closein-tests (test_closein_LDADD): Support test on
46839         cygwin with libtool.
46840
46841 2007-05-28  Bruno Haible  <bruno@clisp.org>
46842
46843         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
46844         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46845         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46846         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46847         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46848         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46849         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46850         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46851         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46852
46853 2007-05-28  Eric Blake  <ebb9@byu.net>
46854
46855         Unconditionally include <config.h> in unit tests.
46856         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
46857         * tests/test-allocsa.c, tests/test-arcfour.c,
46858         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
46859         tests/test-array_list.c, tests/test-array_oset.c,
46860         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
46861         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
46862         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
46863         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
46864         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
46865         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
46866         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
46867         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
46868         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
46869         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
46870         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
46871         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
46872         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
46873         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
46874         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
46875         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
46876         test-md5.c, test-memmem.c, test-printf-posix.c,
46877         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
46878         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
46879         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
46880         test-strcasestr.c, test-striconv.c, test-striconveh.c,
46881         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
46882         test-vasnprintf-posix2.c, test-vasnprintf.c,
46883         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
46884         test-vfprintf-posix.c, test-vprintf-posix.c,
46885         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
46886         test-xvasprintf.c: Likewise.
46887
46888 2007-05-28  Bruno Haible  <bruno@clisp.org>
46889
46890         * gnulib-tool (func_import): Remember the --with-tests command-line
46891         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
46892         Reported by Eric Blake.
46893
46894 2007-05-28  Bruno Haible  <bruno@clisp.org>
46895
46896         * modules/ftell-tests: New file.
46897         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
46898         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
46899
46900         * lib/ftell.c: New file.
46901         * modules/ftell: New file.
46902         * m4/ftell.m4: New file.
46903         * doc/functions/ftell.texi: Update.
46904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
46905         REPLACE_FTELL.
46906         * lib/stdio_.h (rpl_ftell): New declaration.
46907         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
46908         REPLACE_FTELL.
46909
46910 2007-05-28  Eric Blake  <ebb9@byu.net>
46911
46912         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
46913
46914 2007-05-28  Bruno Haible  <bruno@clisp.org>
46915
46916         * modules/fseek-tests: New file.
46917         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
46918         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
46919
46920         * lib/fseek.c: New file.
46921         * modules/fseek: New file.
46922         * m4/fseek.m4: New file.
46923         * doc/functions/fseek.texi: Update.
46924         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
46925         REPLACE_FSEEK.
46926         * lib/stdio_.h (rpl_fseek): New declaration.
46927         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
46928         REPLACE_FSEEK.
46929
46930 2007-05-28  Bruno Haible  <bruno@clisp.org>
46931
46932         * lib/stdio_.h (fflush): More comments.
46933
46934 2007-05-28  Bruno Haible  <bruno@clisp.org>
46935
46936         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
46937         runtime test.
46938
46939 2007-05-28  Eric Blake  <ebb9@byu.net>
46940
46941         Improve lseek module.
46942         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
46943         * lib/unistd_.h (lseek): Scale back link warning message.
46944         * tests/test-lseek.c: Beef up test.
46945         * tests/test-lseek.sh: Exercise more facets of lseek.
46946         Reported by Bruno Haible.
46947
46948 2007-05-28  Bruno Haible  <bruno@clisp.org>
46949
46950         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
46951         to define.
46952
46953 2007-05-27  Bruno Haible  <bruno@clisp.org>
46954
46955         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
46956
46957 2007-05-27  Bruno Haible  <bruno@clisp.org>
46958
46959         * modules/openmp: New file.
46960         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
46961         Noah Misch.
46962
46963 2007-05-26  Bruno Haible  <bruno@clisp.org>
46964
46965         * modules/chdir-long (Depends-on): Add fchdir.
46966         * modules/chdir-safer (Depends-on): Likewise.
46967         * modules/fts (Depends-on): Likewise.
46968         * modules/fts-lgpl (Depends-on): Likewise.
46969         * modules/openat (Depends-on): Likewise.
46970         * modules/savewd (Depends-on): Likewise.
46971
46972 2007-05-24  Eric Blake  <ebb9@byu.net>
46973
46974         Fix lseek on mingw.
46975         * modules/lseek: New module.
46976         * m4/lseek.m4: New file.
46977         * lib/lseek.c: New file.
46978         * modules/lseek-tests: New file.
46979         * tests/test-lseek.c: New file.
46980         * tests/test-lseek.sh: New file.
46981         * MODULES.html.sh: Document lseek module.
46982         * modules/fflush (Depends-on): Add lseek, fseeko.
46983         * modules/fseeko (Depends-on): Likewise.
46984         * modules/ftello (Depends-on): Likewise.
46985         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
46986         broken.
46987         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
46988         broken.
46989         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
46990         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
46991         * lib/ftello.c (rpl_ftello): Likewise.
46992         * tests/test-fseeko.c (main): Test this.
46993         * tests/test-fseeko.sh: Likewise.
46994         * tests/test-ftello.c (main): Likewise.
46995         * tests/test-ftello.sh: Likewise.
46996         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
46997         implies replacing fseek.
46998         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
46999         HAVE_FTELLO.
47000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
47001         * modules/unistd (Makefile.am): Likewise.
47002         * lib/unistd_.h (lseek): Declare a replacement.
47003         * doc/functions/lseek.texi (lseek): Document this fix.
47004         * doc/functions/fseek.texi (fseek): Likewise.
47005         * doc/functions/ftell.texi (ftell): Likewise.
47006
47007 2007-05-24  Bruno Haible  <bruno@clisp.org>
47008
47009         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
47010         in the printed representation of a NaN.
47011         * tests/test-vasprintf-posix.c (test_function): Likewise.
47012         * tests/test-snprintf-posix.h (test_function): Likewise.
47013         * tests/test-sprintf-posix.h (test_function): Likewise.
47014         Reported by Eric Blake.
47015
47016 2007-05-23  Eric Blake  <ebb9@byu.net>
47017
47018         Fix fseeko/ftello on cygwin 1.5.24.
47019         * doc/functions/fseeko.texi (fseeko): Document the fix.
47020         * doc/functions/ftello.texi (ftello): Document the fix.
47021         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
47022         * doc/functions/stdout.text (stdout): New file.
47023         * doc/functions/stderr.text (stderr): New file.
47024         * doc/gnulib.texi (Function Substitutes): Use new files.
47025         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
47026         prior to 1.7.0.
47027         * tests/test-ftello.c (main): Likewise for ftello.
47028         * tests/test-fseeko.sh: New file.
47029         * tests/test-ftello.sh: New file.
47030         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
47031         with seekable stdin.
47032         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
47033         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
47034         (gl_REPLACE_FSEEKO): New macro.
47035         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
47036         * modules/fseeko (Files): Distribute fseeko.c.
47037         * modules/ftello (Files): Distribute ftello.c.
47038         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
47039         mode.
47040         * lib/ftello.c (rpl_ftello): New file.
47041         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
47042         fseeko, ftello.
47043         (gl_STDIN_LARGE_OFFSET): New macro.
47044         * modules/stdio (Makefile.am): Perform the replacement.
47045         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
47046
47047 2007-05-23  Bruno Haible  <bruno@clisp.org>
47048
47049         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
47050         GNULIB_POSIXCHECK is defined.
47051
47052 2007-05-21  Bruno Haible  <bruno@clisp.org>
47053
47054         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
47055         Check also the output for NaN arguments. When cross-compiling, guess
47056         no on IRIX.
47057         * lib/vasnprintf.c: Update comments.
47058         * tests/test-vasnprintf-posix.c (strisnan): New function.
47059         (test_function): Use it.
47060         * tests/test-vasprintf-posix.c (strisnan): New function.
47061         (test_function): Use it.
47062         * tests/test-snprintf-posix.h (strisnan): New function.
47063         (test_function): Use it.
47064         * tests/test-sprintf-posix.h (strisnan): New function.
47065         (test_function): Use it.
47066         Reported by Eric Blake.
47067
47068 2007-05-20  Bruno Haible  <bruno@clisp.org>
47069
47070         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
47071         numbers that fails on BeOS.
47072         * doc/functions/frexpl.texi: Update.
47073
47074 2007-05-20  Jim Meyering  <jim@meyering.net>
47075
47076         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
47077         forced upon us by glibc-2.6.
47078
47079 2007-05-20  Bruno Haible  <bruno@clisp.org>
47080
47081         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
47082         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
47083         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
47084         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
47085         NEED_PRINTF_INFINITE.
47086         (is_infinitel): New function.
47087         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
47088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
47089         gl_PREREQ_VASNPRINTF_INFINITE.
47090         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
47091         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47092         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
47093         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
47094         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
47095         gl_PREREQ_VASNPRINTF_INFINITE.
47096         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47097         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47098         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47099         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47100         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47101         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47102         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47103         * doc/functions/fprintf.texi: Update.
47104         * doc/functions/printf.texi: Update.
47105         * doc/functions/snprintf.texi: Update.
47106         * doc/functions/sprintf.texi: Update.
47107         * doc/functions/vfprintf.texi: Update.
47108         * doc/functions/vprintf.texi: Update.
47109         * doc/functions/vsnprintf.texi: Update.
47110         * doc/functions/vsprintf.texi: Update.
47111
47112 2007-05-20  Bruno Haible  <bruno@clisp.org>
47113
47114         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
47115         was not found in libc.
47116         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
47117
47118 2007-05-20  Bruno Haible  <bruno@clisp.org>
47119
47120         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47121         printed as "-nan" instead of "nan".
47122         * tests/test-vasprintf-posix.c (test_function): Likewise.
47123         * tests/test-snprintf-posix.h (test_function): Likewise.
47124         * tests/test-sprintf-posix.h (test_function): Likewise.
47125         Needed for HP-UX 11.
47126
47127 2007-05-20  Jim Meyering  <jim@meyering.net>
47128
47129         Fix buggy test for the fchownat-deref bug.
47130         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
47131         symlink required for the run-test.  Without it, this test would
47132         always declare that fchownat doesn't work, and client code would
47133         unnecessarily use the replacement function with fixed libc.
47134         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
47135         Reported by Greg Schafer.
47136
47137 2007-05-19  Bruno Haible  <bruno@clisp.org>
47138
47139         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
47140         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
47141         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
47142         Needed for IRIX 6.5 and Solaris 2.5.1.
47143
47144 2007-05-19  Bruno Haible  <bruno@clisp.org>
47145
47146         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
47147         (test_function): Skip tests involving -0.0 on platforms where
47148         -0.0 = 0.0.
47149         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
47150         (test_function): Skip tests involving -0.0 on platforms where
47151         -0.0 = 0.0.
47152         * tests/test-snprintf-posix.h (have_minus_zero): New function.
47153         (test_function): Skip tests involving -0.0 on platforms where
47154         -0.0 = 0.0.
47155         * tests/test-sprintf-posix.h (have_minus_zero): New function.
47156         (test_function): Skip tests involving -0.0 on platforms where
47157         -0.0 = 0.0.
47158         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
47159         tests.
47160         * tests/test-printf-posix.h (test_function): Likewise.
47161         * tests/test-printf-posix.output: Remove all -0.0 related results.
47162         Needed for IRIX 6.5.
47163
47164 2007-05-19  Bruno Haible  <bruno@clisp.org>
47165
47166         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
47167         printed as "nan0x7fffffff" instead of "nan".
47168         * tests/test-vasprintf-posix.c (test_function): Likewise.
47169         * tests/test-snprintf-posix.h (test_function): Likewise.
47170         * tests/test-sprintf-posix.h (test_function): Likewise.
47171         * tests/test-fprintf-posix.h (NaN): Remove macro.
47172         (test_function): Remove all NaN related tests.
47173         * tests/test-printf-posix.h (NaN): Remove macro.
47174         (test_function): Remove all NaN related tests.
47175         * tests/test-printf-posix.output: Remove all NaN related results.
47176         Needed for IRIX 6.5.
47177
47178 2007-05-19  Bruno Haible  <bruno@clisp.org>
47179
47180         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
47181         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47182
47183 2007-05-19  Bruno Haible  <bruno@clisp.org>
47184
47185         * lib/float_.h: New file.
47186         * m4/float_h.m4: New file.
47187         * modules/float: New file.
47188         * modules/isnanl (Dependencies): Add float.
47189         * modules/isnanl-nolibm (Dependencies): Likewise.
47190         * modules/mathl (Dependencies): Likewise.
47191         * modules/printf-frexpl (Dependencies): Likewise.
47192         * modules/signbit (Dependencies): Likewise.
47193         * modules/vasnprintf (Dependencies): Likewise.
47194         * doc/headers/float.texi: Update.
47195
47196 2007-05-19  Jim Meyering  <jim@meyering.net>
47197
47198         * lib/utimens.c (gl_futimens): Rename from futimens,
47199         now that glibc-2.6 declares futimens.
47200         * lib/utimens.h: Likewise.
47201
47202 2007-05-19  Bruno Haible  <bruno@clisp.org>
47203
47204         Avoid test failures on mingw.
47205         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
47206         * tests/test-printf-posix.sh: Likewise.
47207         * tests/test-vfprintf-posix.sh: Likewise.
47208         * tests/test-vprintf-posix.sh: Likewise.
47209
47210 2007-05-19  Bruno Haible  <bruno@clisp.org>
47211
47212         Fix *printf result for NaN, Inf, -0.0 on mingw.
47213         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
47214         * lib/vasnprintf.c: Include math.h and isnan.h.
47215         (is_infinite_or_zero): New function.
47216         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
47217         values in the %f, %F, %e, %E, %g, %G directives.
47218         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
47219         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47220         gl_PRINTF_INFINITE and test its result. Invoke
47221         gl_PREREQ_VASNPRINTF_INFINITE.
47222         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47223         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47224         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47225         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47226         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47227         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47228         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47229         * doc/functions/fprintf.texi: Update.
47230         * doc/functions/printf.texi: Update.
47231         * doc/functions/snprintf.texi: Update.
47232         * doc/functions/sprintf.texi: Update.
47233         * doc/functions/vfprintf.texi: Update.
47234         * doc/functions/vprintf.texi: Update.
47235         * doc/functions/vsnprintf.texi: Update.
47236         * doc/functions/vsprintf.texi: Update.
47237
47238 2007-05-19  Bruno Haible  <bruno@clisp.org>
47239
47240         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
47241         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
47242         Instead of multiplying with 10^k, set extra_zeroes to k.
47243         (scale10_round_long_double): Remove function.
47244
47245 2007-05-18  Bruno Haible  <bruno@clisp.org>
47246
47247         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
47248         introduced on 2007-05-06.
47249
47250 2007-05-18  Bruno Haible  <bruno@clisp.org>
47251
47252         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
47253         %g directives.
47254         * tests/test-vasprintf-posix.c (test_function): Likewise.
47255         * tests/test-snprintf-posix.h (test_function): Likewise.
47256         * tests/test-sprintf-posix.h (test_function): Likewise.
47257
47258 2007-05-18  Bruno Haible  <bruno@clisp.org>
47259
47260         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
47261         (strmatch): New function.
47262         (test_function): Test the %f directive on numbers of various exponents.
47263         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
47264         (strmatch): New function.
47265         (test_function): Test the %f directive on numbers of various exponents.
47266         * tests/test-snprintf-posix.h (strmatch): New function.
47267         (test_function): Test the %f directive on numbers of various exponents.
47268         * tests/test-sprintf-posix.h (strmatch): New function.
47269         (test_function): Test the %f directive on numbers of various exponents.
47270         * tests/test-snprintf-posix.c (SIZEOF): New macro.
47271         * tests/test-sprintf-posix.c (SIZEOF): New macro.
47272         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
47273         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
47274
47275 2007-05-18  Bruno Haible  <bruno@clisp.org>
47276
47277         Add support for 'long double' number output.
47278         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
47279         * lib/vasnprintf.c: Include math.h and float+.h.
47280         (mp_limb_t): New type.
47281         (GMP_LIMB_BITS): New macro.
47282         (mp_twolimb_t): New type.
47283         (GMP_TWOLIMB_BITS): New macro.
47284         (mpn_t): New type.
47285         (multiply, divide, convert_to_decimal, decode_long_double,
47286         scale10_round_long_double, scale10_round_decimal_long_double,
47287         floorlog10l): New functions.
47288         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
47289         for the %f, %F, %e, %E, %g, %G directives.
47290         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
47291         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47292         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
47293         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
47294         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47295         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47296         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47297         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47298         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47299         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47300         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47301         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
47302         * modules/snprintf-posix (Depends-on): Likewise.
47303         * modules/sprintf-posix (Depends-on): Likewise.
47304         * modules/vasnprintf-posix (Depends-on): Likewise.
47305         * modules/vasprintf-posix (Depends-on): Likewise.
47306         * modules/vfprintf-posix (Depends-on): Likewise.
47307         * modules/vsnprintf-posix (Depends-on): Likewise.
47308         * modules/vsprintf-posix (Depends-on): Likewise.
47309         * modules/vasnprintf (Files): Add lib/float+.h.
47310         * doc/functions/fprintf.texi: Update.
47311         * doc/functions/printf.texi: Update.
47312         * doc/functions/snprintf.texi: Update.
47313         * doc/functions/sprintf.texi: Update.
47314         * doc/functions/vfprintf.texi: Update.
47315         * doc/functions/vprintf.texi: Update.
47316         * doc/functions/vsnprintf.texi: Update.
47317         * doc/functions/vsprintf.texi: Update.
47318
47319 2007-05-18  Bruno Haible  <bruno@clisp.org>
47320
47321         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
47322
47323 2007-05-18  Bruno Haible  <bruno@clisp.org>
47324
47325         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
47326         for printing 64-bit integers. Needed for mingw.
47327
47328 2007-05-18  Bruno Haible  <bruno@clisp.org>
47329
47330         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
47331         gl_FUNC_FREXPL_WORKS.
47332         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
47333
47334 2007-05-18  Bruno Haible  <bruno@clisp.org>
47335
47336         * modules/frexpl-nolibm-tests: New file.
47337
47338         * modules/frexpl-nolibm: New file.
47339         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
47340
47341 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47342
47343         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
47344         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47345         GCC 4.2, which otherwise issues a lot of warnings.
47346         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
47347         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
47348         Likewise.
47349         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
47350         * modules/iconv_open (iconv.h): Likewise.
47351         * modules/locale (locale.h): Likewise.
47352         * modules/netinet_in (netinet/in.h): Likewise.
47353         * modules/sys_select (sys_select.h): Likewise.
47354         * modules/sys_socket (sys/socket.h): Likewise.
47355         * modules/sys_stat (sys/stat.h): Likewise.
47356         * modules/sysexits (sysexits.h): Likewise.
47357         * modules/unistd (unistd.h): Likewise.
47358
47359 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47360
47361         * modules/closein-tests (Makefile.am): Distribute
47362         `test-closein.sh'.
47363
47364 2007-05-17  Bruno Haible  <bruno@clisp.org>
47365
47366         * tests/test-printf-posix.output: Renamed from
47367         tests/test-fprintf-posix.out.
47368         * modules/fprintf-posix-tests: Update.
47369         * modules/printf-posix-tests: Update.
47370         * modules/vfprintf-posix-tests: Update.
47371         * modules/vprintf-posix-tests: Update.
47372         * tests/test-fprintf-posix.sh: Update.
47373         * tests/test-printf-posix.sh: Update.
47374         * tests/test-vfprintf-posix.sh: Update.
47375         * tests/test-vprintf-posix.sh: Update.
47376         Reported by Ralf Wildenhues.
47377
47378 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47379
47380         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
47381         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
47382         GCC 4.2, which otherwise issues a lot of warnings.
47383         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
47384         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
47385         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
47386         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
47387         it should no longer be needed.
47388         * lib/string_.h: Likewise.
47389         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
47390         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
47391         * modules/inttypes (inttypes.h): Likewise.
47392         * modules/math (math.h): Likewise.
47393         * modules/search (search.h): Likewise.
47394         * modules/signal (signal.h): Likewise.
47395         * modules/stdint (stdint.h): Likewise.
47396         * modules/stdio (stdio.h): Likewise.
47397         * modules/stdlib (stdlib.h): Likewise.
47398         * modules/string (string.h): Likewise.
47399         * modules/sys_time (sys/time.h): Likewise.
47400         * modules/time (time.h): Likewise.
47401         * modules/wchar (wchar.h): Likewise.
47402         * modules/wctype (wtype.h): Likewise.
47403
47404 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47405
47406         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
47407
47408 2007-05-13  Bruno Haible  <bruno@clisp.org>
47409
47410         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
47411         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47412         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
47413         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47414         (gl_PREREQ_STRTOK_R): Don't require it here.
47415
47416 2007-05-13  Bruno Haible  <bruno@clisp.org>
47417
47418         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
47419         when used in C++ mode.
47420
47421 2007-05-12  Bruno Haible  <bruno@clisp.org>
47422
47423         * lib/linebuffer.h: Tweak doc.
47424         * lib/linebuffer.c: Likewise.
47425
47426 2007-05-12  James Youngman  <jay@gnu.org>
47427
47428         * lib/linebuffer.c (readlinebuffer_delim): New function,
47429         like readlinebuffer, but use a caller-specified delimiter.
47430         (readlinebuffer): Just call readlinebuffer_delim with '\n'
47431         as the delimiter.
47432         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
47433
47434 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47435
47436         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
47437         * modules/openat (Files): Remove openat-die.c.
47438         (Depends-on): Add openat-die.
47439         * modules/openat-die: New module.
47440
47441 2007-05-06  Bruno Haible  <bruno@clisp.org>
47442
47443         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
47444         Update with info about Cygwin.
47445         * doc/functions/fprintf.texi: Update.
47446         * doc/functions/printf.texi: Update.
47447         * doc/functions/snprintf.texi: Update.
47448         * doc/functions/sprintf.texi: Update.
47449         * doc/functions/vfprintf.texi: Update.
47450         * doc/functions/vprintf.texi: Update.
47451         * doc/functions/vsnprintf.texi: Update.
47452         * doc/functions/vsprintf.texi: Update.
47453         Reported by Eric Blake.
47454
47455 2007-05-06  Bruno Haible  <bruno@clisp.org>
47456
47457         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
47458         padding ourselves for the floating-point directives.
47459         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
47460         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
47461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47462         gl_PRINTF_FLAG_ZERO and test its result. Invoke
47463         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
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 width
47472         and some flags in the %f directive.
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-06  Bruno Haible  <bruno@clisp.org>
47486
47487         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
47488         pass the ' flag character to sprintf or snprintf.
47489         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
47490         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
47491         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47492         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
47493         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
47494         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47495         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
47496         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47497         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47498         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47499         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47500         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47501         * tests/test-snprintf-posix.h (test_function): Also check the grouping
47502         flag.
47503         * tests/test-sprintf-posix.h (test_function): Likewise.
47504         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47505         * tests/test-vasprintf-posix.c (test_function): Likewise.
47506         * doc/functions/fprintf.texi: Update.
47507         * doc/functions/printf.texi: Update.
47508         * doc/functions/snprintf.texi: Update.
47509         * doc/functions/sprintf.texi: Update.
47510         * doc/functions/vfprintf.texi: Update.
47511         * doc/functions/vprintf.texi: Update.
47512         * doc/functions/vsnprintf.texi: Update.
47513         * doc/functions/vsprintf.texi: Update.
47514
47515 2007-05-01  Bruno Haible  <bruno@clisp.org>
47516
47517         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
47518
47519 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
47520
47521         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
47522         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
47523
47524 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
47525
47526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
47527         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
47528         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
47529
47530 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
47531
47532         * lib/argp-help.c (struct hol_entry): New member `ord'.
47533         (HOL_ENTRY_PTRCMP): Use ord for comparison
47534         (hol_sort): Initialize ord.
47535
47536 2007-05-01  Bruno Haible  <bruno@clisp.org>
47537
47538         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
47539         Reported by Eric Blake.
47540         * doc/gnulib.texi (Function Substitutes): Update.
47541
47542 2007-05-01  Bruno Haible  <bruno@clisp.org>
47543
47544         * doc/functions.texi: Remove file, now redundant through
47545         doc/functions/*.texi.
47546
47547 2007-05-01  Bruno Haible  <bruno@clisp.org>
47548
47549         * modules/argp (Depends-on): Add sleep.
47550
47551 2007-05-01  Bruno Haible  <bruno@clisp.org>
47552
47553         * modules/sleep-tests: New file.
47554         * tests/test-sleep.c: New file.
47555
47556         * modules/sleep: New file.
47557         * lib/sleep.c: New file.
47558         * m4/sleep.m4: New file.
47559         * lib/unistd_.h (sleep): New declaration.
47560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
47561         HAVE_SLEEP.
47562         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
47563         * doc/functions/sleep.texi: Document the sleep module.
47564
47565 2007-05-01  Bruno Haible  <bruno@clisp.org>
47566
47567         * lib/sigprocmask.h: Remove file.
47568         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
47569         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
47570         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
47571         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
47572         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
47573         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
47574         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
47575         HAVE_SIGSET_T as a shell variable.
47576         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
47577         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
47578         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
47579         (Depends-on): Add signal. Remove verify.
47580         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
47581         (Include): Mention <signal.h> instead of sigprocmask.h.
47582         * NEWS: Mention the change.
47583         * lib/fatal-signal.c: Don't include sigprocmask.h.
47584
47585 2007-05-01  Bruno Haible  <bruno@clisp.org>
47586
47587         * modules/signal: New file.
47588         * lib/signal_.h: New file.
47589         * m4/signal_h.m4: New file.
47590
47591 2007-05-01  Bruno Haible  <bruno@clisp.org>
47592
47593         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
47594         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
47595         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
47596         HAVE_WCTYPE_CTMP_BUG into wctype.h.
47597
47598 2007-05-01  Bruno Haible  <bruno@clisp.org>
47599
47600         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
47601         configure time.
47602         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
47603         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
47604         * modules/sys_stat (Makefile.am): Substitute their values into
47605         sys/stat.h.
47606
47607 2007-05-01  Bruno Haible  <bruno@clisp.org>
47608
47609         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
47610         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
47611         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
47612
47613 2007-05-01  Bruno Haible  <bruno@clisp.org>
47614
47615         * doc/header/assert.texi: Undo last change: don't mention the gnulib
47616         'assert' module here.
47617
47618 2007-05-01  Bruno Haible  <bruno@clisp.org>
47619
47620         * doc/functions/*.texi: New files.
47621         * doc/functions/google-ranking.txt: New file.
47622         * doc/gnulib.texi (Function Substitutes): New chapter.
47623         (ctime, inet_ntoa): Remove sections.
47624         * doc/ctime.texi: Remove file.
47625         * doc/inet_ntoa.texi: Remove file.
47626         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
47627         dependencies.
47628         (%.info): New rule, specifying a --reference-limit.
47629
47630 2007-05-01  Bruno Haible  <bruno@clisp.org>
47631
47632         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
47633
47634 2007-05-01  Bruno Haible  <bruno@clisp.org>
47635
47636         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
47637         the portability of 'mkdir' to mingw systems.
47638
47639 2007-05-01  Bruno Haible  <bruno@clisp.org>
47640
47641         * doc/headers/google-ranking.txt: New file.
47642
47643 2007-04-30  Eric Blake  <ebb9@byu.net>
47644
47645         Prefer fseeko to fseek.
47646         * modules/getpass (Depends-on): Add fseeko.
47647         * lib/getpass.c (getpass): Use fseeko, not fseek.
47648
47649 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
47650
47651         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
47652         assumes the sorting is stable, while most qsort implementations
47653         are not.  Use argument addresses to ensure they never compare as
47654         equal.
47655
47656         * tests/test-argp-2.sh (usage-indent test): Fix output
47657         (func_compare): Restore diff options
47658         * tests/test-argp.c: Restore #include "progname.h"
47659
47660 2007-04-29  Bruno Haible  <bruno@clisp.org>
47661
47662         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
47663         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
47664         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
47665         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47666         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
47667         (configure.ac): Define CHECK_SNPRINTF_POSIX.
47668         (TESTS, check_PROGRAMS): Add test-snprintf.
47669         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
47670         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
47671         (TESTS, check_PROGRAMS): Add test-vsnprintf.
47672         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
47673         assertions that fail on HP-UX, OSF/1, or IRIX.
47674         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
47675
47676 2007-04-29  Bruno Haible  <bruno@clisp.org>
47677
47678         * MODULES.html.sh (posix_functions): Remove 'contents'.
47679
47680 2007-04-29  Karl Berry  <karl@gnu.org>
47681
47682         * config/srclist.txt (gendocs_template_min): new entry.
47683
47684 2007-04-29  Bruno Haible  <bruno@clisp.org>
47685
47686         Work around fpurge bug on BSD systems.
47687         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
47688         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
47689         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
47690         fpurge to rpl_fpurge if the system already has this function.
47691         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
47692         the case where the system already has this function. Correct invariants
47693         on BSD systems.
47694         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
47695         BSD systems.
47696
47697 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47698
47699         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
47700         proposed by Sven Verdoolaege.
47701
47702         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
47703         options.
47704         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
47705         (usage and help tests): Update
47706
47707 2007-04-29  Bruno Haible  <bruno@clisp.org>
47708
47709         * tests/test-fflush.c (main): Use a file of size 17, not 10.
47710         Print more information in case of failure. Disable a test on BeOS.
47711
47712 2007-04-29  Bruno Haible  <bruno@clisp.org>
47713
47714         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
47715         This helps debugging on systems on which no gdb is available.
47716
47717 2007-04-29  Bruno Haible  <bruno@clisp.org>
47718
47719         * lib/freading.h: Improve comments.
47720         * lib/fwriting.h: Likewise.
47721         * tests/test-freading.c (main): Don't check freading immediately after
47722         repositioning. Needed for glibc.
47723
47724 2007-04-29  Bruno Haible  <bruno@clisp.org>
47725
47726         * lib/freading.c (freading): Trivial simplification.
47727
47728 2007-04-28  Bruno Haible  <bruno@clisp.org>
47729
47730         * tests/test-fwriting.c (main): Also test the interaction between
47731         fflush and fwriting.
47732         * modules/fwriting-tests (Depends-on): Add fflush.
47733
47734         * tests/test-freading.c (main): Also test the interaction between
47735         fflush and freading.
47736         * modules/freading-tests (Depends-on): Add fflush.
47737
47738 2007-04-28  Bruno Haible  <bruno@clisp.org>
47739
47740         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
47741         fseeko and ftello.
47742         Suggested by Eric Blake.
47743
47744 2007-04-28  Jim Meyering  <jim@meyering.net>
47745
47746         Avoid false-negative in gl_STDINT_H's C99 conformance test.
47747         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
47748         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
47749
47750 2007-04-27  Eric Blake  <ebb9@byu.net>
47751
47752         * doc/headers/assert.texi (assert.h): Document assert module use.
47753
47754 2007-04-27  Bruno Haible  <bruno@clisp.org>
47755
47756         * doc/headers/*.texi: New files.
47757         * doc/gnulib.texi (Header File Substitutes): New chapter.
47758         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
47759         dependencies.
47760         (standards.info ,standards.html, standards.dvi): Update dependencies.
47761         (mostlyclean, clean): New targets.
47762
47763 2007-04-27  Bruno Haible  <bruno@clisp.org>
47764
47765         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
47766         * modules/sysexits (Files, Makefile.am): Update.
47767
47768         * lib/sys_socket_.h: Renamed from lib/socket_.h.
47769         * modules/sys_socket (Files, Makefile.am): Update.
47770
47771         * lib/sys_stat_.h: Renamed from lib/stat_.h.
47772         * modules/sys_stat (Files, Makefile.am): Update.
47773
47774 2007-04-27  Eric Blake  <ebb9@byu.net>
47775
47776         * lib/freading.h: Improve comments.
47777         * lib/fwriting.h: Likewise.
47778         * lib/fflush.c: Likewise.
47779
47780         Fix closein for mingw.
47781         * modules/closein-tests: Add tests for closein.
47782         * tests/test-closein.c: New file.
47783         * tests/test-closein.sh: Likewise.
47784         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
47785         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
47786
47787 2007-04-27  Bruno Haible  <bruno@clisp.org>
47788
47789         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
47790         version is < 6.
47791         * lib/math_.h [__DECC]: Likewise.
47792         * lib/stdio_.h [__DECC]: Likewise.
47793         * lib/stdlib_.h [__DECC]: Likewise.
47794         * lib/string_.h [__DECC]: Likewise.
47795         * lib/time_.h [__DECC]: Likewise.
47796         * lib/wchar_.h [__DECC]: Likewise.
47797         * lib/wctype_.h [__DECC]: Likewise.
47798
47799 2007-04-27  Bruno Haible  <bruno@clisp.org>
47800
47801         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
47802
47803 2007-04-27  Bruno Haible  <bruno@clisp.org>
47804
47805         * lib/fflush.c: Add comments.
47806         * modules/fpurge-tests (Depends-on): Add fflush.
47807         * modules/freadable-tests (Depends-on): Likewise.
47808         * modules/fwritable-tests (Depends-on): Likewise.
47809
47810 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
47811
47812         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
47813         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
47814         Report by Bruno Haible <bruno@clisp.org>.
47815
47816 2007-04-26  Eric Blake  <ebb9@byu.net>
47817
47818         Fix fflush on mingw.
47819         * modules/fflush (Depends-on): Add freading.
47820         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
47821         but unread data.
47822
47823 2007-04-26  Eric Blake  <ebb9@byu.net>
47824         and Bruno Haible  <bruno@clisp.org>
47825
47826         Implement freading and fwriting.
47827         * lib/freading.c: New file.
47828         * lib/freading.h: Likewise.
47829         * m4/freading.m4: Likewise.
47830         * modules/freading: Likewise.
47831         * modules/freading-tests: Likewise.
47832         * tests/test-freading.c: Likewise.
47833         * lib/fwriting.c: New file.
47834         * lib/fwriting.h: Likewise.
47835         * m4/fwriting.m4: Likewise.
47836         * modules/fwriting: Likewise.
47837         * modules/fwriting-tests: Likewise.
47838         * tests/test-fwriting.c: Likewise.
47839         * MODULES.html.sh (File stream based Input/Output): Mention them.
47840
47841 2007-04-26  Bruno Haible  <bruno@clisp.org>
47842
47843         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
47844         'long' when we assume it.
47845         Suggested by Eric Blake.
47846
47847 2007-04-26  Bruno Haible  <bruno@clisp.org>
47848
47849         Ensure fseeko, ftello are declared on glibc systems.
47850         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
47851         * modules/fseeko (configure.ac-early): Likewise.
47852         * modules/ftello (configure.ac-early): Likewise.
47853         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
47854         AC_FUNC_FSEEKO for this.
47855         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
47856         (gl_CHECK_FSEEKO): Remove macro.
47857
47858 2007-04-26  Bruno Haible  <bruno@clisp.org>
47859
47860         * tests/test-fflush.c (main): Also check the ftell result after
47861         fflush and fseek/fseeko.
47862         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
47863         file descriptor position cache in the stream.
47864         * lib/fseeko.c (rpl_fseeko): Likewise.
47865
47866 2007-04-26  Bruno Haible  <bruno@clisp.org>
47867
47868         * modules/fflush-tests (Depends-on): Add fseeko.
47869
47870 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
47871             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47872
47873         * lib/argz_.h: ensure error_t definition is obtained in same
47874         mechanism system argz.h would have.
47875         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
47876         argz facilities are known bad.  Err on the side of caution if
47877         cross-compiling.
47878
47879 2007-04-25  Eric Blake  <ebb9@byu.net>
47880
47881         * lib/fpurge.c (includes): Use stdlib.h for free.
47882         * tests/test-fflush.c (main): Also test fflush-fseeko.
47883
47884 2007-04-25  Bruno Haible  <bruno@clisp.org>
47885
47886         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
47887         * lib/fseeko.c: New file.
47888         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
47889         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
47890         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
47891         gl_FUNC_FSEEKO.
47892         (gl_FUNC_FSEEKO): Invoke it.
47893         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
47894         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
47895         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
47896
47897 2007-04-25  Bruno Haible  <bruno@clisp.org>
47898
47899         * modules/fflush (Depends-on): Add ftello.
47900
47901 2007-04-25  Bruno Haible  <bruno@clisp.org>
47902
47903         * modules/ftello-tests: New file.
47904         * tests/test-ftello.c: New file.
47905
47906         * modules/ftello: New file.
47907         * m4/ftello.m4: New file.
47908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
47909         HAVE_FTELLO.
47910         * lib/stdio_.h (ftello): New declaration.
47911         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
47912         HAVE_FTELLO.
47913
47914 2007-04-25  Bruno Haible  <bruno@clisp.org>
47915
47916         * modules/fseeko-tests: New file.
47917         * tests/test-fseeko.c: New file.
47918
47919         * modules/fseeko: New file.
47920         * m4/fseeko.m4: New file.
47921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
47922         HAVE_FSEEKO.
47923         * lib/stdio_.h (fseeko): New declaration.
47924         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
47925         HAVE_FSEEKO.
47926
47927 2007-04-25  Bruno Haible  <bruno@clisp.org>
47928
47929         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
47930
47931 2007-04-25  Bruno Haible  <bruno@clisp.org>
47932
47933         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
47934         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
47935         * tests/test-unistd.c: Likewise.
47936         * tests/test-fcntl.c: Likewise.
47937
47938 2007-04-23  Eric Blake  <ebb9@byu.net>
47939
47940         * lib/fflush.c: Fix missing include.
47941         Reported by Bruno Haible.
47942
47943 2007-04-23  Bruno Haible  <bruno@clisp.org>
47944
47945         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
47946         Reported by Eric Blake.
47947
47948 2007-04-23  Bruno Haible  <bruno@clisp.org>
47949
47950         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
47951
47952 2007-04-23  Bruno Haible  <bruno@clisp.org>
47953
47954         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
47955
47956 2007-04-23  Bruno Haible  <bruno@clisp.org>
47957
47958         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
47959         Needed on HP-UX 11.
47960
47961 2007-04-16  Eric Blake  <ebb9@byu.net>
47962
47963         Make fflush rely on fpurge.
47964         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
47965         open coding all variants.
47966         * modules/fflush (Depends-on): Add fpurge and unistd.
47967         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
47968         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
47969
47970         Fix --with-tests compilation on cygwin.
47971         * modules/argmatch-tests (Makefile.am): List gnulib library first
47972         in LDADD.
47973         * modules/argp-tests (Makefile.am): Likewise.
47974         * modules/array-list-tests (Makefile.am): Likewise.
47975         * modules/array-oset-tests (Makefile.am): Likewise.
47976         * modules/avltree-list-tests (Makefile.am): Likewise.
47977         * modules/avltree-oset-tests (Makefile.am): Likewise.
47978         * modules/avltreehash-list-tests (Makefile.am): Likewise.
47979         * modules/carray-list-tests (Makefile.am): Likewise.
47980         * modules/dirname-tests (Makefile.am): Likewise.
47981         * modules/frexp-tests (Makefile.am): Likewise.
47982         * modules/isnanl-tests (Makefile.am): Likewise.
47983         * modules/linked-list-tests (Makefile.am): Likewise.
47984         * modules/linkedhash-list-tests (Makefile.am): Likewise.
47985         * modules/lock-tests (Makefile.am): Likewise.
47986         * modules/rbtree-list-tests (Makefile.am): Likewise.
47987         * modules/rbtree-oset-tests (Makefile.am): Likewise.
47988         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
47989         * modules/tls-tests (Makefile.am): Likewise.
47990         * modules/tsearch-tests (Makefile.am): Likewise.
47991         * modules/xvasprintf-tests (Makefile.am): Likewise.
47992
47993         Fix fpurge for cygwin.
47994         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
47995         value.
47996         * modules/fpurge-tests (Depends-on): Clean up trash.
47997
47998 2007-04-16  Simon Josefsson  <simon@josefsson.org>
47999
48000         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
48001
48002         * m4/autobuild.m4: Re-indent.
48003
48004 2007-04-13  Bruno Haible  <bruno@clisp.org>
48005
48006         * modules/fpurge-tests: New file.
48007         * tests/test-fpurge.c: New file.
48008
48009         * modules/fpurge: New file.
48010         * lib/fpurge.h: New file.
48011         * lib/fpurge.c: New file.
48012         * m4/fpurge.m4: New file.
48013
48014 2007-04-13  Bruno Haible  <bruno@clisp.org>
48015
48016         * modules/fbufmode-tests: New file.
48017         * tests/test-fbufmode.c: New file.
48018
48019         * modules/fbufmode: New file.
48020         * lib/fbufmode.h: New file.
48021         * lib/fbufmode.c: New file.
48022         * m4/fbufmode.m4: New file.
48023
48024 2007-04-13  Bruno Haible  <bruno@clisp.org>
48025
48026         * modules/fwritable-tests: New file.
48027         * tests/test-fwritable.c: New file.
48028
48029         * modules/fwritable: New file.
48030         * lib/fwritable.h: New file.
48031         * lib/fwritable.c: New file.
48032         * m4/fwritable.m4: New file.
48033
48034 2007-04-13  Bruno Haible  <bruno@clisp.org>
48035
48036         * modules/freadable-tests: New file.
48037         * tests/test-freadable.c: New file.
48038
48039         * modules/freadable: New file.
48040         * lib/freadable.h: New file.
48041         * lib/freadable.c: New file.
48042         * m4/freadable.m4: New file.
48043
48044 2007-04-13  Bruno Haible  <bruno@clisp.org>
48045
48046         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
48047         MOSTLYCLEANFILES.
48048
48049 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
48050
48051         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
48052         gzip bootstrap.conf to avoid dragging in i18n machinery.
48053         (gnulib_tool_option): Use it.
48054
48055 2007-04-13  Bruno Haible  <bruno@clisp.org>
48056
48057         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
48058         %F directives.
48059         * tests/test-vasprintf-posix.c (test_function): Likewise.
48060         * tests/test-snprintf-posix.h (test_function): Likewise.
48061         * tests/test-sprintf-posix.h (test_function): Likewise.
48062         * tests/test-fprintf-posix.h (test_function): Likewise.
48063         * tests/test-printf-posix.h (test_function): Likewise.
48064         * tests/test-fprintf-posix.out: Likewise.
48065
48066 2007-04-13  Bruno Haible  <bruno@clisp.org>
48067
48068         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
48069         * modules/tls-tests (configure.ac): Likewise.
48070         Reported by Arto C. Nirkko <anirkko@insel.ch>.
48071
48072 2007-04-13  Bruno Haible  <bruno@clisp.org>
48073
48074         * lib/tls.c (glthread_tls_get): Fix return type.
48075         Patch by Arto C. Nirkko <anirkko@insel.ch>.
48076
48077 2007-04-12  Eric Blake  <ebb9@byu.net>
48078
48079         * modules/gettime (Depends-on): Remove gettime.
48080         Reported by Dmitry V. Levin.
48081
48082 2007-04-12  Bruno Haible  <bruno@clisp.org>
48083
48084         * modules/fflush (Include): Mention <stdio.h>.
48085         * modules/strtoimax (Include): Mention <inttypes.h>.
48086         * modules/strtoumax (Include): Likewise.
48087
48088 2007-04-12  Eric Blake  <ebb9@byu.net>
48089
48090         * .cvsignore: New file.
48091         * .gitignore: Likewise.
48092
48093 2007-04-12  Bruno Haible  <bruno@clisp.org>
48094
48095         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
48096         not before, since $(LDADD) often contains libgnu.a.
48097         * modules/striconv-tests (test_striconv_LDADD): Likewise.
48098         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
48099         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
48100         Needed on Cygwin.
48101
48102 2007-04-12  Eric Blake  <ebb9@byu.net>
48103
48104         Work around glibc's failure to flush stdin on fclose.
48105         * lib/closein.c (close_stdin): Flush stdin before closing.
48106
48107         Work around glibc's failure to reset seekable stdin on exit.
48108         * modules/closein: New module.
48109         * lib/closein.c: New file.
48110         * lib/closein.h: Likewise.
48111         * m4/closein.m4: Likewise.
48112         * MODULES.html.sh (File stream based Input/Output): Document it.
48113
48114 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48115
48116         * gnulib-tool: Rename generated 'autobuild' script to
48117         'do-autobuild' in --create-megatestdir output.
48118
48119         * doc/gnulib.texi (Build robot for gnulib): Fix.
48120
48121 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48122
48123         * modules/sysexits (Depends-on): Add absolute-header.
48124
48125 2007-04-12  Eric Blake  <ebb9@byu.net>
48126
48127         No need to preserve errno on success.
48128         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
48129         Reported by Bruno Haible.
48130
48131 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48132
48133         * MODULES.html.sh (Support for maintaining and releasing
48134         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
48135
48136 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48137
48138         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
48139
48140 2007-04-12  Simon Josefsson  <simon@josefsson.org>
48141
48142         * modules/autobuild: New module.
48143
48144         * m4/autobuild.m4: New file.
48145
48146 2007-04-11  Bruno Haible  <bruno@clisp.org>
48147
48148         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
48149         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
48150         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
48151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
48152         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48153         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48154         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48155         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48156         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48157         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48158         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
48159         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48160         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48161         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
48162         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48163         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48164         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
48165         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48166         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
48168         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48169         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48170         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
48171         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48172         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48173         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
48174         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
48175         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
48176         Reported by Eric Blake.
48177
48178 2007-04-11  Bruno Haible  <bruno@clisp.org>
48179
48180         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
48181
48182 2007-04-10  Bruno Haible  <bruno@clisp.org>
48183
48184         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
48185         for NaN and Infinity. Needed on FreeBSD 6.1.
48186         * tests/test-vasnprintf-posix.c (test_function): Undo last change
48187         regarding results for "%010a" of Infinity and NaN.
48188         * tests/test-vasprintf-posix.c (test_function): Likewise.
48189         * tests/test-snprintf-posix.h (test_function): Likewise.
48190         * tests/test-sprintf-posix.h (test_function): Likewise.
48191         * tests/test-fprintf-posix.h (test_function): Likewise.
48192         * tests/test-printf-posix.h (test_function): Likewise.
48193         * tests/test-fprintf-posix.out: Likewise.
48194
48195 2007-04-10  Bruno Haible  <bruno@clisp.org>
48196
48197         * modules/locale-tests: New file.
48198         * tests/test-locale.c: New file.
48199
48200         * modules/locale: New file.
48201         * lib/locale_.h: New file.
48202         * m4/locale_h.m4: New file.
48203
48204 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
48205             Bruno Haible  <bruno@clisp.org>
48206
48207         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
48208         be determined, test for availability of the copysignf, copysign,
48209         copysignl functions.
48210         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
48211         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
48212         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
48213
48214 2007-04-09  Eric Blake  <ebb9@byu.net>
48215
48216         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
48217         * modules/stdio (Makefile.am): Support fflush.
48218         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48219         * modules/fflush: New file.
48220         * lib/fflush.c: Likewise.
48221         * m4/fflush.m4: Likewise.
48222         * modules/fflush-tests: New test.
48223         * tests/test-fflush.c: Likewise.
48224         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
48225
48226 2007-04-06  Bruno Haible  <bruno@clisp.org>
48227
48228         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
48229         (VASNPRINTF): Use signbit for faster determination whether to print a
48230         minus sign.
48231         * modules/vasnprintf (Files): Remove lib/float+.h.
48232         * modules/fprintf-posix (Depends-on): Add signbit.
48233         * modules/snprintf-posix (Depends-on): Likewise.
48234         * modules/sprintf-posix (Depends-on): Likewise.
48235         * modules/vasnprintf-posix (Depends-on): Likewise.
48236         * modules/vasprintf-posix (Depends-on): Likewise.
48237         * modules/vfprintf-posix (Depends-on): Likewise.
48238         * modules/vsnprintf-posix (Depends-on): Likewise.
48239         * modules/vsprintf-posix (Depends-on): Likewise.
48240
48241 2007-04-06  Bruno Haible  <bruno@clisp.org>
48242
48243         * tests/test-frexp.c (main): Test also the sign bit of zero results.
48244         * tests/test-frexpl.c (main): Likewise.
48245         * tests/test-ldexpl.c (main): Likewise.
48246         * modules/frexp-tests (Depends-on): Add signbit.
48247         * modules/frexpl-tests (Depdends-on): Likewise.
48248         * modules/ldexpl-tests (Depdends-on): Likewise.
48249
48250 2007-04-06  Bruno Haible  <bruno@clisp.org>
48251
48252         * modules/signbit-tests: New file.
48253         * tests/test-signbit.c: New file.
48254
48255         * modules/signbit: New file.
48256         * lib/signbitf.c: New file.
48257         * lib/signbitd.c: New file.
48258         * lib/signbitl.c: New file.
48259         * m4/signbit.m4: New file.
48260         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
48261         (signbit): New macro.
48262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
48263         REPLACE_SIGNBIT.
48264         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
48265         REPLACE_FREXPL into math.h.
48266
48267 2007-04-06  Bruno Haible  <bruno@clisp.org>
48268
48269         * modules/isnanf-nolibm-tests: New file.
48270         * tests/test-isnanf.c: New file.
48271
48272         * modules/isnanf-nolibm: New file.
48273         * lib/isnanf.h: New file.
48274         * lib/isnanf.c: New file.
48275         * lib/isnan.c: Consider the USE_FLOAT macro.
48276         * m4/isnanf.m4: New file.
48277
48278 2007-04-06  Bruno Haible  <bruno@clisp.org>
48279
48280         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
48281         (Link): New section.
48282
48283         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
48284
48285 2007-04-06  Bruno Haible  <bruno@clisp.org>
48286
48287         Assume the 'long double' type.
48288         * m4/longdouble.m4: Remove file.
48289         * config/srclist.txt: Don't mention longdouble.m4.
48290         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
48291         * lib/float+.h: Likewise.
48292         * lib/frexp.c: Likewise.
48293         * lib/printf-args.h: Likewise.
48294         * lib/printf-args.c: Likewise.
48295         * lib/printf-frexp.c: Likewise.
48296         * lib/printf-parse.c: Likewise.
48297         * lib/vasnprintf.c: Likewise.
48298         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
48299         * m4/intl.m4: Likewise.
48300         * m4/isnanl.m4: Likewise.
48301         * m4/printf.m4: Likewise.
48302         * m4/printf-frexpl.m4: Likewise.
48303         * m4/vasnprintf.m4: Likewise.
48304         * modules/allocsa (Files): Remove m4/longdouble.m4.
48305         * modules/gettext (Files): Likewise.
48306         * modules/relocatable-prog-wrapper (Files): Likewise.
48307         * modules/vasnprintf (Files): Likewise.
48308         * modules/isnanl (Files): Likewise.
48309         (Include): Simplify.
48310         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
48311         (Include): Simplify.
48312         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
48313         (Include): Simplify.
48314         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
48315         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48316         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
48317         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48318         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48319         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48320         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
48321         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48322         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
48323         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48324         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
48325         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
48326         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
48327         * tests/test-isnanl.c: Likewise.
48328         * tests/test-snprintf-posix.h: Likewise.
48329         * tests/test-sprintf-posix.h: Likewise.
48330         * tests/test-vasnprintf-posix.c: Likewise.
48331         * tests/test-vasnprintf-posix2.c: Likewise.
48332         * tests/test-vasprintf-posix.c: Likewise.
48333
48334 2007-04-06  Bruno Haible  <bruno@clisp.org>
48335
48336         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
48337         * lib/math_.h [__DECC]: Include the overridden include file through
48338         #include_next, outside the double-inclusion guard.
48339         * lib/stdio_.h [__DECC]: Likewise.
48340         * lib/stdlib_.h [__DECC]: Likewise.
48341         * lib/string_.h [__DECC]: Likewise.
48342         * lib/time_.h [__DECC]: Likewise.
48343         * lib/wchar_.h [__DECC]: Likewise.
48344         * lib/wctype_.h [__DECC]: Likewise.
48345         * lib/inttypes_.h [__DECC]: Likewise.
48346         Reported by Albert Chin <china@thewrittenword.com> in
48347         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
48348
48349 2007-04-04  Eric Blake  <ebb9@byu.net>
48350
48351         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
48352         1.5.x.
48353
48354 2007-04-04  Bruno Haible  <bruno@clisp.org>
48355
48356         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
48357         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
48358
48359 2007-04-04  Bruno Haible  <bruno@clisp.org>
48360
48361         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
48362         results for "%010a" of Infinity and NaN.
48363         * tests/test-vasprintf-posix.c (test_function): Likewise.
48364         * tests/test-snprintf-posix.h (test_function): Likewise.
48365         * tests/test-sprintf-posix.h (test_function): Likewise.
48366         * tests/test-fprintf-posix.h (test_function): Remove these tests.
48367         * tests/test-printf-posix.h (test_function): Likewise.
48368         * tests/test-fprintf-posix.out: Update.
48369         Needed for FreeBSD 6.1.
48370
48371 2007-04-04  Bruno Haible  <bruno@clisp.org>
48372
48373         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
48374         directly used by the gnulib modules nor by gnulib-tool.
48375
48376 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
48377
48378         * DEPENDENCIES: Give overall description of version dependency
48379         desirability.  Use more-typical names for apps.
48380         Add shell, coreutils, diffutils, grep, tar, gzip.
48381
48382 2007-04-04  Simon Josefsson  <simon@josefsson.org>
48383
48384         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
48385
48386 2007-04-04  Karl Berry  <karl@gnu.org>
48387
48388         * MODULES.html.sh (func_module): missing '.
48389
48390 2007-04-03  Bruno Haible  <bruno@clisp.org>
48391
48392         * modules/argmatch-tests (Makefile.am): New variable
48393         test_argmatch_LDADD.
48394         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
48395         * modules/array-list-tests (Makefile.am): New variable
48396         test_array_list_LDADD.
48397         * modules/array-oset-tests (Makefile.am): New variable
48398         test_array_oset_LDADD.
48399         * modules/avltree-list-tests (Makefile.am): New variable
48400         test_avltree_list_LDADD.
48401         * modules/avltree-oset-tests (Makefile.am): New variable
48402         test_avltree_oset_LDADD.
48403         * modules/avltreehash-list-tests (Makefile.am): New variable
48404         test_avltreehash_list_LDADD.
48405         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
48406         test_canonicalize_lgpl_LDADD.
48407         * modules/carray-list-tests (Makefile.am): New variable
48408         test_carray_list_LDADD.
48409         * modules/dirname-tests (Makefile.am): New variable
48410         test_dirname_LDADD.
48411         * modules/linked-list-tests (Makefile.am): New variable
48412         test_linked_list_LDADD.
48413         * modules/linkedhash-list-tests (Makefile.am): New variable
48414         test_linkedhash_list_LDADD.
48415         * modules/rbtree-list-tests (Makefile.am): New variable
48416         test_rbtree_list_LDADD.
48417         * modules/rbtree-oset-tests (Makefile.am): New variable
48418         test_rbtree_oset_LDADD.
48419         * modules/rbtreehash-list-tests (Makefile.am): New variable
48420         test_rbtreehash_list_LDADD.
48421         * modules/xvasprintf-tests (Makefile.am): New variable
48422         test_xvasprintf_LDADD.
48423         Reported by Eric Blake.
48424
48425 2007-04-03  Eric Blake  <ebb9@byu.net>
48426
48427         * DEPENDENCIES: Weaken m4 requirements.
48428
48429 2007-04-03  Bruno Haible  <bruno@clisp.org>
48430
48431         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
48432         * modules/isnanl-tests (configure.ac): Likewise.
48433
48434 2007-04-03  Ben Pfaff  <blp@gnu.org>
48435
48436         * modules/iconv_open: Add $(srcdir)/ to source directory
48437         references in Makefile fragments that call gperf, to fix VPATH
48438         builds.
48439
48440 2007-04-03  Bruno Haible  <bruno@clisp.org>
48441
48442         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
48443         * lib/ldexpl.c: Undo last change.
48444
48445 2007-04-03  Bruno Haible  <bruno@clisp.org>
48446
48447         * modules/printf-frexpl (Depends-on): Undo last change.
48448         (Files): Add m4/ldexpl.m4.
48449
48450 2007-04-03  Bruno Haible  <bruno@clisp.org>
48451
48452         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
48453         * modules/isnanl (Link): New section.
48454
48455         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
48456         * modules/frexp (Link): New section.
48457
48458         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
48459         * modules/frexpl (Link): New section.
48460
48461         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
48462         * modules/ldexpl (Link): New section.
48463
48464 2007-04-03  Bruno Haible  <bruno@clisp.org>
48465
48466         * modules/TEMPLATE-EXTENDED: New file.
48467         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
48468
48469 2007-04-03  Bruno Haible  <bruno@clisp.org>
48470
48471         * DEPENDENCIES: New file.
48472         Suggested by Simon Josefsson.
48473
48474 2007-04-03  Bruno Haible  <bruno@clisp.org>
48475
48476         * doc/gnulib.texi: Escape @.
48477
48478 2007-04-03  James Youngman  <jay@gnu.org>
48479         and Paul Eggert  <eggert@cs.ucla.edu>
48480
48481         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
48482         birthtime on all systems that have birthtime, not just those which
48483         use st_birthtimensec rather than st_birthtim.  Putting zero in
48484         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
48485         that the birth time is not available for files on an NFS mount.
48486
48487 2007-04-03  Simon Josefsson  <simon@josefsson.org>
48488
48489         * modules/memxor: Move back from crypto/, suggested by Bruno.
48490         * modules/crypto/hmac-sha1: Fix memxor dependency.
48491
48492         * modules/crypto/gc: Moved from ../.
48493
48494 2007-04-02  Eric Blake  <ebb9@byu.net>
48495
48496         * lib/ldexpl.c (includes): Avoid libm.
48497
48498         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
48499
48500 2007-04-02  Bruno Haible  <bruno@clisp.org>
48501
48502         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
48503         on IRIX.
48504
48505 2007-04-02  Bruno Haible  <bruno@clisp.org>
48506
48507         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
48508         x86 or x86_64 platforms running MacOS X.
48509         Reported by Ryan Schmidt <@ryandesign.com>.
48510
48511 2007-04-02  Bruno Haible  <bruno@clisp.org>
48512
48513         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
48514         i386.
48515
48516 2007-04-01  Simon Josefsson  <simon@josefsson.org>
48517
48518         * modules/crypto/arcfour: Moved from ../.
48519         * modules/crypto/arcfour-tests: Moved from ../.
48520         * modules/crypto/arctwo: Moved from ../.
48521         * modules/crypto/arctwo-tests: Moved from ../.
48522         * modules/crypto/des: Moved from ../.
48523         * modules/crypto/des-tests: Moved from ../.
48524         * modules/crypto/gc-arcfour: Moved from ../.
48525         * modules/crypto/gc-arcfour-tests: Moved from ../.
48526         * modules/crypto/gc-arctwo: Moved from ../.
48527         * modules/crypto/gc-arctwo-tests: Moved from ../.
48528         * modules/crypto/gc-des: Moved from ../.
48529         * modules/crypto/gc-des-tests: Moved from ../.
48530         * modules/crypto/gc-hmac-md5: Moved from ../.
48531         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
48532         * modules/crypto/gc-hmac-sha1: Moved from ../.
48533         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
48534         * modules/crypto/gc-md2: Moved from ../.
48535         * modules/crypto/gc-md2-tests: Moved from ../.
48536         * modules/crypto/gc-md4: Moved from ../.
48537         * modules/crypto/gc-md4-tests: Moved from ../.
48538         * modules/crypto/gc-md5: Moved from ../.
48539         * modules/crypto/gc-md5-tests: Moved from ../.
48540         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
48541         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
48542         * modules/crypto/gc-random: Moved from ../.
48543         * modules/crypto/gc-rijndael: Moved from ../.
48544         * modules/crypto/gc-rijndael-tests: Moved from ../.
48545         * modules/crypto/gc-sha1: Moved from ../.
48546         * modules/crypto/gc-sha1-tests: Moved from ../.
48547         * modules/crypto/gc-tests: Moved from ../.
48548         * modules/crypto/hmac-md5: Moved from ../.
48549         * modules/crypto/hmac-md5-tests: Moved from ../.
48550         * modules/crypto/hmac-sha1: Moved from ../.
48551         * modules/crypto/hmac-sha1-tests: Moved from ../.
48552         * modules/crypto/md2: Moved from ../.
48553         * modules/crypto/md2-tests: Moved from ../.
48554         * modules/crypto/md4: Moved from ../.
48555         * modules/crypto/md4-tests: Moved from ../.
48556         * modules/crypto/md5: Moved from ../.
48557         * modules/crypto/md5-tests: Moved from ../.
48558         * modules/crypto/memxor: Moved from ../.
48559         * modules/crypto/rijndael: Moved from ../.
48560         * modules/crypto/rijndael-tests: Moved from ../.
48561         * modules/crypto/sha1: Moved from ../.
48562
48563 2007-03-30  James Youngman  <jay@gnu.org>
48564
48565         * tests/test-stat-time.c (prepare_test): use chmod() rather than
48566         rename() to change the ctime of a file (because ctime is unaffected
48567         by rename on jfs2 on AIX 5.1).
48568         (main): Start by doing cleanup, in case a previous run failed leaving
48569         test files behind.
48570
48571 2007-03-31  Bruno Haible  <bruno@clisp.org>
48572
48573         Support old proprietary implementations of iconv.
48574         * modules/iconv_open: New file.
48575         * lib/iconv_.h: New file.
48576         * m4/iconv_h.m4: New file.
48577         * lib/iconv_open.c: New file.
48578         * lib/iconv_open-aix.gperf: New file.
48579         * lib/iconv_open-hpux.gperf: New file.
48580         * lib/iconv_open-irix.gperf: New file.
48581         * lib/iconv_open-osf.gperf: New file.
48582         * m4/iconv_open.m4: New file.
48583         * modules/linebreak (Depends-on): Add iconv_open.
48584         * modules/striconv (Depends-on): Likewise.
48585         * modules/striconveh (Depends-on): Likewise.
48586         * modules/unicodeio (Depends-on): Likewise.
48587         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
48588         (iconv_t)(-1).
48589         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
48590         conversion if cd is (iconv_t)(-1).
48591         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
48592         is not possible.
48593
48594 2007-03-31  Bruno Haible  <bruno@clisp.org>
48595
48596         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48597         work on Solaris either. Protect also second use of "autodetect_jp".
48598
48599 2007-03-31  Bruno Haible  <bruno@clisp.org>
48600
48601         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
48602         the function is not present.
48603
48604 2007-03-31  Bruno Haible  <bruno@clisp.org>
48605
48606         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
48607         the function is not present.
48608
48609 2007-03-31  Bruno Haible  <bruno@clisp.org>
48610
48611         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
48612         a bug in HP-UX iconv_open().
48613
48614 2007-03-31  Bruno Haible  <bruno@clisp.org>
48615
48616         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
48617         (Mathematics <math.h>): New section, add fpieee.
48618         (Input/output <stdio.h>): Add fseterr.
48619         (Mathematics <math.h>): New section, add printf-frexp.
48620         (Container data structures): Add sublist.
48621         (Core language properties): Add fpucw, inline.
48622         (Functions for greatest-width integer types <inttypes.h>): Add
48623         imaxabs, imaxdiv, inttypes.
48624         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
48625         isnanl-nolibm, ldexp.
48626         (Mathematics <math.h>): New section, add printf-frexpl.
48627         (Support for systems lacking POSIX:2001): Add fprintf-posix,
48628         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
48629         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
48630         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
48631         (Unicode string functions): Add unistr/u*-mbtoucr.
48632         (Java): Add javacomp-script, javaexec-script.
48633         (C#): Add csharpcomp-script, csharpexec-script.
48634         (Support for building libraries and executables): Add havelib,
48635         relocatable-*.
48636         (Support for maintaining and releasing projects): Renamed from
48637         'Support for maintaining and release projects'. Add announce-gen.
48638
48639 2007-03-31  Bruno Haible  <bruno@clisp.org>
48640
48641         * README: Talk primarily about git.
48642         (git and CVS): Renamed from CVS.
48643         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
48644         gnulib is available through git.
48645         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
48646
48647 2007-03-30  Bruno Haible  <bruno@clisp.org>
48648
48649         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
48650         * lib/poll_.h: Likewise.
48651         * lib/stat_.h: Likewise.
48652         * lib/sys_time_.h: Likewise.
48653         * lib/sysexit_.h: Likewise.
48654         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
48655         * lib/stdbool_.h: Likewise.
48656         * lib/byteswap_.h: Add double-inclusion guard.
48657
48658 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
48659
48660         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
48661
48662 2007-03-30  Karl Berry  <karl@gnu.org>
48663
48664         * config/srclist-update: double space after USA in the license
48665         substitution, since that's how it's usually (?) written.
48666
48667 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
48668
48669         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
48670         reported by Bruno Haible.
48671
48672 2007-03-29  Bruno Haible  <bruno@clisp.org>
48673
48674         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
48675         a bug in AIX iconv().
48676
48677 2007-03-29  Bruno Haible  <bruno@clisp.org>
48678
48679         * modules/ldexpl-tests: New file.
48680         * tests/test-ldexpl.c: New file.
48681
48682 2007-03-29  Bruno Haible  <bruno@clisp.org>
48683
48684         * lib/ldexpl.c: Include fpucw.h.
48685         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
48686         multiplication.
48687         * modules/ldexpl (Depends-on): Add fpucw.
48688
48689 2007-03-29  Bruno Haible  <bruno@clisp.org>
48690
48691         * modules/ldexpl: New file.
48692         * m4/ldexpl.m4: New file.
48693         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
48694         set.
48695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
48696         REPLACE_LDEXPL.
48697         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
48698         REPLACE_LDEXPL.
48699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48700         gl_FUNC_LDEXPL_WORKS.
48701         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
48702         * modules/mathl (Files): Remove lib/ldexpl.c.
48703         (Depends-on): Add ldexpl.
48704
48705 2007-03-29  Bruno Haible  <bruno@clisp.org>
48706
48707         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
48708
48709 2007-03-29  Bruno Haible  <bruno@clisp.org>
48710
48711         * tests/test-striconveh.c (main): Don't assume that a direct conversion
48712         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
48713         and possibly also HP-UX.
48714         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
48715         work on AIX, IRIX, HP-UX, OSF/1.
48716         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
48717         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
48718         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
48719         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
48720         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
48721         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
48722
48723 2007-03-29  Bruno Haible  <bruno@clisp.org>
48724
48725         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
48726
48727 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48728
48729         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
48730         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
48731
48732 2007-03-29  Eric Blake  <ebb9@byu.net>
48733
48734         * lib/acl-internal.h: Remove redundant include.
48735         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
48736         Cygwin when a file is locked.
48737
48738 2007-03-29  Bruno Haible  <bruno@clisp.org>
48739
48740         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
48741         file.
48742         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
48743
48744 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48745
48746         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
48747         try to remove a parent directory if the child couldn't be removed
48748         (except for the first rmdir, which could fail because the child
48749         doesn't exist).  Problem reported by Jeff Blaine in
48750         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
48751
48752 2007-03-28  Bruno Haible  <bruno@clisp.org>
48753
48754         * lib/striconveh.c (utf8conv_carefully): New function.
48755         (mem_cd_iconveh_internal): Invoke it.
48756
48757 2007-03-28  Bruno Haible  <bruno@clisp.org>
48758
48759         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
48760         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
48761         input.
48762         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
48763         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
48764         unistr/u8-uctomb.
48765
48766 2007-03-28  Bruno Haible  <bruno@clisp.org>
48767
48768         * modules/unistr/u8-mbtoucr: New file.
48769         * lib/unistr/u8-mbtoucr.c: New file.
48770         * modules/unistr/u16-mbtoucr: New file.
48771         * lib/unistr/u16-mbtoucr.c: New file.
48772         * modules/unistr/u16-mbtoucr: New file.
48773         * lib/unistr/u16-mbtoucr.c: New file.
48774         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
48775
48776 2007-03-27  Simon Josefsson  <simon@josefsson.org>
48777             Bruno Haible  <bruno@clisp.org>
48778
48779         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
48780         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
48781         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
48782
48783         * m4/stdio_h.m4: Add stubs for vasprintf too.
48784
48785         * modules/stdio: Support vasprintf in sed command.
48786
48787         * modules/vasprintf: Depend on stdio for prototypes.  Remove
48788         vasprintf.h.  Add stdio module indicator.
48789
48790         * lib/stdio_.h: Declare asprintf and vasprintf, based on
48791         vasprintf.h.
48792
48793         * lib/vasprintf.h: File removed.
48794
48795         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
48796         * lib/vasprintf.c: Ditto.
48797         * lib/xvasprintf.c: Ditto.
48798         * tests/test-vasprintf-posix.c: Ditto.
48799         * tests/test-vasprintf.c: Ditto.
48800
48801 2007-03-27  Bruno Haible  <bruno@clisp.org>
48802
48803         Make vasnprintf multithread-safe.
48804         * lib/vasnprintf.c (decimal_point_char): New function.
48805         (VASNPRINTF): Use it.
48806         Suggested by Simon Josefsson.
48807
48808 2007-03-27  Eric Blake  <ebb9@byu.net>
48809
48810         Support sub-second birthtime on cygwin.
48811         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
48812         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
48813         (get_stat_birthtime): Also work with st_birthtim.
48814
48815 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48816
48817         * lib/stat-time.h (USE_BIRTHTIME): Remove.
48818         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
48819         (get_stat_birthtime_ns): Do not try to use "spare" fields.
48820         (get_stat_birthtime_ns): Simplify compile-time tests.
48821         (get_stat_birthtime): Change the API to look like
48822         get_stat_mtime etc., except return a negative tv_nsec on error.
48823         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
48824         Don't check for "spare" fields.
48825         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
48826         or for struct stat.st_birthtime, as these tests aren't used.
48827         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
48828
48829 2007-03-27  Bruno Haible  <bruno@clisp.org>
48830
48831         * lib/stat-time.h: Include <sys/stat.h>.
48832
48833 2007-03-27  James Youngman  <jay@gnu.org>
48834
48835         * lib/stat-time.h (get_stat_birthtime): New function for
48836           retrieving st_birthtime as provided by UFS2 (hence *BSD).
48837         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
48838           and its variants.
48839         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
48840         * modules/stat-time-test: New file.
48841         * tests/test-stat-time.c: New test, devised by Bruno Haible.
48842
48843 2007-03-26  Bruno Haible  <bruno@clisp.org>
48844
48845         Better support of signalling NaNs.
48846         * lib/atanl.c: Include isnanl.h.
48847         (atanl): Perform test for NaN at the beginning of the function and
48848         through a call to isnanl.
48849         * lib/cosl.c: Include isnanl.h.
48850         (cosl): Perform test for NaN at the beginning of the function and
48851         through a call to isnanl.
48852         * lib/ldexpl.c: Include isnanl.h.
48853         (ldexpl): Perform test for NaN through a call to isnanl.
48854         * lib/logl.c: Include isnanl.h.
48855         (logl): Perform test for NaN at the beginning of the function and
48856         through a call to isnanl.
48857         * lib/sinl.c: Include isnanl.h.
48858         (sinl): Perform test for NaN at the beginning of the function and
48859         through a call to isnanl.
48860         * lib/sqrtl.c: Include isnanl.h.
48861         (sqrtl): Perform test for NaN at the beginning of the function and
48862         through a call to isnanl.
48863         * lib/tanl.c: Include isnanl.h.
48864         (tanl): Perform test for NaN at the beginning of the function and
48865         through a call to isnanl.
48866         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
48867         * modules/mathl (Depends-on): Add isnanl.
48868
48869 2007-03-26  Eric Blake  <ebb9@byu.net>
48870
48871         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
48872         regression in logic sense of previous patch.
48873
48874 2007-03-26  Bruno Haible  <bruno@clisp.org>
48875
48876         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
48877         unportable shell command "if ! ...".
48878         Reported by Ralf Wildenhues.
48879
48880 2007-03-25  Bruno Haible  <bruno@clisp.org>
48881
48882         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
48883         <sysexits.h> file, and only add EX_CONFIG.
48884         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
48885         absolute file name and whether it is sufficient. Substitute also
48886         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
48887         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
48888         ABSOLUTE_SYSEXITS_H into sysexits.h.
48889
48890 2007-03-25  Bruno Haible  <bruno@clisp.org>
48891
48892         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
48893         hints is NULL.
48894
48895 2007-03-25  Bruno Haible  <bruno@clisp.org>
48896
48897         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
48898         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
48899
48900 2007-03-25  Bruno Haible  <bruno@clisp.org>
48901
48902         * lib/vasnprintf.c: Include langinfo.h.
48903         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
48904         multithread-safe.
48905         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
48906         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
48907         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48908         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48909         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48910         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48911         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48912         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
48913         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48914         Reported by Simon Josefsson.
48915
48916 2007-03-25  Bruno Haible  <bruno@clisp.org>
48917
48918         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
48919         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
48920         * modules/vasnprintf (Depends-on): Add stdint.
48921
48922 2007-03-25  Bruno Haible  <bruno@clisp.org>
48923
48924         * modules/fpieee: New file.
48925         * m4/fpieee.m4: New file.
48926         * modules/isnan-nolibm (Depends-on): Add fpieee.
48927         * modules/isnanl-nolibm (Depends-on): Add fpieee.
48928         * modules/isnanl (Depends-on): Add fpieee.
48929
48930 2007-03-25  Bruno Haible  <bruno@clisp.org>
48931
48932         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
48933
48934 2007-03-25  Bruno Haible  <bruno@clisp.org>
48935
48936         Avoid test failures on IRIX 6.5.
48937         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
48938         (main): Use it.
48939         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
48940         macros.
48941         (main): Use them.
48942
48943 2007-03-25  Bruno Haible  <bruno@clisp.org>
48944
48945         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
48946         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
48947         exists but doesn't work.
48948         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
48949         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
48950         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
48951         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
48952
48953 2007-03-25  Bruno Haible  <bruno@clisp.org>
48954
48955         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
48956         returns inf. Needed on IRIX 6.5.
48957
48958 2007-03-25  Bruno Haible  <bruno@clisp.org>
48959
48960         * tests/test-frexpl.c: Include isnanl-nolibm.h.
48961         (main): Use isnanl instead of x != x idiom.
48962         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
48963
48964         * tests/test-frexp.c: Include isnan.h.
48965         (main): Use isnan instead of x != x idiom.
48966         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
48967
48968 2007-03-25  Bruno Haible  <bruno@clisp.org>
48969
48970         * tests/test-frexp.c (NaN): New function/macro.
48971         (main): Use it instead of 0.0 / 0.0.
48972         * tests/test-isnan.c (NaN): New function/macro.
48973         (main): Use it instead of 0.0 / 0.0.
48974         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
48975         (test_function): Use it instead of 0.0 / 0.0.
48976         * tests/test-vasprintf-posix.c (NaN): New function/macro.
48977         (test_function): Use it instead of 0.0 / 0.0.
48978         * tests/test-snprintf-posix.h (NaN): New function/macro.
48979         (test_function): Use it instead of 0.0 / 0.0.
48980         * tests/test-sprintf-posix.h (NaN): New function/macro.
48981         (test_function): Use it instead of 0.0 / 0.0.
48982         * tests/test-fprintf-posix.h (NaN): New function/macro.
48983         (test_function): Use it instead of 0.0 / 0.0.
48984         * tests/test-printf-posix.h (NaN): New function/macro.
48985         (test_function): Use it instead of 0.0 / 0.0.
48986
48987         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
48988
48989 2007-03-25  Bruno Haible  <bruno@clisp.org>
48990
48991         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
48992
48993 2007-03-25  Bruno Haible  <bruno@clisp.org>
48994
48995         * lib/regexec.c (merge_state_with_log): Make static.
48996
48997 2007-03-25  Bruno Haible  <bruno@clisp.org>
48998
48999         * lib/trigl.c (kernel_rem_pio2): Make static.
49000
49001 2007-03-25  Bruno Haible  <bruno@clisp.org>
49002
49003         * lib/sincosl.c (sincosl_table): Make static.
49004
49005 2007-03-25  Bruno Haible  <bruno@clisp.org>
49006
49007         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
49008         if the compiler does not support C99.
49009
49010 2007-03-25  Bruno Haible  <bruno@clisp.org>
49011
49012         * modules/time (Makefile.am): Ensure all rule action lines start with a
49013         tab.
49014
49015 2007-03-24  Bruno Haible  <bruno@clisp.org>
49016
49017         * modules/tsearch-tests: New file.
49018         * tests/test-tsearch.sh: New file.
49019         * tests/test-tsearch.c: New file, mostly copied from glibc.
49020
49021         * modules/search-tests: New file.
49022         * tests/test-search.c: New file.
49023
49024         * modules/search: New file.
49025         * lib/search_.h: New file, incorporating lib/tsearch.h.
49026         * m4/search_h.m4: New file.
49027         * lib/tsearch.h: Remove file.
49028         * lib/tsearch.c: Include search.h instead of tsearch.h.
49029         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
49030         HAVE_TSEARCH.
49031         * modules/tsearch (Files): Remove lib/tsearch.h.
49032         (Depends-on): Add search.
49033         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
49034         (Include): Change tsearch.h into search.h.
49035
49036 2007-03-24  Bruno Haible  <bruno@clisp.org>
49037
49038         * modules/fpucw: New file.
49039         * lib/fpucw.h: New file.
49040         * lib/frexp.c: Include fpucw.h.
49041         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49042         (FUNC): Use them.
49043         * lib/printf-frexp.c: Include fpucw.h.
49044         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
49045         (FUNC): Use them.
49046         * lib/vasnprintf.c: Include fpucw.h.
49047         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
49048         'long double' calculations.
49049         * tests/test-frexpl.c: Include fpucw.h.
49050         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49051         * tests/test-printf-frexpl.c: Include fpucw.h.
49052         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
49053         * modules/frexpl (Depends-on): Add fpucw.
49054         * modules/printf-frexpl (Depends-on): Likewise.
49055         * modules/fprintf-posix (Depends-on): Likewise.
49056         * modules/snprintf-posix (Depends-on): Likewise.
49057         * modules/sprintf-posix (Depends-on): Likewise.
49058         * modules/vasnprintf-posix (Depends-on): Likewise.
49059         * modules/vasprintf-posix (Depends-on): Likewise.
49060         * modules/vfprintf-posix (Depends-on): Likewise.
49061         * modules/vsnprintf-posix (Depends-on): Likewise.
49062         * modules/vsprintf-posix (Depends-on): Likewise.
49063         * modules/frexpl-tests (Depends-on): Likewise.
49064         * modules/printf-frexpl-tests (Depends-on): Likewise.
49065
49066 2007-03-24  Bruno Haible  <bruno@clisp.org>
49067
49068         * lib/float+.h: New file.
49069         * lib/isnan.c: Include float+.h.
49070         (SIZE): New macro.
49071         (FUNC): Compare only SIZE bytes of the value.
49072         * lib/vasnprintf.c: Include float+.h.
49073         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
49074         SIZEOF_LDBL or SIZEOF_DBL bytes.
49075         * modules/isnan-nolibm (Files): Add lib/float+.h.
49076         * modules/isnanl-nolibm (Files): Add lib/float+.h.
49077         * modules/isnanl (Files): Add lib/float+.h.
49078         * modules/vasnprintf (Files): Add lib/float+.h.
49079
49080 2007-03-24  Bruno Haible  <bruno@clisp.org>
49081
49082         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
49083         include isnanl-nolibm.h.
49084
49085 2007-03-24  Bruno Haible  <bruno@clisp.org>
49086
49087         * tests/test-read-file.c (main): Don't produce spurious output for
49088         expected situations. Make the test fail if it encountered unexpected
49089         results.
49090
49091 2007-03-24  Bruno Haible  <bruno@clisp.org>
49092
49093         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
49094         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
49095
49096 2007-03-24  Bruno Haible  <bruno@clisp.org>
49097
49098         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
49099
49100 2007-03-24  Bruno Haible  <bruno@clisp.org>
49101
49102         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
49103         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
49104
49105         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
49106         * modules/utf8-ucs4: Turn into a symbolic link to module
49107         unistr/u8-mbtouc.
49108
49109         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
49110         utf8-ucs4-unsafe.
49111         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
49112         unistr/u8-mbtouc-unsafe.
49113
49114         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
49115         * modules/utf16-ucs4: Turn into a symbolic link to module
49116         unistr/u16-mbtouc.
49117
49118         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
49119         utf16-ucs4-unsafe.
49120         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
49121         unistr/u16-mbtouc-unsafe.
49122
49123         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
49124         * modules/ucs4-utf8: Turn into a symbolic link to module
49125         unistr/u8-ubtomb.
49126
49127         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
49128         * modules/ucs4-utf16: Turn into a symbolic link to module
49129         unistr/u16-ubtomb.
49130
49131 2007-03-24  Bruno Haible  <bruno@clisp.org>
49132
49133         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
49134         Enable the function only if HAVE_INLINE.
49135         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
49136         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49137         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
49138         Enable the function only if HAVE_INLINE.
49139         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
49140         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
49141         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
49142         Enable the function only if HAVE_INLINE.
49143         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
49144         Enable the function only if HAVE_INLINE.
49145         * modules/utf8-ucs4: Update.
49146         * modules/utf8-ucs4-unsafe: Update.
49147         * modules/utf16-ucs4: Update.
49148         * modules/utf16-ucs4-unsafe: Update.
49149         * modules/ucs4-utf8: Update.
49150         * modules/ucs4-utf16: Update.
49151
49152 2007-03-24  Bruno Haible  <bruno@clisp.org>
49153
49154         * lib/utf8-ucs4.h: Remove file.
49155         * lib/utf8-ucs4-unsafe.h: Remove file.
49156         * lib/utf16-ucs4.h: Remove file.
49157         * lib/utf16-ucs4-unsafe.h: Remove file.
49158         * lib/ucs4-utf8.h: Remove file.
49159         * lib/ucs4-utf16.h: Remove file.
49160         * lib/unistr.h: Include their previous contents.
49161         * m4/utf-ucs4.m4: Remove file.
49162         * m4/ucs4-utf.m4: Remove file.
49163         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
49164         (Depends-on): Add unistr/base.
49165         (configure.ac): Remove gl_UTF_UCS4.
49166         (Makefile.am): Update.
49167         (Include): Change to unistr.h.
49168         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
49169         (Depends-on): Add unistr/base.
49170         (configure.ac): Remove gl_UTF_UCS4.
49171         (Makefile.am): Update.
49172         (Include): Change to unistr.h.
49173         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
49174         (Depends-on): Add unistr/base.
49175         (configure.ac): Remove gl_UTF_UCS4.
49176         (Makefile.am): Update.
49177         (Include): Change to unistr.h.
49178         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
49179         (Depends-on): Add unistr/base.
49180         (configure.ac): Remove gl_UTF_UCS4.
49181         (Makefile.am): Update.
49182         (Include): Change to unistr.h.
49183         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
49184         (Depends-on): Add unistr/base.
49185         (configure.ac): Remove gl_UCS4_UTF.
49186         (Makefile.am): Update.
49187         (Include): Change to unistr.h.
49188         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
49189         (Depends-on): Add unistr/base.
49190         (configure.ac): Remove gl_UCS4_UTF.
49191         (Makefile.am): Update.
49192         (Include): Change to unistr.h.
49193         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
49194         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
49195         utf8-ucs4-unsafe.h.
49196         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
49197         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
49198         utf16-ucs4-unsafe.h.
49199         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
49200         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
49201         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
49202         * lib/unistr/u8-strchr.c: Likewise.
49203         * lib/unistr/u8-strrchr.c: Likewise.
49204         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
49205         * lib/unistr/u16-strchr.c: Likewise.
49206         * lib/unistr/u16-strrchr.c: Likewise.
49207         * lib/striconveh.c: Update.
49208         * lib/linebreak.c: Update.
49209
49210 2007-03-24  Bruno Haible  <bruno@clisp.org>
49211
49212         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
49213         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
49214
49215 2007-03-22  Bruno Haible  <bruno@clisp.org>
49216
49217         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
49218
49219 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
49220
49221         * MODULES.html.sh (File system functions): New module write-any-file.
49222         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
49223         * m4/write-any-file.m4: New files.
49224
49225 2007-03-23  Eric Blake  <ebb9@byu.net>
49226
49227         * gnulib-tool: Rearrange space-tab sequences, since some editors
49228         like to eat them.
49229
49230 2007-03-23  Eric Blake  <ebb9@byu.net>
49231
49232         * lib/version-etc.c (version_etc_va): Update license wording to
49233         be more concise.  Recommended by Richard Stallman.
49234
49235 2007-03-22  Bruno Haible  <bruno@clisp.org>
49236
49237         * lib/poll.c (MSG_PEEK): New fallback definition.
49238
49239 2007-03-22  Bruno Haible  <bruno@clisp.org>
49240
49241         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
49242         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
49243         (main): Update.
49244         Fixes a compilation error on BeOS.
49245
49246 2007-03-22  Bruno Haible  <bruno@clisp.org>
49247
49248         * modules/frexpl-tests: New file.
49249         * tests/test-frexpl.c: New file.
49250
49251         * modules/frexpl: New file.
49252         * m4/frexpl.m4: New file.
49253         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
49254         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
49255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
49256         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
49257         (Depends-on): Add frexpl. Remove isnanl-nolibm.
49258         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
49259
49260 2007-03-22  Bruno Haible  <bruno@clisp.org>
49261
49262         * lib/frexpl.c: Share code with lib/frexp.c.
49263         * modules/mathl (Files): Add lib/frexp.c.
49264         (Depends-on): Add isnanl-nolibm.
49265
49266 2007-03-22  Bruno Haible  <bruno@clisp.org>
49267
49268         * modules/printf-frexp (Files): Add m4/frexp.m4.
49269         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
49270         only if the found frexp function actually works.
49271
49272 2007-03-22  Bruno Haible  <bruno@clisp.org>
49273
49274         * lib/frexp.c: Remove older implementation that uses divisions.
49275
49276 2007-03-21  Bruno Haible  <bruno@clisp.org>
49277
49278         * modules/frexp-tests: New file.
49279         * tests/test-frexp.c: New file.
49280
49281         * modules/frexp: New file.
49282         * lib/frexp.c: New file.
49283         * m4/frexp.m4: New file.
49284         * lib/math_.h (frexp): New declaration.
49285         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
49286         REPLACE_FREXP.
49287         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
49288
49289 2007-03-21  Bruno Haible  <bruno@clisp.org>
49290
49291         * modules/isnanl-tests: New file.
49292         * tests/test-isnanl.c: New file.
49293
49294         * modules/isnanl: New file.
49295         * lib/isnanl.h: New file.
49296         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
49297         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
49298         gl_FUNC_ISNANL_WORKS.
49299         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
49300         New macros.
49301
49302 2007-03-21  Bruno Haible  <bruno@clisp.org>
49303
49304         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
49305         lib/isnanl.h.
49306         (Include): Update.
49307         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
49308         * lib/vasnprintf.c: Update.
49309         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
49310         tests/test-isnanl.h, remove tests/test-isnanl.c.
49311         (Makefile.am): Update.
49312         * tests/test-isnanl-nolibm.c: New file.
49313         * tests/test-isnanl.h: New file.
49314         * tests/test-isnanl.c: Remove file.
49315
49316 2007-03-21  Jim Meyering  <jim@meyering.net>
49317
49318         When trying to open ".", treat ESTALE like EACCES.
49319         * lib/savewd.c (savewd_save): Resort to forking not just upon
49320         failure with EACCES, but also when errno is ESTALE.
49321
49322 2007-03-20  Bruno Haible  <bruno@clisp.org>
49323
49324         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
49325         Needed on AIX 5.1. Reported by Matthew Woehlke.
49326
49327 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49328
49329         Suggestions by Bruno Haible:
49330         * lib/acl-internal.h: Include "gettext.h" rather than rolling
49331         our own.
49332         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
49333         * modules/acl (Depends-on): Add gettext.
49334
49335 2007-03-19  Bruno Haible  <bruno@clisp.org>
49336
49337         * modules/iconvme: Remove file.
49338         * lib/iconvme.h: Remove file.
49339         * lib/iconvme.c: Remove file.
49340         * m4/iconvme.m4: Remove file.
49341
49342 2007-03-19  Bruno Haible  <bruno@clisp.org>
49343
49344         * doc/relocatable-maint.texi: Break long shell script line.
49345         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49346
49347 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49348
49349         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
49350         handle file_has_acl.
49351         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
49352         * lib/acl.c: Move header inclusions and related macro defns into
49353         lib/acl-internal.h.
49354         (S_ISLNK): Remove defn, since that's now done for us.
49355         (file_has_acl): Move to lib/file-has-acl.c.
49356         Call acl_trivial if available.  This is the crucial part of the fix.
49357         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
49358         shared within the library.  Rewrite a bit, partly to make it compatible
49359         with the GNU coding style.
49360         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
49361         Remove unnecessary double-quotes.
49362         Don't test for acl_to_text; the build will catch that.
49363         Replace acl_entries if it doesn't exist and it is needed.
49364         Check for -lsec and acl_trivial (as used on Solaris 10).
49365         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
49366         lib/file-has-acl.c.
49367         (Depends-on): Add sys_stat, for S_ISLNK.
49368
49369 2007-03-19  Ben Pfaff  <blp@gnu.org>
49370
49371         * doc/gnulib.texi: Fix typos.
49372         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
49373
49374 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
49375
49376         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
49377         If size is zero here, buf must be zero.
49378
49379 2007-03-19  Simon Josefsson  <simon@josefsson.org>
49380
49381         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
49382         <bruno@clisp.org>.
49383
49384 2007-03-18  Bruno Haible  <bruno@clisp.org>
49385
49386         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
49387         Suggested by Eric Blake.
49388
49389 2007-03-18  Ben Pfaff  <blp@gnu.org>
49390
49391         * doc/relocatable.texi: Recommend using as prefix a directory
49392         that does not exist and will never be created.  Based on
49393         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
49394         and others.
49395
49396 2007-03-17  Bruno Haible  <bruno@clisp.org>
49397
49398         * lib/fchownat.c: Include lchown.h.
49399
49400 2007-03-17  Bruno Haible  <bruno@clisp.org>
49401
49402         Fix endless loop when the given allocated size was > INT_MAX.
49403         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
49404         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
49405         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
49406         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
49407         * lib/sprintf.c (sprintf): Likewise.
49408
49409 2007-03-17  Bruno Haible  <bruno@clisp.org>
49410
49411         * tests/test-argp-2.sh (func_compare): Output a context diff.
49412
49413 2007-03-17  Bruno Haible  <bruno@clisp.org>
49414
49415         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
49416         locale's decimal-point character.
49417
49418 2007-03-17  Bruno Haible  <bruno@clisp.org>
49419
49420         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
49421         before comparing it. Needed because on some platforms (e.g. x86) a
49422         'long double' occupies less bytes than sizeof (long double).
49423
49424 2007-03-17  Bruno Haible  <bruno@clisp.org>
49425
49426         * tests/test-crc.c (main): Make printf statements 64-bit clean.
49427         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
49428         * tests/test-getaddrinfo.c (simple): Likewise.
49429         * tests/test-read-file.c (main): Likewise.
49430
49431 2007-03-17  Bruno Haible  <bruno@clisp.org>
49432
49433         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
49434
49435 2007-03-17  Bruno Haible  <bruno@clisp.org>
49436
49437         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
49438         unused variable.
49439
49440 2007-03-17  Bruno Haible  <bruno@clisp.org>
49441
49442         * tests/test-c-strcasecmp.c: Include c-strcase.h.
49443         * tests/test-c-strncasecmp.c: Likewise.
49444
49445 2007-03-17  Bruno Haible  <bruno@clisp.org>
49446
49447         * modules/stdlib (Depends-on): Add unistd.
49448         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
49449         Needed for MacOS X 10.3.
49450
49451 2007-03-17  Bruno Haible  <bruno@clisp.org>
49452
49453         * lib/unistr/u-strdup.h: Include <stdlib.h>.
49454
49455 2007-03-17  Bruno Haible  <bruno@clisp.org>
49456
49457         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
49458
49459 2007-03-17  Bruno Haible  <bruno@clisp.org>
49460
49461         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
49462         to reflect files copied from gnulib (with or without modifications).
49463         Suggested by Jim Meyering.
49464
49465 2007-03-17  Eric Blake  <ebb9@byu.net>
49466
49467         * NEWS: Document stdlib change from 2007-02-18.
49468
49469 2007-03-17  Jim Meyering  <jim@meyering.net>
49470
49471         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
49472         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
49473         someone uses a name containing shell meta-characters.
49474         Reported by Alfred M. Szmidt.
49475
49476         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
49477
49478 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49479
49480         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
49481         and copy gettext configuration files only if configure.ac contains
49482         a use of AM_GNU_GETTEXT_VERSION.
49483
49484 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
49485
49486         * build-aux/bootstrap (gnulib_name): New variable.
49487         (gnulib_tool_options): Use it.
49488
49489 2007-03-13  Simon Josefsson  <simon@josefsson.org>
49490
49491         * tests/test-des.c: Use new namespace.
49492
49493 2007-03-15  Bruno Haible  <bruno@clisp.org>
49494
49495         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
49496         Reported by James Youngman <jay@gnu.org>.
49497
49498 2007-03-15  Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
49501         declared prototype. Needed with cc on OSF/1 5.1.
49502
49503 2007-03-15  Bruno Haible  <bruno@clisp.org>
49504
49505         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
49506         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
49507         (struct gl_list_implementation): Add dispose_fn argument to the
49508         'create_empty', 'create' methods.
49509         (struct gl_list_impl_base): Add field 'dispose_fn'.
49510         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
49511         argument.
49512         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
49513         dispose_fn argument.
49514         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
49515         dispose_fn on the dropped values.
49516         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
49517         dispose_fn argument.
49518         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
49519         dropped values.
49520         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
49521         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49522         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
49523         (gl_tree_remove_node): Call dispose_fn on the dropped value.
49524         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
49525         argument.
49526         (gl_tree_list_free): Call dispose_fn on the dropped values.
49527         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
49528         the dropped values.
49529         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49530         Add dispose_fn argument.
49531         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
49532         Call dispose_fn on the dropped values.
49533         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
49534         Add dispose_fn argument.
49535         (gl_sublist_create): Initialize the 'dispose_fn' field.
49536         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
49537         * tests/test-array_list.c (main): Update.
49538         * tests/test-carray_list.c (main): Update.
49539         * tests/test-avltree_list.c (main): Update.
49540         * tests/test-rbtree_list.c (main): Update.
49541         * tests/test-avltreehash_list.c (main): Update.
49542         * tests/test-rbtreehash_list.c (main): Update.
49543         * tests/test-linked_list.c (main): Update.
49544         * tests/test-linkedhash_list.c (main): Update.
49545         * tests/test-array_oset.c (main): Update.
49546
49547 2007-03-15  Bruno Haible  <bruno@clisp.org>
49548
49549         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
49550         (gl_oset_create_empty): Add dispose_fn argument.
49551         (struct gl_oset_implementation): Add dispose_fn argument to
49552         'create_empty' method.
49553         (struct gl_oset_impl_base): Add dispose_fn field.
49554         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
49555         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
49556         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
49557         values.
49558         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
49559         (gl_tree_oset_free): Call dispose_fn on the dropped values.
49560         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49561         dropped value.
49562         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
49563         dropped value.
49564         * tests/test-array_oset.c (main): Update.
49565         * tests/test-avltree_oset.c (main): Update.
49566         * tests/test-rbtree_oset.c (main): Update.
49567         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
49568
49569 2007-03-13  Bruno Haible  <bruno@clisp.org>
49570
49571         * tests/test-stdbool.c (i): Update after last patch.
49572
49573 2007-03-12  Bruno Haible  <bruno@clisp.org>
49574
49575         * lib/quotearg.c: Include <wctype.h> early, before the definition of
49576         the iswprint macro. Needed on Solaris 2.5.1.
49577
49578 2007-03-12  Bruno Haible  <bruno@clisp.org>
49579
49580         * tests/test-printf-frexp.c (main): Declare x as volatile.
49581
49582 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49583
49584         * doc/gnulib.texi (Build robot for gnulib): New section.
49585
49586 2007-03-12  Jim Meyering  <jim@meyering.net>
49587
49588         * build-aux/bootstrap: New file.
49589         * build-aux/bootstrap.conf: New file, from coreutils.
49590
49591 2007-03-11  Bruno Haible  <bruno@clisp.org>
49592
49593         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
49594
49595 2007-03-12  Simon Josefsson  <simon@josefsson.org>
49596
49597         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
49598         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
49599         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
49600
49601 2007-03-11  Bruno Haible  <bruno@clisp.org>
49602
49603         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
49604         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
49605
49606 2007-03-11  Bruno Haible  <bruno@clisp.org>
49607
49608         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
49609         formula. Needed for SunPRO C 5.0.
49610
49611 2007-03-11  Bruno Haible  <bruno@clisp.org>
49612
49613         * modules/long-options (Depends-on): Add getopt.
49614
49615 2007-03-11  Bruno Haible  <bruno@clisp.org>
49616
49617         * modules/modechange (Depends-on): Add stdbool.
49618
49619 2007-03-11  Bruno Haible  <bruno@clisp.org>
49620
49621         * modules/i-ring (Depends-on): Add stdbool.
49622
49623 2007-03-11  Bruno Haible  <bruno@clisp.org>
49624
49625         * modules/gc-des (Depends-on): Add stdbool.
49626
49627 2007-03-11  Bruno Haible  <bruno@clisp.org>
49628
49629         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
49630
49631 2007-03-11  Bruno Haible  <bruno@clisp.org>
49632
49633         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
49634
49635 2007-03-11  Bruno Haible  <bruno@clisp.org>
49636
49637         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
49638
49639 2007-03-11  Bruno Haible  <bruno@clisp.org>
49640
49641         * lib/vasnprintf.c (sprintf): Undefine.
49642
49643 2007-03-11  Bruno Haible  <bruno@clisp.org>
49644
49645         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
49646         initializers in SunPRO C and Compaq C compilers.
49647
49648 2007-03-11  Bruno Haible  <bruno@clisp.org>
49649
49650         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
49651         decrementing code ANSI C compliant.
49652
49653 2007-03-11  Bruno Haible  <bruno@clisp.org>
49654
49655         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
49656         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
49657
49658 2007-03-11  Bruno Haible  <bruno@clisp.org>
49659
49660         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
49661         <stdbool.h> substitute doesn't pass.
49662
49663 2007-03-11  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
49666
49667 2007-03-11  Bruno Haible  <bruno@clisp.org>
49668
49669         * gnulib-tool (func_create_megatestdir): Create also an autobuild
49670         script, for submission to autobuild.josefsson.org.
49671
49672 2007-03-10  Bruno Haible  <bruno@clisp.org>
49673
49674         * modules/canonicalize-lgpl-tests: New file.
49675         * tests/test-canonicalize-lgpl.sh: New file.
49676         * tests/test-canonicalize-lgpl.c: New file.
49677
49678         * modules/c-strcase-tests: New file.
49679         * tests/test-c-strcase.sh: New file.
49680         * tests/test-c-strcasecmp.c: New file.
49681         * tests/test-c-strncasecmp.c: New file.
49682
49683         * modules/atexit-tests: New file.
49684         * tests/test-atexit.sh: New file.
49685         * tests/test-atexit.c: New file.
49686
49687 2007-03-10  Bruno Haible  <bruno@clisp.org>
49688
49689         * tests/test-binary-io.sh: Use temporary filenames that are not so
49690         likely to clash with those of other tests (in a parallel make).
49691         * tests/test-binary-io.c: Likewise.
49692
49693 2007-03-10  Bruno Haible  <bruno@clisp.org>
49694
49695         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
49696         fallback; use #error instead.
49697         Suggested by Simon Josefsson.
49698
49699 2007-03-10  Bruno Haible  <bruno@clisp.org>
49700
49701         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
49702         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
49703         first and the last.
49704
49705 2007-03-10  Bruno Haible  <bruno@clisp.org>
49706
49707         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
49708
49709 2007-03-10  Bruno Haible  <bruno@clisp.org>
49710
49711         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
49712         "make distcheck".
49713         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
49714         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
49715         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
49716
49717 2007-03-10  Bruno Haible  <bruno@clisp.org>
49718
49719         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
49720         variable.
49721         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
49722         variable.
49723
49724 2007-03-09  Eric Blake  <ebb9@byu.net>
49725         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
49726
49727         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
49728         types are not being provided by gnulib.
49729         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
49730         types are supported.
49731
49732 2007-03-10  Bruno Haible  <bruno@clisp.org>
49733
49734         * lib/stdio_.h (__attribute__): New macro.
49735         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
49736         vsprintf): Specify __attribute__ __format__ for GCC.
49737         Suggested by Eric Blake.
49738
49739 2007-03-09  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/printf-posix-tests: New file.
49742         * tests/test-printf-posix.sh: New file.
49743         * tests/test-printf-posix.c: New file.
49744
49745         * modules/printf-posix: New file.
49746         * lib/printf.c: New file.
49747         * m4/printf-posix-rpl.m4: New file.
49748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
49749         REPLACE_PRINTF.
49750         * lib/stdio_.h (printf): New declaration.
49751         (format, __format__, ____printf____, ____scanf____, ____strftime____,
49752         ____strfmon____): New macros.
49753         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
49754         REPLACE_PRINTF.
49755
49756 2007-03-09  Bruno Haible  <bruno@clisp.org>
49757
49758         * tests/test-vasnprintf-posix2.sh: New file.
49759         * tests/test-vasnprintf-posix2.c: New file.
49760         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
49761         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49762         (Makefile.am): Activate test-vasnprintf-posix2.sh.
49763
49764         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
49765         a locale dependent decimal point, rather than always '.'.
49766
49767 2007-03-09  Eric Blake  <ebb9@byu.net>
49768
49769         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
49770         spite of platforms like Tandem/NSK that define it to -1.
49771
49772 2007-03-08  Bruno Haible  <bruno@clisp.org>
49773
49774         * modules/vprintf-posix-tests: New file.
49775         * tests/test-vprintf-posix.sh: New file.
49776         * tests/test-vprintf-posix.c: New file.
49777         * tests/test-printf-posix.h: New file.
49778
49779         * modules/vprintf-posix: New file.
49780         * lib/vprintf.c: New file.
49781         * m4/vprintf-posix.m4: New file.
49782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
49783         REPLACE_VPRINTF.
49784         * lib/stdio_.h (vprintf): New declaration.
49785         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
49786         REPLACE_VPRINTF.
49787
49788 2007-03-08  Bruno Haible  <bruno@clisp.org>
49789
49790         * modules/fprintf-posix-tests: New file.
49791         * tests/test-fprintf-posix.sh: New file.
49792         * tests/test-fprintf-posix.c: New file.
49793
49794         * modules/fprintf-posix: New file.
49795         * lib/fprintf.c: New file.
49796         * m4/fprintf-posix.m4: New file.
49797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
49798         REPLACE_FPRINTF.
49799         * lib/stdio_.h (fprintf): New declaration.
49800         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
49801         REPLACE_FPRINTF.
49802
49803 2007-03-08  Bruno Haible  <bruno@clisp.org>
49804
49805         * modules/vfprintf-posix-tests: New file.
49806         * tests/test-vfprintf-posix.sh: New file.
49807         * tests/test-vfprintf-posix.c: New file.
49808         * tests/test-fprintf-posix.h: New file.
49809         * tests/test-fprintf-posix.out: New file.
49810
49811         * modules/vfprintf-posix: New file.
49812         * lib/vfprintf.c: New file.
49813         * m4/vfprintf-posix.m4: New file.
49814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
49815         REPLACE_VFPRINTF.
49816         * lib/stdio_.h (vfprintf): New declaration.
49817         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
49818         REPLACE_VFPRINTF.
49819
49820 2007-03-08  Bruno Haible  <bruno@clisp.org>
49821
49822         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
49823
49824 2007-03-08  Bruno Haible  <bruno@clisp.org>
49825
49826         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
49827         instead of 'expr' invocations.
49828         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49829         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49830         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49831         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49832         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49833         Suggested by Paul Eggert.
49834
49835 2007-03-08  Bruno Haible  <bruno@clisp.org>
49836
49837         * modules/fseterr-tests: New file.
49838         * tests/test-fseterr.c: New file.
49839
49840         * modules/fseterr: New file.
49841         * lib/fseterr.h: New file.
49842         * lib/fseterr.c: New file.
49843
49844 2007-03-08  Bruno Haible  <bruno@clisp.org>
49845
49846         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
49847         * lib/getopt_.h: Likewise.
49848         * lib/mbswidth.h: Likewise.
49849         * lib/setenv.h: Likewise.
49850         * lib/vasnprintf.h: Likewise.
49851         * lib/vasprintf.h: Likewise.
49852         * lib/verror.h: Likewise.
49853         * lib/xsetenv.h: Likewise.
49854         * lib/xvasprintf.h: Likewise.
49855
49856 2007-03-08  Jim Meyering  <jim@meyering.net>
49857
49858         * users.txt: Add parted.
49859
49860         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
49861
49862 2007-03-07  Bruno Haible  <bruno@clisp.org>
49863
49864         * m4/printf.m4: Make the shell script snippets copy&pastable.
49865
49866 2007-03-02  Bruno Haible  <bruno@clisp.org>
49867
49868         * lib/netinet_in_.h: New file.
49869         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
49870         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
49871         * modules/netinet_in (Files): Add lib/netinet_in_.h.
49872         (Depends-on): Add absolute-header.
49873         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
49874         into netinet/in.h.
49875
49876 2007-03-03  Bruno Haible  <bruno@clisp.org>
49877
49878         * lib/sys_select_.h: New file.
49879         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
49880         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
49881         * modules/sys_select (Files): Add lib/sys_select_.h.
49882         (Depends-on): Add absolute-header.
49883         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
49884         into sys/select.h.
49885
49886 2007-03-02  Bruno Haible  <bruno@clisp.org>
49887
49888         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
49889         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
49890         values.
49891         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
49892         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
49893         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
49894         * modules/sys_socket (Depends-on): Add absolute-header.
49895         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
49896         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
49897         (Include): Remove requirement of inclusion of <sys/types.h>.
49898
49899 2007-03-02  Bruno Haible  <bruno@clisp.org>
49900
49901         * lib/byteswap_.h (bswap_32): Fix formula.
49902
49903 2007-03-06  Bruno Haible  <bruno@clisp.org>
49904
49905         * modules/sprintf-posix-tests: New file.
49906         * tests/test-sprintf-posix.c: New file.
49907
49908         * modules/sprintf-posix: New file.
49909         * lib/sprintf.c: New file.
49910         * m4/sprintf-posix.m4: New file.
49911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
49912         REPLACE_SPRINTF.
49913         * lib/stdio_.h (sprintf): New declaration.
49914         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
49915         REPLACE_SPRINTF.
49916
49917 2007-03-06  Bruno Haible  <bruno@clisp.org>
49918
49919         * modules/vsprintf-posix-tests: New file.
49920         * tests/test-vsprintf-posix.c: New file.
49921         * tests/test-sprintf-posix.h: New file.
49922
49923         * modules/vsprintf-posix: New file.
49924         * lib/vsprintf.c: New file.
49925         * m4/vsprintf-posix.m4: New file.
49926         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
49927         REPLACE_VSPRINTF.
49928         * lib/stdio_.h (vsprintf): New declaration.
49929         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
49930         REPLACE_VSPRINTF.
49931
49932 2007-03-06  Bruno Haible  <bruno@clisp.org>
49933
49934         * modules/vsnprintf (Depend-on): Remove minmax.
49935
49936 2007-03-06  Bruno Haible  <bruno@clisp.org>
49937
49938         * modules/snprintf-posix-tests: New file.
49939         * tests/test-snprintf-posix.c: New file.
49940
49941         * modules/snprintf-posix: New file.
49942         * m4/snprintf-posix.m4: New file.
49943         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
49944         gl_FUNC_SNPRINTF.
49945         (gl_FUNC_SNPRINTF): Invoke it.
49946         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
49947         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
49948         is set.
49949         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
49950
49951 2007-03-06  Bruno Haible  <bruno@clisp.org>
49952
49953         * modules/vsnprintf-posix-tests: New file.
49954         * tests/test-vsnprintf-posix.c: New file.
49955         * tests/test-snprintf-posix.h: New file.
49956
49957         * modules/vsnprintf-posix: New file.
49958         * m4/vsnprintf-posix.m4: New file.
49959         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
49960         gl_FUNC_VSNPRINTF.
49961         (gl_FUNC_VSNPRINTF): Invoke it.
49962         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
49963         * lib/stdio_.h (vsnprintf): Define as a replacement if
49964         REPLACE_VSNPRINTF is set.
49965         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
49966
49967 2007-03-06  Bruno Haible  <bruno@clisp.org>
49968
49969         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
49970         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
49971
49972 2007-03-06  Bruno Haible  <bruno@clisp.org>
49973
49974         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
49975         (asinl): Declare also if HAVE_DECL_ASINL is set.
49976         (atanl): Declare also if HAVE_DECL_ATANL is set.
49977         (ceill): Declare also if HAVE_DECL_CEILL is set.
49978         (cosl): Declare also if HAVE_DECL_COSL is set.
49979         (expl): Declare also if HAVE_DECL_EXPL is set.
49980         (floorl): Declare also if HAVE_DECL_FLOORL is set.
49981         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
49982         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
49983         (logl): Declare also if HAVE_DECL_LOGL is set.
49984         (sinl): Declare also if HAVE_DECL_SINL is set.
49985         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
49986         (tanl): Declare also if HAVE_DECL_TANL is set.
49987         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
49988         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
49989         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
49990         declaration of frexpl, ldexpl.
49991         * modules/printf-frexpl (Depends-on): Add math.
49992         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
49993
49994 2007-03-05  Bruno Haible  <bruno@clisp.org>
49995
49996         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
49997         frexpl and ldexpl are declared.
49998         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
49999
50000 2007-03-05  Bruno Haible  <bruno@clisp.org>
50001
50002         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
50003         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
50004
50005 2007-03-05  Bruno Haible  <bruno@clisp.org>
50006
50007         * lib/stdio_.h: Include <stddef.h>.
50008
50009 2007-03-05  Bruno Haible  <bruno@clisp.org>
50010
50011         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
50012
50013 2007-03-05  Bruno Haible  <bruno@clisp.org>
50014
50015         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
50016         NetBSD 4, from Ralf Wildenhues.
50017
50018 2007-03-04  Bruno Haible  <bruno@clisp.org>
50019
50020         * lib/vasprintf.h: Update #if logic for the case when the functions
50021         exist but are overridden.
50022
50023 2007-03-04  Bruno Haible  <bruno@clisp.org>
50024
50025         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
50026         implementations: glibc-2.4 and MacOS X 10.3.
50027         * tests/test-vasnprintf-posix.c (test_function): Test also the case
50028         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
50029         * tests/test-vasprintf-posix.c (test_function): Likewise.
50030
50031 2007-03-04  Bruno Haible  <bruno@clisp.org>
50032
50033         * modules/vasprintf-posix-tests: New file.
50034         * tests/test-vasprintf-posix.c: New file.
50035
50036         * modules/vasprintf-posix: New file.
50037         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
50038         defined.
50039         * m4/vasprintf-posix.m4: New file.
50040         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
50041         gl_FUNC_VASPRINTF.
50042         (gl_FUNC_VASPRINTF): Invoke it.
50043         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
50044         here.
50045         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
50046
50047 2007-03-04  Bruno Haible  <bruno@clisp.org>
50048
50049         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
50050         REPLACE_GETTIMEOFDAY.
50051         * modules/sys_time (Makefile.am): Likewise.
50052         * m4/sys_time_h.m4: Likewise.
50053         * m4/gettimeofday.m4: Likewise.
50054
50055 2007-03-04  Bruno Haible  <bruno@clisp.org>
50056
50057         * modules/vasnprintf-posix-tests: New file.
50058         * tests/test-vasnprintf-posix.c: New file.
50059
50060         * modules/vasnprintf-posix: New file.
50061         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
50062         printf-frexpl.h.
50063         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
50064         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
50065         REPLACE_VASNPRINTF is defined.
50066         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
50067         gl_FUNC_VASNPRINTF.
50068         (gl_FUNC_VASNPRINTF): Invoke it.
50069         * m4/vasnprintf-posix.m4: New file.
50070         * m4/printf.m4: New file.
50071
50072 2007-03-04  Bruno Haible  <bruno@clisp.org>
50073
50074         Compile progreloc.c only if --enable-relocatable is specified.
50075         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
50076         if --enable-relocatable was specified.
50077         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
50078         lib_SOURCES.
50079
50080 2007-03-04  Jim Meyering  <jim@meyering.net>
50081
50082         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
50083         Use it consistently, rather than enumerating errno constants.
50084
50085 2007-03-04  Bruno Haible  <bruno@clisp.org>
50086
50087         * modules/xvasprintf-tests: New file.
50088         * tests/test-xvasprintf.c: New file.
50089
50090         * modules/vasprintf-tests: New file.
50091         * tests/test-vasprintf.c: New file.
50092
50093         * modules/vasnprintf-tests: New file.
50094         * tests/test-vasnprintf.c: New file.
50095
50096         * modules/vsnprintf-tests: New file.
50097         * tests/test-vsnprintf.c: New file.
50098
50099         * modules/snprintf-tests: New file.
50100         * tests/test-snprintf.c: New file.
50101
50102 2007-03-04  Bruno Haible  <bruno@clisp.org>
50103
50104         Compile relocatable.c only if --enable-relocatable is specified.
50105         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
50106         gl_RELOCATABLE_LIBRARY.
50107         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
50108         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
50109         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
50110         gl_RELOCATABLE_LIBRARY.
50111         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
50112         (Makefile.am): Remove lib_SOURCES.
50113         * modules/relocatable-lib-lgpl (configure.ac): Invoke
50114         gl_RELOCATABLE_LIBRARY.
50115         (Makefile.am): Remove lib_SOURCES.
50116         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
50117         always.
50118         * modules/relocatable-prog-wrapper (configure.ac): Invoke
50119         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
50120
50121 2007-03-04  Bruno Haible  <bruno@clisp.org>
50122
50123         * modules/argmatch-tests: New file.
50124         * tests/test-argmatch.c: New file.
50125
50126         * tests/test-allocsa.c (main): Halve the number of loop runs.
50127
50128         * modules/alloca-opt-tests: New file.
50129         * tests/test-alloca-opt.c: New file.
50130
50131 2007-03-04  Jim Meyering  <jim@meyering.net>
50132
50133         Work around difference between Linux ACLs and Solaris 10 ZFS.
50134         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
50135         for EINVAL.
50136
50137 2007-03-03  Bruno Haible  <bruno@clisp.org>
50138
50139         * modules/relocatable-prog (Depends-on): Add back progreloc's
50140         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
50141
50142 2007-03-03  Bruno Haible  <bruno@clisp.org>
50143
50144         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
50145         * modules/relocatable-lib: New file.
50146
50147 2007-03-03  Bruno Haible  <bruno@clisp.org>
50148
50149         * modules/relocatable-prog: Renamed from modules/relocatable.
50150         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
50151
50152 2007-03-03  Bruno Haible  <bruno@clisp.org>
50153
50154         * modules/relocatable-script (Files): Add doc/relocatable.texi,
50155         m4/relocatable-lib.m4.
50156         (Depends-on): Remove 'relocatable'.
50157         (configure.ac): Add gl_RELOCATABLE_NOP.
50158
50159 2007-03-03  Bruno Haible  <bruno@clisp.org>
50160
50161         * modules/relocatable-prog-wrapper: New file.
50162         * modules/relocatable (Depends-on): Add it. Remove all other
50163         dependencies except progname.
50164         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
50165
50166         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
50167         (gl_FUNC_STRERROR): Nop.
50168         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
50169
50170         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
50171         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
50172
50173         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
50174         (gl_FUNC_READLINK): Update.
50175
50176         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
50177
50178 2007-03-03  Bruno Haible  <bruno@clisp.org>
50179
50180         * lib/xreadlink.c: Include <unistd.h> unconditionally.
50181         * modules/xreadlink (Depends-on): Add unistd.
50182         * modules/xreadlink-with-size (Depends-on): Likewise.
50183
50184 2007-03-03  Bruno Haible  <bruno@clisp.org>
50185
50186         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
50187         extracted from gt_FUNC_SETENV.
50188         (gt_FUNC_SETENV): Remove macro.
50189         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
50190         remove gt_FUNC_SETENV.
50191
50192 2007-03-03  Bruno Haible  <bruno@clisp.org>
50193
50194         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
50195         ENABLE_RELOCATABLE here.
50196         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
50197
50198 2007-03-03  Bruno Haible  <bruno@clisp.org>
50199
50200         * modules/rbtreehash-list-tests (Depends-on): Add progname.
50201         * tests/test-rbtreehash_list.c: Include progname.h.
50202         (main): Call set_program_name.
50203
50204         * modules/rbtree-oset-tests (Depends-on): Add progname.
50205         * tests/test-rbtree_oset.c: Include progname.h.
50206         (main): Call set_program_name.
50207
50208         * modules/rbtree-list-tests (Depends-on): Add progname.
50209         * tests/test-rbtree_list.c: Include progname.h.
50210         (main): Call set_program_name.
50211
50212         * modules/linked-list-tests (Depends-on): Add progname.
50213         * tests/test-linked_list.c: Include progname.h.
50214         (main): Call set_program_name.
50215
50216 2007-03-03  Bruno Haible  <bruno@clisp.org>
50217
50218         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
50219         All uses of __restrict changed to _Restrict_.
50220         * lib/glob_.h (__restrict): Remove macro.
50221
50222 2007-03-02  Bruno Haible  <bruno@clisp.org>
50223
50224         * modules/gettext (configure.ac): Require gettext infrastructure
50225         from version 0.16.1.
50226
50227 2007-03-02  Bruno Haible  <bruno@clisp.org>
50228
50229         * modules/linkedhash-list-tests (Depends-on): Add progname.
50230         * tests/test-linkedhash_list.c: Include progname.h.
50231         (main): Call set_program_name.
50232
50233         * modules/carray-list-tests (Depends-on): Add progname.
50234         * tests/test-carray_list.c: Include progname.h.
50235         (main): Call set_program_name.
50236
50237         * modules/avltreehash-list-tests (Depends-on): Add progname.
50238         * tests/test-avltreehash_list.c: Include progname.h.
50239         (main): Call set_program_name.
50240
50241         * modules/avltree-oset-tests (Depends-on): Add progname.
50242         * tests/test-avltree_oset.c: Include progname.h.
50243         (main): Call set_program_name.
50244
50245         * modules/avltree-list-tests (Depends-on): Add progname.
50246         * tests/test-avltree_list.c: Include progname.h.
50247         (main): Call set_program_name.
50248
50249         * modules/array-oset-tests (Depends-on): Add progname.
50250         * tests/test-array_oset.c: Include progname.h.
50251         (main): Call set_program_name.
50252
50253         * modules/array-list-tests (Depends-on): Add progname.
50254         * tests/test-array_list.c: Include progname.h.
50255         (main): Call set_program_name.
50256
50257         * modules/argp-tests (Depends-on): Add progname.
50258         * tests/test-argp.c: Include argp.h first. Include progname.h.
50259         (main): Call set_program_name.
50260
50261 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
50262
50263         * doc/gnulib-tool.texi (Initial import): Reword description of
50264         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
50265         limited effect even if defined after the first system include.
50266
50267 2007-03-01  Bruno Haible  <bruno@clisp.org>
50268
50269         * build-aux/config.libpath: Update to libtool-1.5.22.
50270         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50271
50272 2007-03-01  Bruno Haible  <bruno@clisp.org>
50273
50274         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
50275         foo_CFLAGS.
50276         Reported by Ralf Wildenhues.
50277
50278 2007-03-01  Bruno Haible  <bruno@clisp.org>
50279
50280         * build-aux/install-reloc: Remove object files left over by some
50281         compilers.
50282         Reported by Ralf Wildenhues.
50283
50284 2007-03-01  Bruno Haible  <bruno@clisp.org>
50285
50286         * build-aux/install-reloc: Break long lines.
50287
50288 2007-03-01  Bruno Haible  <bruno@clisp.org>
50289
50290         * doc/relocatable.texi: Document that it may not work on OpenBSD.
50291         Reported by Ralf Wildenhues.
50292
50293 2007-03-01  Bruno Haible  <bruno@clisp.org>
50294
50295         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
50296         include ordering constraints.
50297
50298 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
50299
50300         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
50301         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
50302         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
50303         as another example.
50304         * lib/time_.h: Fix misspelling.
50305         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50306         Require gl_HEADER_TIME_H_DEFAULTS.
50307         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
50308         * m4/time_r.m4 (gl_TIME_R): Likewise.
50309         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
50310
50311 2007-03-01  Bruno Haible  <bruno@clisp.org>
50312
50313         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
50314         * m4/utimens.m4 (gl_UTIMENS): Likewise.
50315
50316 2007-03-01  Jim Meyering  <jim@meyering.net>
50317
50318         * modules/xreadlink (Maintainer): Add my name.
50319         * modules/xreadlink-with-size (Depends-on): Alphabetize.
50320
50321 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
50322             Bruno Haible  <bruno@clisp.org>
50323
50324         * build-aux/install-reloc: Compile also c-ctype.c.
50325         * build-aux/relocatable.sh.in: New file.
50326         * doc/relocatable.texi: New file.
50327         * doc/relocatable-maint.texi: New file.
50328         * doc/gnulib.texi: Include relocatable-maint.texi.
50329         * lib/progreloc.c: Include unistd.h unconditionally.
50330         * lib/relocwrapper.c: Include unistd.h unconditionally.
50331         Include c-ctype.h.
50332         (add_dotbin): Use c_tolower.
50333         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
50334         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
50335         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
50336         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
50337         to m4/relocatable-lib.m4.
50338         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
50339         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
50340         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
50341         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
50342         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
50343         * modules/relocatable: New file.
50344         * modules/relocatable-lib: New file.
50345         * modules/relocatable-script: New file.
50346
50347 2007-02-28  Bruno Haible  <bruno@clisp.org>
50348
50349         Import --enable-relocatable infrastructure.
50350         * build-aux/config.libpath: New file, from GNU gettext.
50351         * build-aux/install-reloc: New file, from GNU gettext.
50352         * build-aux/reloc-ldflags: New file, from GNU gettext.
50353         * lib/relocatable.h: New file, from GNU gettext.
50354         * lib/relocatable.c: New file, from GNU gettext.
50355         * lib/relocwrapper.c: New file, from GNU gettext.
50356         * m4/relocatable.m4: New file, from GNU gettext.
50357
50358 2007-02-28  Bruno Haible  <bruno@clisp.org>
50359
50360         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
50361
50362         * modules/xreadlink: New file, from GNU gettext with modifications.
50363         * lib/xreadlink.c: New file, from GNU gettext.
50364         * lib/xreadlink.h: Add comments.
50365         (xreadlink): New declaration.
50366
50367         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
50368         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
50369         lib/xreadlink-with-size.c.
50370         (configure.ac): Remove gl_XREADLINK invocation.
50371         (Makefile.am): Augment lib_SOURCES.
50372         * m4/xreadlink.m4: Remove file.
50373         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
50374         (xreadlink_with_size): Renamed from xreadink.
50375         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
50376         * modules/canonicalize (Depends-on): Replace xreadlink with
50377         xreadlink-with-size.
50378         * lib/canonicalize.c (canonicalize_filename_mode): Update.
50379
50380 2007-02-25  Jim Meyering  <jim@meyering.net>
50381
50382         * build-aux/announce-gen: When complaining about excess arguments,
50383         list them.
50384
50385 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
50386
50387         * README: Document signed integer overflow situation more
50388         accurately.
50389
50390 2007-02-25  Bruno Haible  <bruno@clisp.org>
50391
50392         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
50393         'a' or 'A' conversion.
50394
50395 2007-02-25  Bruno Haible  <bruno@clisp.org>
50396
50397         * modules/filename: Renamed from modules/pathname.
50398         (Files): Replace lib/pathname.h with lib/filename.h. Replace
50399         lib/concatpath.c with lib/concat-filename.c.
50400         (Makefile.am): Update.
50401         (Include): Replace pathname.h with filename.h.
50402         * lib/filename.h: Renamed from lib/pathname.h.
50403         (concatenated_filename): Renamed from concatenated_pathname.
50404         * lib/concat-filename.c: Renamed from lib/concatpath.c.
50405         (concatenated_filename): Renamed from concatenated_pathname.
50406         * lib/findprog.c: Include filename.h instead of pathname.h.
50407         (find_in_path): Update.
50408         * lib/javacomp.c: Include filename.h instead of pathname.h.
50409         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
50410         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
50411         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
50412         is_oldgcj_14_13_usable, is_javac_usable): Update.
50413         * lib/javaexec.c: Include filename.h instead of pathname.h.
50414         (execute_java_class): Update.
50415         * modules/findprog: Update.
50416         * modules/javacomp: Update.
50417         * modules/javaexec: Update.
50418         * MODULES.html.sh (File system functions): Add 'filename', remove
50419         'pathname'.
50420
50421 2007-02-25  Bruno Haible  <bruno@clisp.org>
50422
50423         * modules/printf-frexpl-tests: New file.
50424         * tests/test-printf-frexpl.c: New file.
50425
50426         * modules/printf-frexpl: New file.
50427         * lib/printf-frexpl.h: New file.
50428         * lib/printf-frexpl.c: New file.
50429         * m4/printf-frexpl.m4: New file.
50430
50431 2007-02-25  Bruno Haible  <bruno@clisp.org>
50432
50433         * modules/printf-frexp-tests: New file.
50434         * tests/test-printf-frexp.c: New file.
50435
50436         * modules/printf-frexp: New file.
50437         * lib/printf-frexp.h: New file.
50438         * lib/printf-frexp.c: New file.
50439         * m4/printf-frexp.m4: New file.
50440
50441 2007-02-25  Bruno Haible  <bruno@clisp.org>
50442
50443         Assume automake >= 1.10 for the tests.
50444         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
50445         * modules/arctwo-tests: Likewise.
50446         * modules/argp-tests: Likewise.
50447         * modules/avltree-list-tests: Likewise.
50448         * modules/avltree-oset-tests: Likewise.
50449         * modules/avltreehash-list-tests: Likewise.
50450         * modules/carray-list-tests: Likewise.
50451         * modules/crc-tests: Likewise.
50452         * modules/des-tests: Likewise.
50453         * modules/gc-arcfour-tests: Likewise.
50454         * modules/gc-arctwo-tests: Likewise.
50455         * modules/gc-des-tests: Likewise.
50456         * modules/gc-hmac-md5-tests: Likewise.
50457         * modules/gc-hmac-sha1-tests: Likewise.
50458         * modules/gc-md2-tests: Likewise.
50459         * modules/gc-md4-tests: Likewise.
50460         * modules/gc-md5-tests: Likewise.
50461         * modules/gc-pbkdf2-sha1-tests: Likewise.
50462         * modules/gc-rijndael-tests: Likewise.
50463         * modules/gc-sha1-tests: Likewise.
50464         * modules/gc-tests: Likewise.
50465         * modules/getaddrinfo-tests: Likewise.
50466         * modules/hmac-md5-tests: Likewise.
50467         * modules/hmac-sha1-tests: Likewise.
50468         * modules/linked-list-tests: Likewise.
50469         * modules/linkedhash-list-tests: Likewise.
50470         * modules/lock-tests: Likewise.
50471         * modules/md2-tests: Likewise.
50472         * modules/md4-tests: Likewise.
50473         * modules/md5-tests: Likewise.
50474         * modules/rbtree-list-tests: Likewise.
50475         * modules/rbtree-oset-tests: Likewise.
50476         * modules/rbtreehash-list-tests: Likewise.
50477         * modules/read-file-tests: Likewise.
50478         * modules/rijndael-tests: Likewise.
50479         * modules/stdint-tests: Likewise.
50480         * modules/tls-tests: Likewise.
50481
50482 2007-02-24  Bruno Haible  <bruno@clisp.org>
50483
50484         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
50485         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
50486         function; instead check whether isnan with a double argument links.
50487         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
50488         function; instead check whether isnan with a 'long double' argument
50489         links.
50490         Reported by Eric Blake <ebb9@byu.net>.
50491
50492 2007-02-24  Bruno Haible  <bruno@clisp.org>
50493
50494         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
50495         defined.
50496         * lib/isnanl.c: Remove all code. Just include isnan.c.
50497         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
50498
50499 2007-02-25  Jim Meyering  <jim@meyering.net>
50500
50501         Avoid conflicting types for 'unsetenv' on FreeBSD.
50502         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
50503         conflicting with FreeBSD's (5.0 and 6.1) function declaration
50504         in stdlib.h.
50505
50506 2007-02-24  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/isnanl-nolibm-tests: New file.
50509         * tests/test-isnanl.c: New file.
50510
50511         * modules/isnanl-nolibm: New file.
50512         * lib/isnanl.h: New file.
50513         * lib/isnanl.c: New file.
50514         * m4/isnanl.m4: New file.
50515
50516 2007-02-24  Bruno Haible  <bruno@clisp.org>
50517
50518         * modules/isnan-nolibm-tests: New file.
50519         * tests/test-isnan.c: New file.
50520
50521         * modules/isnan-nolibm: New file.
50522         * lib/isnan.h: New file.
50523         * lib/isnan.c: New file.
50524         * m4/isnan.m4: New file.
50525
50526 2007-02-24  Bruno Haible  <bruno@clisp.org>
50527
50528         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
50529         assume that an exponent fits in 20 bits.
50530
50531 2007-02-24  Jim Meyering  <jim@meyering.net>
50532
50533         * m4/regex.m4: Update the description of the configure-time option,
50534         --without-included-regex, to state accurately what the defaults are,
50535         and perhaps to give people an idea why using this option is risky.
50536
50537 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
50538
50539         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
50540         loops on small arguments.  This attempts to avoid the problem
50541         Bruno Haible reported for AIX 4.3.2 in
50542         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
50543
50544 2007-02-23  Bruno Haible  <bruno@clisp.org>
50545
50546         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
50547         Needed for help2man.
50548
50549 2007-02-23  Karl Berry  <karl@gnu.org>
50550
50551         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
50552         exists, foo.h should be cvs-ignored, not committed.
50553
50554 2007-02-23  Eric Blake  <ebb9@byu.net>
50555
50556         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
50557         * lib/stat-time.h (includes): Likewise.
50558         * lib/utimecmp.c (includes): Likewise.
50559         * lib/utimens.h (includes): Likewise.
50560         * lib/getdate.y (includes): Also include "timespec.h" for use
50561         internal to the module.
50562         * modules/utimens (Depends-on): Revert yesterday's patch.
50563         * modules/nanosleep (Depends-on): Add missing dependency.
50564
50565 2007-02-22  Bruno Haible  <bruno@clisp.org>
50566
50567         * lib/glob.c: Don't include getlogin_r.h.
50568
50569 2007-02-22  Jim Meyering  <jim@meyering.net>
50570
50571         * modules/utimens (Depends-on): Add timespec, required for
50572         utimens.h's inclusion of timespec.h.
50573
50574 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50575
50576         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
50577         long unreadable paths in GNU/Linux.  Problem reported by Andreas
50578         Schwab in
50579         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
50580         I'll try to think of a better way to fix the Solaris problem.
50581
50582         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
50583         like glibc; on Solaris 10, it fails with errno == EINVAL.
50584         POSIX says the behavior is unspecified if the first argument is NULL,
50585         so play it safe and never pass NULL to the system getcwd.
50586
50587 2007-02-21  Jim Meyering  <jim@meyering.net>
50588
50589         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
50590         of gettimeofday.  It would conflict with the one now always
50591         provided via sys_time_.h.  Reported by Matthew Woehlke, as
50592         an IRIX 6.5 build failure.
50593
50594 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
50595
50596         Minor fixups to port to Solaris 10 with Sun C 5.8.
50597         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
50598         * modules/getcwd (Depends-on): Add dirfd.
50599         * lib/putenv.c (putenv): #undef it.
50600         (rpl_putenv): New decl.
50601         (malloc, free): Include <stdlib.h> rather than prototyping separately.
50602
50603 2007-02-20  Bruno Haible  <bruno@clisp.org>
50604
50605         * modules/stdio-tests: New file.
50606         * tests/test-stdio.c: New file.
50607
50608         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
50609         (Depends-on): Add stdio.
50610         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50611         (Include): Use <stdio.h> instead of vsnprintf.h.
50612         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50613         HAVE_DECL_VSNPRINTF.
50614         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
50615
50616         * modules/snprintf (Files): Remove lib/snprintf.h.
50617         (Depends-on): Add stdio.
50618         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
50619         (Include): Use <stdio.h> instead of snprintf.h.
50620         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
50621         HAVE_DECL_SNPRINTF.
50622         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
50623         * lib/getaddrinfo.c: Likewise.
50624
50625         * modules/stdio: New file.
50626         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
50627         * lib/snprintf.h: Remove file.
50628         * lib/vsnprintf.h: Remove file.
50629         * lib/.cppi-disable: Remove snprintf.h.
50630         * m4/stdio_h.m4: New file.
50631         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
50632
50633 2007-02-20  Jim Meyering  <jim@meyering.net>
50634
50635         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
50636         used by e.g., mingw.  From Bruno Haible.
50637
50638 2007-02-19  Bruno Haible  <bruno@clisp.org>
50639
50640         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
50641         warnings.
50642         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50643
50644 2007-02-19  Bruno Haible  <bruno@clisp.org>
50645
50646         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
50647         from mingw users.
50648
50649 2007-02-19  Bruno Haible  <bruno@clisp.org>
50650
50651         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
50652         warnings.
50653         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
50654
50655 2007-02-19  Jim Meyering  <jim@meyering.net>
50656
50657         Don't use FD after a successful "fdopendir (fd)".
50658         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
50659         Reset it by calling dirfd on the just-obtained DIR*.
50660
50661         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
50662         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
50663
50664 2007-02-18  Bruno Haible  <bruno@clisp.org>
50665
50666         * lib/readlink.c: Include <unistd.h>.
50667         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
50668         HAVE_READLINK.
50669         * modules/readlink (Depends-on): Add unistd.
50670         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50671         (Include): Add <unistd.h>.
50672
50673         * lib/getlogin_r.h: Remove file.
50674         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
50675         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
50676         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
50677         HAVE_DECL_GETLOGIN_R.
50678         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
50679         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50680         (Include): Use <unistd.h> instead of getlogin_r.h.
50681
50682         * lib/getcwd.h: Remove file.
50683         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
50684         * lib/xgetcwd.c: Likewise.
50685         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
50686         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
50687         * modules/getcwd (Files): Remove lib/getcwd.h.
50688         (Depends-on): Add unistd.
50689         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50690         (Include): Use <unistd.h> instad of getcwd.h.
50691
50692         * lib/ftruncate.c: Include <unistd.h> first.
50693         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
50694         Set HAVE_FTRUNCATE.
50695         * modules/ftruncate (Depends-on): Add unistd.
50696         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50697
50698         * lib/fchdir.c: Include <unistd.h> first.
50699         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
50700         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
50701         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
50702         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50703         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
50704
50705         * lib/dup2.c: Include <unistd.h> first.
50706         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
50707         HAVE_DUP2.
50708         * modules/dup2 (Depends-on): Add unistd.
50709         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50710
50711         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
50712         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
50713         REPLACE_CHOWN. Don't define chown as a macro here.
50714         * modules/chown (Depends-on): Add unistd.
50715         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
50716
50717         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
50718         Add definition for GL_LINK_WARNING.
50719         (chown, dup2): New declarations.
50720         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
50721         link warning.
50722         (ftruncate): New declaration.
50723         (getcwd): New declaration, taken from old getcwd.h.
50724         (getlogin_r): New declaration, taken from old getlogin_r.h.
50725         (readlink): New declaration.
50726         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
50727         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
50728         (gl_PREREQ_UNISTD): Remove macro.
50729         (gl_UNISTD_MODULE_INDICATOR): New macro.
50730         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
50731         many new variables. Don't set UNISTD_H.
50732         * modules/unistd (Description): Change.
50733         (Depends-on): Add link-warning.
50734         (configure.ac): Update.
50735         (Makefile.am): Create unistd.h always. Substitute many new variables
50736         into it.
50737
50738 2007-02-18  Bruno Haible  <bruno@clisp.org>
50739
50740         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
50741         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
50742         HAVE_GETSUBOPT.
50743         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
50744         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
50745         * lib/getsubopt.h: Remove file.
50746         * modules/getsubopt (Files): Remove lib/getsubopt.h.
50747         (Depends-on): Add stdlib.
50748         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50749         (Includes): Use <stdlib.h> instead of getsubopt.h.
50750         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
50751         Set HAVE_GETSUBOPT.
50752         * lib/getsubopt.c: Don't include getsubopt.h.
50753
50754 2007-02-18  Bruno Haible  <bruno@clisp.org>
50755
50756         * modules/fchdir (Depends-on): Add dup2.
50757
50758 2007-02-18  Bruno Haible  <bruno@clisp.org>
50759
50760         * lib/stdlib_.h: Handle glibc's special invocation convention
50761         specially.
50762
50763 2007-02-18  Bruno Haible  <bruno@clisp.org>
50764
50765         * modules/stdlib-tests: New file.
50766         * tests/test-stdlib.c: New file.
50767
50768         * modules/mkstemp (Files): Remove lib/mkstemp.h.
50769         (Depends-on): Add stdlib.
50770         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50771         (Includes): Use <stdlib.h> instead of mkstemp.h.
50772         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50773         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
50774         * lib/mkstemp.c: Don't include mkstemp.h.
50775         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
50776         * lib/stdlib--.h: Don't include mkstemp.h.
50777
50778         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
50779         (Depends-on): Add stdlib.
50780         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
50781         (Includes): Use <stdlib.h> instead of mkdtemp.h.
50782         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
50783         HAVE_MKDTEMP.
50784         * lib/mkdtemp.c: Don't include mkdtemp.h.
50785         * lib/clean-temp.c: Don't include mkdtemp.h.
50786
50787         * modules/exit (Files): Remove lib/exit.h.
50788         (Depends-on): Add stdlib.
50789         (Makefile.am): Remove lib_SOURCES.
50790         (Include): Use <stdlib.h> instead of exit.h.
50791         * lib/argmatch.c: Don't include exit.h.
50792         * lib/execute.c: Likewise.
50793         * lib/pagealign_alloc.c: Likewise.
50794         * lib/pipe.c: Likewise.
50795         * lib/wait-process.c: Likewise.
50796         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
50797         * lib/exitfail.c: Likewise.
50798         * lib/savewd.c: Likewise.
50799         * lib/xsetenv.c: Likewise.
50800
50801         * modules/stdlib: New file.
50802         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
50803         and extra comments about mkstemp().
50804         * lib/exit.h: Remove file.
50805         * lib/mkdtemp.h: Remove file.
50806         * lib/mkstemp.h: Remove file.
50807         * m4/stdlib_h.m4: New file.
50808         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
50809
50810 2007-02-18  Bruno Haible  <bruno@clisp.org>
50811
50812         * modules/math-tests: New file.
50813         * tests/test-math.c: New file.
50814
50815         * modules/math: New file.
50816         * modules/mathl (Files): Remove lib/mathl.h.
50817         (Depends-on): Add math.
50818         (Makefile.am): Don't mention mathl.h.
50819         (Include): Use <math.h> instead of mathl.h.
50820         * lib/math_.h: New file.
50821         * lib/mathl.h: Remove file.
50822         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
50823         mathl.h.
50824         * lib/asinl.c: Likewise.
50825         * lib/atanl.c: Likewise.
50826         * lib/ceill.c: Likewise.
50827         * lib/cosl.c: Likewise.
50828         * lib/expl.c: Likewise.
50829         * lib/floorl.c: Likewise.
50830         * lib/frexpl.c: Likewise.
50831         * lib/ldexpl.c: Likewise.
50832         * lib/logl.c: Likewise.
50833         * lib/sincosl.c: Likewise.
50834         * lib/sinl.c: Likewise.
50835         * lib/sqrtl.c: Likewise.
50836         * lib/tanl.c: Likewise.
50837         * lib/trigl.c: Likewise.
50838         * m4/math_h.m4: New file.
50839         * MODULES.html.sh (Mathematics): Add math.
50840
50841 2007-02-17  Bruno Haible  <bruno@clisp.org>
50842
50843         * modules/wctype-tests: New file.
50844         * tests/test-wctype.c: New file.
50845
50846         * modules/wchar-tests: New file.
50847         * tests/test-wchar.c: New file.
50848
50849         * modules/unistd-tests: New file.
50850         * tests/test-unistd.c: New file.
50851
50852         * modules/time-tests: New file.
50853         * tests/test-time.c: New file.
50854
50855         * modules/sysexits-tests: New file.
50856         * tests/test-sysexits.c: New file.
50857
50858         * modules/sys_time-tests: New file.
50859         * tests/test-sys_time.c: New file.
50860
50861         * modules/sys_stat-tests: New file.
50862         * tests/test-sys_stat.c: New file.
50863
50864         * modules/sys_socket-tests: New file.
50865         * tests/test-sys_socket.c: New file.
50866
50867         * modules/sys_select-tests: New file.
50868         * tests/test-sys_select.c: New file.
50869
50870         * modules/string-tests: New file.
50871         * tests/test-string.c: New file.
50872
50873         * modules/stdbool-tests: New file.
50874         * tests/test-stdbool.c: New file.
50875
50876         * modules/netinet_in-tests: New file.
50877         * tests/test-netinet_in.c: New file.
50878
50879         * modules/inttypes-tests: New file.
50880         * tests/test-inttypes.c: New file.
50881
50882         * modules/fcntl-tests: New file.
50883         * tests/test-fcntl.c: New file.
50884
50885         * modules/byteswap-tests: New file.
50886         * tests/test-byteswap.c: New file.
50887
50888         * modules/arpa_inet-tests: New file.
50889         * tests/test-arpa_inet.c: New file.
50890
50891 2007-02-17  Bruno Haible  <bruno@clisp.org>
50892
50893         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
50894         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
50895         if the corresponding module is not enabled. Emit link warnings if
50896         the function is used nevertheless.
50897         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
50898         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
50899         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
50900         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
50901         * modules/inttypes (Depends-on): Add link-warning.
50902         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50903         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
50904         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
50905         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
50906         * modules/imaxdiv (configure.ac): Likewise.
50907         * modules/strtoimax (configure.ac): Likewise.
50908         * modules/strtoumax (configure.ac): Likewise.
50909
50910 2007-02-17  Bruno Haible  <bruno@clisp.org>
50911
50912         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
50913         gl_STRING_MODULE_INDICATOR_DEFAULTS.
50914         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
50915         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
50916
50917 2007-02-17  Bruno Haible  <bruno@clisp.org>
50918
50919         * modules/link-warning: New file.
50920         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
50921         * lib/string_.h (GL_LINK_WARNING): Remove definition.
50922         * modules/string (Depends-on): Add link-warning.
50923         (Makefile.am): Copy the contents of build-aux/link-warning.h into
50924         string.h.
50925         * MODULES.html.sh (Support for building libraries and executables): Add
50926         link-warning.
50927
50928 2007-02-17  Bruno Haible  <bruno@clisp.org>
50929
50930         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
50931         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
50932         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
50933         long lines.
50934
50935 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
50936             Bruno Haible  <bruno@clisp.org>
50937
50938         * modules/tmpfile: New file.
50939         * lib/tmpfile.c: New file.
50940         * m4/tmpfile.m4: New file.
50941         * MODULES.html.sh (func_all_modules): New section "Input/output".
50942
50943 2007-02-15  Bruno Haible  <bruno@clisp.org>
50944
50945         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
50946         (supports_delete_on_close): New function.
50947         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
50948
50949 2007-02-14  Bruno Haible  <bruno@clisp.org>
50950
50951         * modules/mbspcasecmp-tests: New file.
50952         * tests/test-mbspcasecmp.sh: New file.
50953         * tests/test-mbspcasecmp.c: New file.
50954
50955         New module mbspcasecmp.
50956         * modules/mbspcasecmp: New file.
50957         * lib/mbspcasecmp.c: New file.
50958         * lib/string_.h (strncasecmp): Change warning message.
50959         (mbspcasecmp): New declaration.
50960         * m4/mbspcasecmp.m4: New file.
50961         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50962         GNULIB_MBSPCASECMP.
50963         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
50964         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
50965
50966 2007-02-14  Bruno Haible  <bruno@clisp.org>
50967
50968         * modules/mbsncasecmp-tests: New file.
50969         * tests/test-mbsncasecmp.sh: New file.
50970         * tests/test-mbsncasecmp.c: New file.
50971
50972         New module mbsncasecmp.
50973         * modules/mbsncasecmp: New file.
50974         * lib/mbsncasecmp.c: New file.
50975         * lib/string_.h (mbsncasecmp): New declaration.
50976         * m4/mbsncasecmp.m4: New file.
50977         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
50978         GNULIB_MBSNCASECMP.
50979         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
50980         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
50981
50982 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
50983
50984         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
50985         Verify that it doesn't overlap with our flags.
50986         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
50987         do not have the desired effect in multibyte locales; instead, use
50988         mbscasecmp.
50989         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
50990         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
50991         we don't require GNU fnmatch ourselves (if our users require it, they
50992         should do so explicitly).
50993
50994         Fix regex code so it doesn't rely on strcasecmp.
50995         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
50996         Otherwise, include gnulib's langinfo.h.
50997         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
50998         undesirable behavior in non-C locales.  Instead, rely on localecharset.
50999         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
51000         * modules/regex (FILES): Remove m4/codeset.m4.
51001         (Depends-on): Add localcharset.  Remove strcase.
51002
51003 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51004
51005         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
51006         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
51007
51008 2007-02-13  Bruno Haible  <bruno@clisp.org>
51009
51010         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
51011         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51012
51013 2007-02-12  Bruno Haible  <bruno@clisp.org>
51014
51015         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51016         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
51017         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
51018         time warning rather than a link error.
51019
51020 2007-02-12  Bruno Haible  <bruno@clisp.org>
51021
51022         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
51023         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
51024         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51025
51026 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51027
51028         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
51029         args, not 2.
51030
51031 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
51032
51033         New module 'time', so that apps can include <time.h> as per
51034         POSIX and GNU instead of separate include files like time_r.h
51035         and timegm.h.  This implementation tries out a simpler approach
51036         for replacing decls in standard include files (as compared to
51037         the string module), somewhat as an experiment.
51038
51039         * config/srclist.txt: Comment out mktime.c for now.
51040         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
51041         since it doesn't apply any more.  Use generic wording instead.
51042         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
51043         'time'.
51044         * lib/time_.h, m4/time_h.m4, modules/time: New files.
51045         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
51046         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
51047         Don't include <sys/types.h>; no longer needed since we assume C89.
51048         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
51049         * lib/strftime.c: Likewise.
51050         * lib/time_r.c: Likewise.
51051         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
51052         * lib/nanosleep.c: Include <time.h> first, to check interface.
51053         * lib/strptime.c: Likewise.
51054         * lib/time_r.c: Likewise.
51055         * lib/timegm.c: Likewise.
51056         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
51057         needed.
51058         * lib/timegm.c: Don't include timegm.h; no longer needed.
51059         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
51060         time.h now handles any problems in that area.
51061         (struct timespec, nanosleep): Remove; time.h now arranges for these.
51062         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
51063         that time.h defines struct timespec.
51064         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
51065         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
51066         handles that.
51067         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
51068         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
51069         needed.  Set REPLACE_LOCALTIME.
51070         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
51071         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
51072         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
51073         nanosleep; time_h.m4 now does that.  Don't require
51074         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
51075         module handles this now.
51076         * modules/getdate (Depends-on): Remove timespec.  Add time.
51077         * modules/nanosleep (Depends-on): Likewise.
51078         * modules/stat-time (Depends-on): Likewise.
51079         * modules/nanosleep (Include): Include time.h, not timespec.h.
51080         * modules/strptime (Files): Remove lib/strptime.h.
51081         (Depends-on): Add extensions, time.
51082         (Include): Include time.h, not strptime.h.
51083         * modules/time_r (Files): Remove lib/time_r.h.
51084         (Depends-on): Add time.
51085         (Include): Include time.h, not time_r.h.
51086         * modules/timegm: Likewise.
51087         * modules/timespec (Description): Now does timespec-related decls
51088         of our own, instead of struct timespec itself.
51089         (Depends-on): Add time; remove extensions.
51090         (Maintainer): Add self.
51091         * modules/utimecmp (Depends-on): Add time; remove timespec.
51092         * modules/utimens (Depends-on): Likewise.
51093         * modules/xnanosleep (Depends-on): Likewise.
51094
51095 2007-02-11  Bruno Haible  <bruno@clisp.org>
51096
51097         * lib/c-strstr.c: Include allocsa.h.
51098         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51099         * lib/c-strcasestr.c: Include allocsa.h.
51100         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51101         * lib/strcasestr.c: Include allocsa.h.
51102         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
51103         * lib/mbsstr.c: Include allocsa.h.
51104         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51105         allocsa/freesa instead of malloc/free.
51106         * lib/mbscasestr.c: Include allocsa.h.
51107         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
51108         allocsa/freesa instead of malloc/free.
51109         * modules/c-strstr (Depends-on): Add allocsa.
51110         * modules/c-strcasestr (Depends-on): Likewise.
51111         * modules/strcasestr (Depends-on): Likewise.
51112         * modules/mbsstr (Depends-on): Likewise.
51113         * modules/mbscasestr (Depends-on): Likewise.
51114
51115 2007-02-11  Bruno Haible  <bruno@clisp.org>
51116
51117         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
51118
51119         * modules/mbsspn-tests: New file.
51120         * tests/test-mbsspn.sh: New file.
51121         * tests/test-mbsspn.c: New file.
51122
51123 2007-02-11  Bruno Haible  <bruno@clisp.org>
51124
51125         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
51126
51127         * modules/mbspbrk-tests: New file.
51128         * tests/test-mbspbrk.sh: New file.
51129         * tests/test-mbspbrk.c: New file.
51130
51131 2007-02-11  Bruno Haible  <bruno@clisp.org>
51132
51133         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
51134         unneeded cast.
51135
51136         * modules/mbscspn-tests: New file.
51137         * tests/test-mbscspn.sh: New file.
51138         * tests/test-mbscspn.c: New file.
51139
51140 2007-02-11  Bruno Haible  <bruno@clisp.org>
51141
51142         * modules/mbscasecmp-tests: New file.
51143         * tests/test-mbscasecmp.sh: New file.
51144         * tests/test-mbscasecmp.c: New file.
51145
51146 2007-02-11  Bruno Haible  <bruno@clisp.org>
51147
51148         Ensure O(n) worst-case complexity of mbscasestr.
51149         * lib/mbscasestr.c: Include stdbool.h.
51150         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51151         functions.
51152         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
51153         the bookkeeping indicates that it's worth it.
51154         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
51155
51156         * modules/mbscasestr-tests: New file.
51157         * tests/test-mbscasestr1.c: New file.
51158         * tests/test-mbscasestr2.sh: New file.
51159         * tests/test-mbscasestr2.c: New file.
51160         * tests/test-mbscasestr3.sh: New file.
51161         * tests/test-mbscasestr3.c: New file.
51162         * tests/test-mbscasestr4.sh: New file.
51163         * tests/test-mbscasestr4.c: New file.
51164         * m4/locale-tr.m4: New file.
51165
51166 2007-02-11  Bruno Haible  <bruno@clisp.org>
51167
51168         Ensure O(n) worst-case complexity of mbsstr.
51169         * lib/mbsstr.c: Include stdbool.h.
51170         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
51171         functions.
51172         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
51173         bookkeeping indicates that it's worth it.
51174         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
51175
51176         * modules/mbsstr-tests: New file.
51177         * tests/test-mbsstr1.c: New file.
51178         * tests/test-mbsstr2.sh: New file.
51179         * tests/test-mbsstr2.c: New file.
51180         * tests/test-mbsstr3.sh: New file.
51181         * tests/test-mbsstr3.c: New file.
51182         * m4/locale-fr.m4: New file.
51183
51184 2007-02-11  Bruno Haible  <bruno@clisp.org>
51185
51186         * lib/mbsrchr.c (mbsrchr): Fix bug.
51187
51188         * modules/mbsrchr-tests: New file.
51189         * tests/test-mbsrchr.sh: New file.
51190         * tests/test-mbsrchr.c: New file.
51191
51192 2007-02-11  Bruno Haible  <bruno@clisp.org>
51193
51194         * lib/mbschr.c (mbschr): Fix bug.
51195
51196         * modules/mbschr-tests: New file.
51197         * tests/test-mbschr.sh: New file.
51198         * tests/test-mbschr.c: New file.
51199         * m4/locale-zh.m4: New file.
51200
51201 2007-02-11  Bruno Haible  <bruno@clisp.org>
51202
51203         Support for copying multibyte string iterators.
51204         * lib/mbiter.h: Include <string.h>.
51205         (mbiter_multi_copy): New function.
51206         (mbi_copy): New macro.
51207         * lib/mbuiter.h: Include <string.h>.
51208         (mbuiter_multi_copy): New function.
51209         (mbui_copy): New macro.
51210
51211 2007-02-11  Bruno Haible  <bruno@clisp.org>
51212
51213         New module mbslen.
51214         * modules/mbslen: New file.
51215         * lib/mbslen.c: New file.
51216         * lib/string_.h (mbslen): New declaration.
51217         * m4/mbslen.m4: New file.
51218         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51219         GNULIB_MBSLEN.
51220         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
51221         * MODULES.html.sh (Internationalization functions): Add mbslen.
51222
51223 2007-02-11  Bruno Haible  <bruno@clisp.org>
51224
51225         Ensure O(n) worst-case complexity of strcasestr substitute.
51226         * lib/strcasestr.c: Include stdbool.h.
51227         (knuth_morris_pratt): New function.
51228         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51229         bookkeeping indicates that it's worth it.
51230         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
51231
51232         * modules/strcasestr-tests: New file.
51233         * tests/test-strcasestr.c: New file.
51234
51235 2007-02-11  Bruno Haible  <bruno@clisp.org>
51236
51237         Ensure O(n) worst-case complexity of c_strcasestr.
51238         * lib/c-strcasestr.c: Include stdbool.h, string.h.
51239         (knuth_morris_pratt): New function.
51240         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
51241         the bookkeeping indicates that it's worth it.
51242         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
51243
51244         * modules/c-strcasestr-tests: New file.
51245         * tests/test-c-strcasestr.c: New file.
51246
51247 2007-02-11  Bruno Haible  <bruno@clisp.org>
51248
51249         Ensure O(n) worst-case complexity of c_strstr.
51250         * lib/c-strstr.c: Include stdbool.h, string.h.
51251         (knuth_morris_pratt): New function.
51252         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
51253         bookkeeping indicates that it's worth it.
51254         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
51255
51256         * lib/c-strstr.c: Complete rewrite for maintainability.
51257
51258         * modules/c-strstr-tests: New file.
51259         * tests/test-c-strstr.c: New file.
51260
51261 2007-02-11  Bruno Haible  <bruno@clisp.org>
51262
51263         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
51264         5.2.1 and earlier, whereby \055 was treated just like the range
51265         delimiter '-'.
51266         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51267
51268 2007-02-08  Bruno Haible  <bruno@clisp.org>
51269
51270         * modules/regex (Depends-on): Add stdbool.
51271         Reported by Dalibor Topic <robilad@kaffe.org>.
51272
51273 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
51274
51275         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
51276         Prefer returning from main to exiting from it.
51277         Remove unnecessary parens after sizeof.
51278
51279 2007-02-05  Bruno Haible  <bruno@clisp.org>
51280
51281         New module mbssep.
51282         * modules/mbssep: New file.
51283         * lib/mbssep.c: New file.
51284         * lib/string_.h (strsep): Add a conditional link warning.
51285         (mbssep): New declaration.
51286         * m4/mbssep.m4: New file.
51287         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51288         GNULIB_MBSSEP.
51289         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
51290         * MODULES.html.sh (Internationalization functions): Add mbssep.
51291
51292 2007-02-05  Bruno Haible  <bruno@clisp.org>
51293
51294         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
51295         Optimize search in case of 1 delimiter.
51296
51297 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51298
51299         * lib/acl.h: Include sys/types.h before sys/acl.h.
51300
51301 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
51302
51303         Merge upstream fix for glibc bugzilla #3957:
51304
51305         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
51306
51307         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
51308         bit for RE_HAT_LISTS_NOT_NEWLINE.
51309         (build_charclass_op): Remove bogus comment.
51310
51311 2007-02-05  Simon Josefsson  <simon@josefsson.org>
51312
51313         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
51314
51315 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51316
51317         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
51318         * lib/memmem.c [!defined _LIBC]: Include config.h.
51319
51320 2007-02-04  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
51323         warning message.
51324
51325 2007-02-04  Bruno Haible  <bruno@clisp.org>
51326
51327         New module mbstok_r.
51328         * modules/mbstok_r: New file.
51329         * lib/mbstok_r.c: New file.
51330         * lib/string_.h (strtok_r): Change argument names to match the
51331         comments. Add a conditional link warning.
51332         (mbstok_r): New declaration.
51333         * m4/mbstok_r.m4: New file.
51334         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51335         GNULIB_MBSTOK_R.
51336         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
51337         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
51338
51339 2007-02-04  Bruno Haible  <bruno@clisp.org>
51340
51341         New module mbsspn.
51342         * modules/mbsspn: New file.
51343         * lib/mbsspn.c: New file.
51344         * lib/string_.h (strspn): Add a conditional link warning.
51345         (mbsspn): New declaration.
51346         * m4/mbsspn.m4: New file.
51347         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51348         GNULIB_MBSSPN.
51349         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
51350         * MODULES.html.sh (Internationalization functions): Add mbsspn.
51351
51352 2007-02-04  Bruno Haible  <bruno@clisp.org>
51353
51354         New module mbspbrk.
51355         * modules/mbspbrk: New file.
51356         * lib/mbspbrk.c: New file.
51357         * lib/string_.h (strpbrk): Add a conditional link warning.
51358         (mbspbrk): New declaration.
51359         * m4/mbspbrk.m4: New file.
51360         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51361         GNULIB_MBSPBRK.
51362         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
51363         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
51364
51365 2007-02-04  Bruno Haible  <bruno@clisp.org>
51366
51367         New module mbscspn.
51368         * modules/mbscspn: New file.
51369         * lib/mbscspn.c: New file.
51370         * lib/string_.h (strcspn): Add a conditional link warning.
51371         (mbscspn): New declaration.
51372         * m4/mbscspn.m4: New file.
51373         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51374         GNULIB_MBSCSPN.
51375         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
51376         * MODULES.html.sh (Internationalization functions): Add mbscspn.
51377
51378 2007-02-04  Bruno Haible  <bruno@clisp.org>
51379
51380         New module mbscasestr, reduced goal of strcasestr.
51381         * modules/mbscasestr: New file.
51382         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
51383         (mbscasestr): Renamed from strcasestr.
51384         * lib/strcasestr.c: Don't include mbuiter.h.
51385         (strcasestr): Remove support for multibyte locales.
51386         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
51387         Change the conditional link warning.
51388         (mbscasestr): New declaration.
51389         * m4/mbscasestr.m4: New file.
51390         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
51391         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
51392         REPLACE_STRCASESTR.
51393         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
51394         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51395         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51396         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
51397         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
51398         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
51399         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
51400         (Depends-on): Remove mbuiter.
51401         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
51402
51403 2007-02-04  Bruno Haible  <bruno@clisp.org>
51404
51405         Simplify handling of strncasecmp.
51406         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
51407         the conditional link warning.
51408         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51409         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
51410         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
51411         * modules/strcase (configure.ac): Don't invoke
51412         gl_STRING_MODULE_INDICATOR.
51413         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
51414
51415 2007-02-04  Bruno Haible  <bruno@clisp.org>
51416
51417         New module mbscasecmp, reduced goal of strcasecmp.
51418         * modules/mbscasecmp: New file.
51419         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
51420         (mbscasecmp): Renamed from strcasecmp.
51421         * lib/strcasecmp.c: Don't include mbuiter.h.
51422         (strcasecmp): Remove support for multibyte locales.
51423         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
51424         Change the conditional link warning.
51425         (mbscasecmp): New declaration.
51426         * m4/mbscasecmp.m4: New file.
51427         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
51428         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
51429         REPLACE_STRCASECMP.
51430         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
51431         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51432         GNULIB_MBSCASECMP.
51433         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
51434         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
51435         * modules/strcase (Files): Remove m4/mbrtowc.m4.
51436         (Depends-on): Remove mbuiter.
51437         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
51438
51439 2007-02-04  Bruno Haible  <bruno@clisp.org>
51440
51441         New module mbsstr. Remove module strstr.
51442         * modules/mbsstr: New file.
51443         * modules/strstr: Remove file.
51444         * lib/mbsstr.c: Renamed from lib/strstr.c.
51445         (mbsstr): Renamed from strstr.
51446         * lib/string_.h (strstr): Remove declaration. Change the conditional
51447         link warning.
51448         (mbsstr): New declaration.
51449         * m4/mbsstr.m4: New file.
51450         * m4/strstr.m4: Remove file.
51451         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
51452         REPLACE_STRSTR.
51453         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
51454         Don't initialize GNULIB_STRSTR.
51455         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
51456         substitute GNULIB_STRSTR and REPLACE_STRSTR.
51457         * MODULES.html.sh (Internationalization functions): Add mbsstr.
51458         (Support for systems lacking ANSI C 89): Remove strstr.
51459
51460 2007-02-04  Bruno Haible  <bruno@clisp.org>
51461
51462         New module mbsrchr.
51463         * modules/mbsrchr: New file.
51464         * lib/mbsrchr.c: New file.
51465         * lib/string_.h (strrchr): Add a conditional link warning.
51466         (mbsrchr): New declaration.
51467         * m4/mbsrchr.m4: New file.
51468         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51469         GNULIB_MBSRCHR.
51470         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
51471         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
51472
51473 2007-02-04  Bruno Haible  <bruno@clisp.org>
51474
51475         New module mbschr.
51476         * modules/mbschr: New file.
51477         * lib/mbschr.c: New file.
51478         * lib/string_.h (strchr): Add a conditional link warning.
51479         (mbschr): New declaration.
51480         * m4/mbschr.m4: New file.
51481         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
51482         GNULIB_MBSCHR.
51483         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
51484         * MODULES.html.sh (Internationalization functions): Add mbschr.
51485
51486 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
51487
51488         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
51489
51490         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
51491
51492 2007-02-04  Bruno Haible  <bruno@clisp.org>
51493
51494         New module description section 'configure.ac-early'.
51495         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
51496         (func_get_autoconf_early_snippet): New function.
51497         (func_import, func_create_testdir): Use it. Remove special cases for
51498         modules 'extensions' and 'lock'.
51499         * modules/extensions (configure.ac-early): Require
51500         gl_USE_SYSTEM_EXTENSIONS.
51501         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
51502
51503 2007-02-04  Bruno Haible  <bruno@clisp.org>
51504
51505         Make use of gcj-4.3's -fsource and -ftarget option.
51506         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
51507         and if so try the options -fsource and -ftarget.
51508         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
51509         source_version, ftarget_option, target_version arguments.
51510         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
51511         (is_envjavac_oldgcj_14_14_usable): Renamed from
51512         is_envjavac_gcj_14_14_usable.
51513         (is_envjavac_oldgcj_14_13_usable): Renamed from
51514         is_envjavac_gcj_14_13_usable.
51515         (is_gcj_present): Update.
51516         (is_gcj_43, is_gcj43_usable): New functions.
51517         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
51518         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
51519         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
51520         try the options -fsource and -ftarget.
51521
51522 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
51523
51524         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
51525         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
51526         larger value.
51527
51528 2007-02-03  Jim Meyering  <jim@meyering.net>
51529
51530         Give tools a better chance to allocate space for very large buffers.
51531         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
51532
51533         Make pwd and readlink work also when run with an unreadable parent dir
51534         on systems with openat support.
51535         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
51536         provided getcwd function, even when we have openat support.
51537         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
51538
51539 2007-02-02  Bruno Haible  <bruno@clisp.org>
51540
51541         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
51542         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
51543         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
51544         portability problems if one of these functions is only used on specific
51545         platforms.
51546         Reported by Paul Eggert.
51547
51548 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
51549
51550         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
51551         is causing more trouble than it's curing.
51552         * lib/regex_internal.h (__mempcpy): Remove.
51553         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
51554         (and make the code a tad smaller to boot).
51555         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
51556
51557 2007-02-02  Jim Meyering  <jim@meyering.net>
51558
51559         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
51560         section, not in the Makefile.am: one.
51561
51562 2007-02-02  Eric Blake  <ebb9@byu.net>
51563
51564         * lib/strchrnul.c: Always include config.h first.
51565
51566         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
51567         gnulib strstr is not necessary here.
51568
51569 2007-02-02  Simon Josefsson  <simon@josefsson.org>
51570
51571         * m4/socklen.m4: Fix typo.
51572
51573 2007-02-02  Eric Blake  <ebb9@byu.net>
51574
51575         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
51576         * modules/netinet_in (Makefile.am): Likewise.
51577
51578 2007-02-01  Bruno Haible  <bruno@clisp.org>
51579
51580         * lib/string_.h (GL_LINK_WARNING): New macro.
51581         (strcasecmp, strstr, strcasestr): If provided by the system,
51582         conditionally define as a macro that leads to a warning instead of to
51583         an error.
51584         (strncasecmp): Conditionally define as a macro that leads to a warning.
51585
51586 2007-02-01  Karl Berry  <karl@gnu.org>
51587
51588         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
51589
51590 2007-02-01  Bruno Haible  <bruno@clisp.org>
51591
51592         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
51593         renamings.
51594
51595 2007-02-01  Eric Blake  <ebb9@byu.net>
51596
51597         * modules/regex (Depends-on): Revert dependence on mempcpy.
51598         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
51599         module's definition of mempcpy.
51600         Reported by Paul Eggert.
51601
51602 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
51603
51604         * lib/string_.h: If the gnulib module XYZ is not present, undefine
51605         the symbol XYZ before redefining it.  This fixes a problem with
51606         programs that don't use XYZ, when compiled on systems that define
51607         XYZ to something else.
51608
51609 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
51610
51611         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
51612         occurs when "mkdir -m foo" creates a setgid directory that is (1)
51613         writeable to group or other and (2) is intended to have a special
51614         mode bit that is set or cleared.  In such a case, the directory
51615         should be neither group- nor other-writeable until the special
51616         mode bits are right.
51617
51618 2007-01-31  Eric Blake  <ebb9@byu.net>
51619
51620         * modules/mountlist (Depends-on): Add strstr.
51621
51622         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
51623         bug.
51624         * modules/string (Makefile.am): Remove redundant replacement.
51625         * modules/regex (Depends-on): Add mempcpy.
51626
51627 2007-01-31  Bruno Haible  <bruno@clisp.org>
51628
51629         New module description field 'Link'.
51630         * gnulib-tool (func_usage): Document --extract-link-directive.
51631         (sed_extract_prog): Recognize 'Link' directive.
51632         (func_get_link_directive): New function.
51633         (func_import): Show summary of link directives.
51634         Handle --extract-link-directive option.
51635         * modules/acl (Link): New section.
51636         * modules/clock-time (Link): New section.
51637         * modules/euidaccess (Link): New section.
51638         * modules/gettext (Link): New section.
51639         * modules/iconv (Link): New section.
51640         * modules/lock (Link): New section.
51641         * modules/nanosleep (Link): New section.
51642         * modules/readline (Link): New section.
51643
51644 2007-01-27  Bruno Haible  <bruno@clisp.org>
51645
51646         Enforce the use of gnulib modules for unportable <string.h> functions.
51647         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
51648         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
51649         (gl_HEADER_STRING_H_BODY): Require it.
51650         * lib/string_.h: If the gnulib module XYZ is not present, redefine
51651         the symbol XYZ to one that gives a link error.
51652         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
51653         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
51654         * modules/mempcpy (configure.ac): Likewise.
51655         * modules/memrchr (configure.ac): Likewise.
51656         * modules/stpcpy (configure.ac): Likewise.
51657         * modules/stpncpy (configure.ac): Likewise.
51658         * modules/strcase (configure.ac): Likewise.
51659         * modules/strcasestr (configure.ac): Likewise.
51660         * modules/strchrnul (configure.ac): Likewise.
51661         * modules/strdup (configure.ac): Likewise.
51662         * modules/strndup (configure.ac): Likewise.
51663         * modules/strnlen (configure.ac): Likewise.
51664         * modules/strpbrk (configure.ac): Likewise.
51665         * modules/strsep (configure.ac): Likewise.
51666         * modules/strstr (configure.ac): Likewise.
51667         * modules/strtok_r (configure.ac): Likewise.
51668
51669 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
51670
51671         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
51672
51673 2007-01-30  Jim Meyering  <jim@meyering.net>
51674
51675         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
51676
51677 2007-01-29  Bruno Haible  <bruno@clisp.org>
51678
51679         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
51680         * lib/execute.c: Likewise.
51681         * lib/pipe.c: Likewise.
51682         * lib/printf-args.h: Likewise.
51683         * lib/printf-args.c: Likewise.
51684         * lib/printf-parse.c: Likewise.
51685         * lib/vasnprintf.c: Likewise.
51686
51687 2007-01-29  Eric Blake  <ebb9@byu.net>
51688
51689         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
51690         declaration.
51691
51692 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
51693
51694         * lib/strptime.h (strptime): Use 'restrict' for args where
51695         POSIX requires this.
51696         * lib/strptime.c (strptime): Likewise.
51697         Change license notice from LGPL to GPL, since gnulib-tool will
51698         change this as needed.
51699         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
51700         defined.
51701         Include "strptime.h" first, to check interface.
51702         Do not #undef _LIBC and _NL_CURRENT.
51703         Do not include <stdlib.h>; no longer needed.
51704         Include "time_r.h" and declare ptime_locale_status
51705         only if _LIBC is not defined.
51706         (__P): Remove unused macro.
51707         (match_string): Bring back glibc version, but use it only if _LIBC
51708         is defined.
51709         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
51710         Remove unnecessary assertion and abort() call.
51711         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
51712         * m4/strptime.m4: Fix serial number comment.
51713         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
51714         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
51715         (Depends-on): Add time_r.
51716
51717 2007-01-29  Bruno Haible  <bruno@clisp.org>
51718
51719         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51720         strptime.
51721         * modules/strptime (Depends-on): Add stdbool.
51722         * lib/strptime.h: Include <time.h> always. Add comments.
51723
51724 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
51725
51726         * modules/strptime: New file.
51727         * lib/strptime.h: New file.
51728         * lib/strptime.c: New file.
51729         * m4/strptime.m4: New file.
51730
51731 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
51732
51733         * MODULES.html.sh: New module mpsort.
51734         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
51735
51736         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
51737         a circularity problem with HP-UX ia64 reported by Bob Proulx in
51738         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
51739         All uses changed.
51740         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
51741         All uses changed.
51742         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
51743         to _Restrict_.
51744         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
51745         the parameter matches the prototype.
51746
51747 2007-01-28  Jim Meyering  <jim@meyering.net>
51748
51749         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
51750         sys/time.h here, reverting that part of the previous patch:
51751         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
51752
51753 2007-01-28  Bruno Haible  <bruno@clisp.org>
51754
51755         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
51756         value of $(SYS_TIME_H).
51757         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
51758         remove it conditionally, too. [added by Jim Meyering]
51759         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
51760         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
51761         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
51762         GETTIMEOFDAY_REPLACEMENT to 1.
51763
51764 2007-01-28  Bruno Haible  <bruno@clisp.org>
51765
51766         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
51767         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
51768         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
51769         Set UNISTD_H instead of UNISTD_H2.
51770         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
51771
51772 2007-01-28  Bruno Haible  <bruno@clisp.org>
51773
51774         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
51775         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
51776
51777 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51778
51779         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
51780         (func_create_testdir): Ensure C locale for `grep' and `tr'
51781         character ranges.
51782         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
51783         ACLOCAL_AMFLAGS parsing state machine.
51784
51785 2007-01-27  Bruno Haible  <bruno@clisp.org>
51786
51787         * modules/unistr/base: Update.
51788
51789 2007-01-27  Bruno Haible  <bruno@clisp.org>
51790
51791         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
51792         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
51793         * modules/unistr/u32-mbtouc-unsafe: Renamed from
51794         modules/unistr/u32-mbtouc.
51795         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
51796         * lib/unistr.h: Update.
51797         * lib/linebreak.c: Update.
51798         * modules/unistr/u32-mbtouc: Renamed from
51799         modules/unistr/u32-mbtouc-safe.
51800         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
51801         * lib/unistr.h: Update.
51802         * lib/unistr/u32-to-u8.c: Update.
51803         * lib/unistr/u32-to-u16.c: Update.
51804
51805 2007-01-27  Bruno Haible  <bruno@clisp.org>
51806
51807         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
51808         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
51809         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
51810         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
51811         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
51812         * modules/unistr/u16-mbtouc-unsafe: Renamed from
51813         modules/unistr/u16-mbtouc.
51814         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
51815         * lib/unistr.h: Update.
51816         * lib/linebreak.c: Update.
51817         * modules/linebreak: Update.
51818         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
51819         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
51820         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
51821         * modules/unistr/u16-mbtouc: Renamed from
51822         modules/unistr/u16-mbtouc-safe.
51823         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
51824         * lib/unistr.h: Update.
51825         * lib/unistr/u16-to-u8.c: Update.
51826         * modules/unistr/u16-to-u8: Update.
51827         * lib/unistr/u16-to-u32.c: Update.
51828         * modules/unistr/u16-to-u32: Update.
51829
51830 2007-01-27  Bruno Haible  <bruno@clisp.org>
51831
51832         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
51833         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
51834         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
51835         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
51836         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
51837         * modules/unistr/u8-mbtouc-unsafe: Renamed from
51838         modules/unistr/u8-mbtouc.
51839         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
51840         * lib/unistr.h: Update.
51841         * lib/striconveh.c: Update.
51842         * modules/striconveh: Update.
51843         * lib/linebreak.c: Update.
51844         * modules/linebreak: Update.
51845         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
51846         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
51847         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
51848         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
51849         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
51850         * lib/unistr.h: Update.
51851         * lib/striconveh.c: Update.
51852         * modules/striconveh: Update.
51853         * lib/unistr/u8-to-u16.c: Update.
51854         * modules/unistr/u8-to-u16: Update.
51855         * lib/unistr/u8-to-u32.c: Update.
51856         * modules/unistr/u8-to-u32: Update.
51857
51858 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51859
51860         Sync from Libtool.
51861         * lib/argz.c: Do not include strings.h nor memory.h, include
51862         string.h unconditionally.  Patch by Simon Josefsson.
51863
51864 2007-01-27  Bruno Haible  <bruno@clisp.org>
51865
51866         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
51867         from gl_HEADER_STRING_H_BODY.
51868         (gl_HEADER_STRING_H_BODY): Require it.
51869         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
51870         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
51871         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
51872         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
51873         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
51874         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
51875         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51876         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
51877         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
51878         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51879         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
51880         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
51881         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
51882         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51883         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
51884
51885 2007-01-27  Bruno Haible  <bruno@clisp.org>
51886
51887         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
51888         check_PROGRAMS into noinst_PROGRAMS.
51889         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
51890         check_PROGRAMS in this case.
51891         (func_import): Set for_test to false.
51892         (func_create_testdir): Set for_test to true.
51893
51894 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51895             Bruno Haible  <bruno@clisp.org>
51896
51897         * modules/strcasestr (Files): Remove lib/strcasestr.h.
51898         (Depends-on): Add string.
51899         (Includes): Use <string.h> instead of strcasestr.h.
51900         * modules/string (Makefile.am): Also substitute the value of
51901         REPLACE_STRCASESTR.
51902         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
51903         assume strcasestr is declared in <string.h> not <strings.h>. Also
51904         set REPLACE_STRCASESTR.
51905         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
51906         REPLACE_STRCASESTR.
51907         * lib/strcasestr.h: Remove file.
51908         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
51909         * lib/string_.h (strcasestr): New declaration.
51910
51911 2007-01-27  Bruno Haible  <bruno@clisp.org>
51912
51913         * lib/string_.h: Use 'extern'.
51914
51915 2007-01-27  Jim Meyering  <jim@meyering.net>
51916
51917         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
51918         of set-but-not-used local, "q".
51919
51920         * lib/mempcpy.c: Include <config.h> before <string.h>.
51921         This fixes a compilation error on HP-UX, due to the system's
51922         "restrict"-using mempcpy prototype.
51923
51924 2007-01-26  Bruno Haible  <bruno@clisp.org>
51925
51926         Small optimization.
51927         * lib/javacomp.c: Include c-strstr.h.
51928          (is_envjavac_gcj): Use c_strstr instead of strstr.
51929         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
51930
51931 2007-01-26  Bruno Haible  <bruno@clisp.org>
51932
51933         * MODULES.html.sh (Unicode string functions): Add the new modules.
51934
51935         * modules/uniconv/u32-strconv-to-locale: New file.
51936         * lib/uniconv/u32-strconv-to-locale.c: New file.
51937
51938         * modules/uniconv/u16-strconv-to-locale: New file.
51939         * lib/uniconv/u16-strconv-to-locale.c: New file.
51940
51941         * modules/uniconv/u8-strconv-to-locale: New file.
51942         * lib/uniconv/u8-strconv-to-locale.c: New file.
51943
51944         * modules/uniconv/u32-strconv-from-locale: New file.
51945         * lib/uniconv/u32-strconv-from-locale.c: New file.
51946
51947         * modules/uniconv/u16-strconv-from-locale: New file.
51948         * lib/uniconv/u16-strconv-from-locale.c: New file.
51949
51950         * modules/uniconv/u8-strconv-from-locale: New file.
51951         * lib/uniconv/u8-strconv-from-locale.c: New file.
51952
51953         * modules/uniconv/u32-strconv-to-enc: New file.
51954         * lib/uniconv/u32-strconv-to-enc.c: New file.
51955         * modules/uniconv/u32-strconv-to-enc-tests: New file.
51956         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
51957
51958         * modules/uniconv/u16-strconv-to-enc: New file.
51959         * lib/uniconv/u16-strconv-to-enc.c: New file.
51960         * lib/uniconv/u-strconv-to-enc.h: New file.
51961         * modules/uniconv/u16-strconv-to-enc-tests: New file.
51962         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
51963
51964         * modules/uniconv/u8-strconv-to-enc: New file.
51965         * lib/uniconv/u8-strconv-to-enc.c: New file.
51966         * modules/uniconv/u8-strconv-to-enc-tests: New file.
51967         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
51968
51969         * modules/uniconv/u32-strconv-from-enc: New file.
51970         * lib/uniconv/u32-strconv-from-enc.c: New file.
51971         * modules/uniconv/u32-strconv-from-enc-tests: New file.
51972         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
51973
51974         * modules/uniconv/u16-strconv-from-enc: New file.
51975         * lib/uniconv/u16-strconv-from-enc.c: New file.
51976         * modules/uniconv/u16-strconv-from-enc-tests: New file.
51977         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
51978
51979         * modules/uniconv/u8-strconv-from-enc: New file.
51980         * lib/uniconv/u8-strconv-from-enc.c: New file.
51981         * lib/uniconv/u-strconv-from-enc.h: New file.
51982         * modules/uniconv/u8-strconv-from-enc-tests: New file.
51983         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
51984
51985         * modules/uniconv/u32-conv-from-enc: New file.
51986         * lib/uniconv/u32-conv-from-enc.c: New file.
51987         * modules/uniconv/u32-conv-from-enc-tests: New file.
51988         * tests/uniconv/test-u32-conv-from-enc.c: New file.
51989
51990         * modules/uniconv/u16-conv-from-enc: New file.
51991         * lib/uniconv/u16-conv-from-enc.c: New file.
51992         * lib/uniconv/u-conv-from-enc.h: New file.
51993         * modules/uniconv/u16-conv-from-enc-tests: New file.
51994         * tests/uniconv/test-u16-conv-from-enc.c: New file.
51995
51996         * modules/uniconv/u8-conv-from-enc: New file.
51997         * lib/uniconv/u8-conv-from-enc.c: New file.
51998         * modules/uniconv/u8-conv-from-enc-tests: New file.
51999         * tests/uniconv/test-u8-conv-from-enc.c: New file.
52000
52001         * modules/uniconv/base: New file.
52002         * lib/uniconv.h: New file.
52003
52004 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52005
52006         * doc/gnulib-tool.texi (Initial import): Update to match current
52007         behavior with strdup module.
52008         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
52009         * lib/memmem.h: Remove; all uses removed.  This is now done
52010         by <string.h>.
52011         * lib/mempcpy.h: Likewise.
52012         * lib/memrchr.h: Likewise.
52013         * lib/stpcpy.h: Likewise.
52014         * lib/stpncpy.h: Likewise.
52015         * lib/strcase.h: Likewise.
52016         * lib/strchrnul.h: Likewise.
52017         * lib/strdup.h: Likewise.
52018         * lib/strndup.h: Likewise.
52019         * lib/strnlen.h: Likewise.
52020         * lib/strpbrk.h: Likewise.
52021         * lib/strsep.h: Likewise.
52022         * lib/strstr.h: Likewise.
52023         * lib/strtok_r.h: Likewise.
52024         * lib/string_.h: New file.
52025         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
52026         Rely on <string.h> instead.
52027         * lib/canon-host.c: Likewise.
52028         * lib/chdir-long.c: Likewise.
52029         * lib/concatpath.c: Likewise.
52030         * lib/exclude.c: Likewise.
52031         * lib/fchdir.c: Likewise.
52032         * lib/getaddrinfo.c: Likewise.
52033         * lib/getcwd.c: Likewise.
52034         * lib/getsubopt.c: Likewise.
52035         * lib/glob.c: Likewise.
52036         * lib/hard-locale.c: Likewise.
52037         * lib/iconvme.c: Likewise.
52038         * lib/javacomp.c: Likewise.
52039         * lib/mempcpy.c: Likewise.
52040         * lib/memrchr.c: Likewise.
52041         * lib/regex_internal.h: Likewise.
52042         * lib/stpncpy.c: Likewise.
52043         * lib/strcasecmp.c: Likewise.
52044         * lib/strchrnul.c: Likewise.
52045         * lib/strdup.c: Likewise.
52046         * lib/striconv.c: Likewise.
52047         * lib/striconveh.c: Likewise.
52048         * lib/striconveha.c: Likewise.
52049         * lib/strncasecmp.c: Likewise.
52050         * lib/strndup.c: Likewise.
52051         * lib/strnlen.c: Likewise.
52052         * lib/strsep.c: Likewise.
52053         * lib/strstr.c: Likewise.
52054         * lib/strtok_r.c: Likewise.
52055         * lib/userspec.c: Likewise.
52056         * lib/w32spawn.h: Likewise.
52057         * lib/xstrndup.c: Likewise.
52058         * lib/mountlist.c (strstr): Remove decl.
52059         * m4/string_h.m4: New file.
52060         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
52061         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
52062         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
52063         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
52064         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
52065         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
52066         Set REPLACE_STRCASECMP if necessary.
52067         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
52068         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
52069         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
52070         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
52071         HAVE_DECL_STRDUP if necessary.
52072         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
52073         since gl_FUNC_STRNDUP does that now.
52074         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
52075         Check for decl here...
52076         (gl_PREREQ_STRNLEN): ... not here.
52077         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
52078         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
52079         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
52080         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
52081         necessary.
52082         * modules/string: New file.
52083         * modules/memmem (Files): Remove special-purpose include file.
52084         (Depends-on): Add string.
52085         (Include): Include <string.h>, not the removed file.
52086         * modules/mempcpy: Likewise.
52087         * modules/memrchr: Likewise.
52088         * modules/stpcpy: Likewise.
52089         * modules/stpncpy: Likewise.
52090         * modules/strcase: Likewise.
52091         * modules/strchrnul: Likewise.
52092         * modules/strdup: Likewise.
52093         * modules/strndup: Likewise.
52094         * modules/strnlen: Likewise.
52095         * modules/strpbrk: Likewise.
52096         * modules/strsep: Likewise.
52097         * modules/strstr: Likewise.
52098         * modules/strtok_r: Likewise.
52099         * tests/test-dirname.c: Don't include "strdup.h", since
52100         <string.h> now suffices.
52101         * tests/test-memmem.c: Don't include "memmem.h", since
52102         <string.h> now suffices.
52103
52104 2007-01-25  Bruno Haible  <bruno@clisp.org>
52105
52106         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
52107         *resultp is 0.
52108
52109         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
52110         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
52111         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
52112         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
52113
52114         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
52115         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
52116         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
52117         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
52118         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
52119         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
52120
52121 2007-01-24  Bruno Haible  <bruno@clisp.org>
52122
52123         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
52124         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
52125         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
52126         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
52127         gl_FUNC_FTS_CORE.
52128         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
52129         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
52130         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
52131         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
52132         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
52133         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
52134         gl_FUNC_FCHOWNAT.
52135         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
52136         gl_FUNC_STRFTIME.
52137         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
52138         Reported by Ralf Wildenhues.
52139
52140 2007-01-24  Bruno Haible  <bruno@clisp.org>
52141
52142         Drop AC_REQUIRE calls that are redundant with the module dependencies.
52143         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
52144         gl_GETADDRINFO.
52145         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
52146         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
52147         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
52148
52149 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
52150
52151         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
52152         Don't use 'exit'; just return from 'main'.
52153         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
52154
52155         * lib/fnmatch_.h: Readjust white space and comments to match
52156         glibc, to avoid spurious diffs.
52157
52158 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52159
52160         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
52161         2004-12-01 change by Jakub Jelinek, since this code won't compile
52162         if !LIBC.  Problem reported by Bob Proulx.
52163
52164 2007-01-23  Bruno Haible  <bruno@clisp.org>
52165
52166         * lib/striconveh.c: Include c-strcaseeq.h.
52167         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
52168         * modules/striconveh (Depends-on): Add c-strcaseeq.
52169
52170 2007-01-23  Bruno Haible  <bruno@clisp.org>
52171
52172         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
52173
52174         * modules/c-strcaseeq: New file.
52175         * lib/c-strcaseeq.h: New file.
52176
52177         * modules/streq: New file.
52178         * lib/streq.h: New file.
52179
52180 2007-01-23  Bruno Haible  <bruno@clisp.org>
52181
52182         * modules/striconveha-tests: New file.
52183         * tests/test-striconveha.c: New file.
52184
52185         * lib/striconveha.h: Include <stdbool.h>.
52186         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
52187         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
52188         (mem_iconveha_notranslit): Renamed from mem_iconveha.
52189         (mem_iconveha): New function.
52190         (str_iconveha_notranslit): Renamed from str_iconveha.
52191         (str_iconveha): New function.
52192         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
52193         c-strcase.
52194
52195 2007-01-23  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
52198         encodings without forgiving before trying any encoding with handler.
52199         (str_iconveha): Try all encodings without forgiving before trying any
52200         encoding with handler.
52201
52202 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52203
52204         Import the following changes from libc.
52205
52206         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
52207
52208         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
52209
52210         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
52211
52212         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
52213         normal_bracket label.
52214
52215         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
52216
52217         [BZ #361]
52218         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
52219         to normal_bracket after fetching the next character.
52220
52221 2007-01-22  Bruno Haible  <bruno@clisp.org>
52222
52223         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
52224         argument.
52225         * lib/striconveh.c (iconv_carefully_1): New function.
52226         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
52227         argument.
52228         (str_cd_iconveh): Update.
52229         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
52230         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52231         * tests/test-striconveh.c (MAGIC): New macro.
52232         (new_offsets): New function.
52233         (main): Test call with and without offsets.
52234
52235 2007-01-22  Bruno Haible  <bruno@clisp.org>
52236
52237         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
52238         * modules/sys_select (Makefile.am): Likewise.
52239         * modules/sys_socket (Makefile.am): Likewise.
52240         * modules/sys_time (Makefile.am): Likewise.
52241
52242 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52243
52244         * modules/gettimeofday (License): Change from GPL to LGPL, since
52245         gettimeofday is a library function.
52246
52247 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52248
52249         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
52250
52251 2007-01-21  Bruno Haible  <bruno@clisp.org>
52252
52253         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
52254
52255 2007-01-21  Bruno Haible  <bruno@clisp.org>
52256
52257         * modules/striconveha: New file.
52258         * lib/striconveha.h: New file.
52259         * lib/striconveha.c: New file.
52260         * MODULES.html.sh (Internationalization functions): Add striconveha.
52261         * lib/striconv.c (str_iconv): Optimize the case of an empty input
52262         string.
52263         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
52264
52265 2007-01-21  Bruno Haible  <bruno@clisp.org>
52266
52267         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
52268         * lib/striconveh.c (str_iconveh): Likewise.
52269
52270 2007-01-21  Bruno Haible  <bruno@clisp.org>
52271
52272         * lib/striconveh.h (mem_iconveh): New declaration.
52273         * lib/striconveh.c (mem_iconveh): New function.
52274         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
52275
52276 2007-01-21  Bruno Haible  <bruno@clisp.org>
52277
52278         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
52279
52280         * lib/striconveh.h (mem_cd_iconveh): Change specification.
52281         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
52282         original result buffer.
52283         (str_cd_iconveh): Update.
52284         * tests/test-striconveh.c (main): Update.
52285
52286         * lib/striconv.h (mem_cd_iconv): Change specification.
52287         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
52288         result buffer.
52289         (str_cd_iconv): Update.
52290         * tests/test-striconv.c (main): Update.
52291
52292 2007-01-21  Bruno Haible  <bruno@clisp.org>
52293
52294         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
52295
52296 2007-01-20  Jim Meyering  <jim@meyering.net>
52297
52298         * lib/userspec.c (parse_with_separator): If a user or group string
52299         starts with "+", skip the corresponding name-to-ID look-up, since
52300         such a look-up must fail: user and group names may not include "+".
52301
52302 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
52303
52304         * lib/poll.c: Include sys/time.h and time.h unconditionally,
52305         since we now assume the sys_time module.
52306         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
52307         check for sys/time.h; no longer needed.
52308         * modules/poll (Depends-on): Depend on sys_time.
52309
52310 2007-01-18  Bruno Haible  <bruno@clisp.org>
52311
52312         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
52313         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52314
52315         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
52316         gettimeofday.
52317
52318         * tests/test-gettimeofday.c: Include <time.h>.
52319         (dummy): Remove variable.
52320
52321         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
52322         gl_HEADER_SYS_TIME_H.
52323         (gl_HEADER_SYS_TIME_H): New macro.
52324
52325         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
52326         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52327         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
52328         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
52329         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52330         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
52331         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
52332         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52333         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
52334         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
52335         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52336
52337         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
52338         last change; it caused a compilation error when cross-compiling to
52339         Cygwin.
52340
52341 2007-01-18  Jim Meyering  <jim@meyering.net>
52342
52343         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
52344         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
52345         than the race-prone "test -d sys || mkdir sys".
52346         (configure.ac): Use AC_PROG_MKDIR_P.
52347         * modules/sys_select: Likewise.
52348         * modules/sys_socket: Likewise.
52349         * modules/sys_time: Likewise.
52350
52351 2007-01-18  Eric Blake  <ebb9@byu.net>
52352
52353         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
52354         replace gettimeofday.
52355         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
52356         name, to avoid infinite recursion.
52357
52358 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
52359
52360         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
52361         module sys_time.
52362         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
52363         assume timespec.h defines struct timeval.
52364         * lib/settime.c: Likewise.
52365         * lib/utimens.c: Likewise.
52366         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
52367         since we now assume the gettimeofday module.
52368         * lib/tempname.c (__gen_tempname): Likewise.
52369         * lib/gettimeofday.h: Remove.
52370         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
52371         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
52372         Include <time.h>, for 'time()'.
52373         (localtime_buffer_addr): Also use this workaround if
52374         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
52375         to simplify the uses.  All uses changed.
52376         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
52377         that #undef is inside {}, and 'const' follows type name consistently.
52378         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
52379         (gettimeofday): Do not use the maximum possible value for
52380         tv->tv_usec, since that might break usages other than ls.c.
52381         Instead, we'll leave ls.c alone.  This undoes today's patch
52382         by Bruno.  Add a compile-time warning for 1s-clock resolution;
52383         we've never observed the problem but might as well keep the
52384         canary.
52385         * lib/nanosleep.c: Include timespec.h first, for interface check.
52386         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
52387         now assume the sys_time module.
52388         * lib/tempname.c: Likewise.
52389         * lib/timespec.h: Likewise.
52390         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
52391         needed.
52392         * lib/strftime.c: Likewise.
52393         * lib/timespec.h: Likewise.
52394         * lib/posixtm.c: Include posixtm.h first, for interface check.
52395         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
52396         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
52397         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
52398         * lib/sys_time_.h: New file.
52399         * lib/timespec.h (struct timespec): Use long int, not long.
52400         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
52401         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
52402         Remove obsolescent call to AC_HEADER_TIME.
52403         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
52404         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52405         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
52406         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
52407         Likewise.
52408         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
52409         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
52410         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
52411         into the sys_time module.  Check for gettimeofday just once.
52412         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
52413         for gettimeofday signature to just check the signature.  Merely
52414         compile it, since linking doesn't test signature.  Improve test for
52415         whether gettimeofday.o is actually needed.
52416         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
52417         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
52418         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
52419         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52420         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
52421         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
52422         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
52423         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
52424         than worrying about sys/time.h.
52425         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52426         Don't bother worrying about TIME_WITH_SYS_TIME.
52427         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
52428         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
52429         * m4/sys_time_h.m4: New file.
52430         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
52431         Don't include sys/time.h.  Return from main rather than exiting.
52432         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
52433         all uses changed.
52434         * modules/gethrxtime (Depends-on): Add sys_time.
52435         * modules/gettime (Depends-on): Likewise.
52436         * modules/gettimeofday (Depends-on): Likewise.
52437         * modules/nanosleep (Depends-on): Likewise.
52438         * modules/settime (Depends-on): Likewise.
52439         * modules/tempname (Depends-on): Likewise.
52440         * modules/utimens (Depends-on): Likewise.
52441         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
52442         (Include:) Change back to <sys/time.h>.
52443         (Maintainer:) Add self.
52444         * modules/sys_time: New file.
52445         * modules/tempname (Depends-on): Add gettimeofday.
52446         * tests/test-gettimeofday.c: Include <sys/time.h>
52447         rather than gettimeofday.h.
52448
52449 2007-01-17  Bruno Haible  <bruno@clisp.org>
52450
52451         * gnulib-tool (func_get_license): Revert last patch. Instead, let
52452         the license default to GPL.
52453         (func_create_testdir): Don't complain if a module is LGPL and its
52454         tests module depends on GPLed modules.
52455
52456 2007-01-17  Bruno Haible  <bruno@clisp.org>
52457
52458         * lib/gettimeofday.c (gettimeofday): Add code for the case
52459         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
52460         maximum possible value for tv->tv_usec, rather than the minimum one.
52461
52462 2005-10-08  Martin Lambers  <marlam@marlam.de>
52463 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
52464 2007-01-16  Bruno Haible  <bruno@clisp.org>
52465
52466         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
52467         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
52468         gl_FUNC_GETTIMEOFDAY.
52469         (Include): Add gettimeofday.h.
52470         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
52471         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
52472         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
52473         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
52474         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
52475         * lib/gettimeofday.h: New file.
52476         * lib/gettimeofday.c: Include <sys/timeb.h>.
52477         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
52478         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
52479         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
52480         fall back on time().
52481
52482         * tests/test-gettimeofday.c: New file.
52483         * modules/gettimeofday-tests: New file.
52484
52485 2007-01-16  Eric Blake  <ebb9@byu.net>
52486
52487         * modules/fnmatch (Depends-on): Depend on wchar.
52488         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
52489         * m4/fnmatch.m4: Likewise.
52490         * modules/mbchar (Makefile.am): Assume <wchar.h>.
52491         * m4/mbchar.m4: Likewise.
52492         * modules/mbswidth (Depends-on): Depend on wchar.
52493         * lib/mbswidth.c: Assume <wchar.h>.
52494         * m4/mbswidth.m4: Likewise.
52495         * modules/quotearg (Depends-on): Depend on wchar.
52496         * lib/quotearg.c: Assume <wchar.h>.
52497         * m4/quotearg.m4: Likewise.
52498         * modules/regex (Depends-on): Depend on wchar.
52499         * lib/regex_internal.h: Assume <wchar.h>.
52500         * m4/regex.m4: Likewise.
52501         * modules/stdint (Depends-on): Depend on wchar.
52502         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
52503         * m4/stdint.m4: Likewise.
52504         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
52505         * modules/strftime (Depends-on): Depend on wchar.
52506         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
52507         * modules/strtol (Depends-on): Depend on wchar.
52508         * lib/strtol.c: Assume <wchar.h>.
52509         * modules/wcwidth (Depends-on): Depend on wchar.
52510         * lib/wcwidth.h: Assume <wchar.h>.
52511         * m4/wcwidth.m4: Likewise.
52512
52513 2007-01-16  Bruno Haible  <bruno@clisp.org>
52514
52515         * modules/csharpexec-script: New, created from...
52516         * modules/csharpexec: ... this.
52517
52518 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
52519
52520         * modules/javaexec-script: New, created from...
52521         * modules/javaexec: ... this.
52522
52523 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52524
52525         * modules/poll (Dependencies): Add sys_select.
52526
52527 2007-01-15  Jim Meyering  <jim@meyering.net>
52528
52529         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
52530         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
52531         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
52532         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
52533
52534 2007-01-15  Bruno Haible  <bruno@clisp.org>
52535
52536         * modules/striconveh: New file.
52537         * lib/striconveh.h: New file.
52538         * lib/striconveh.c: New file.
52539         * MODULES.html.sh (Internationalization functions): Add striconveh.
52540
52541         * modules/striconveh-tests: New file.
52542         * tests/test-striconveh.c: New file.
52543
52544 2007-01-15  Bruno Haible  <bruno@clisp.org>
52545
52546         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
52547         not from GNU libiconv or GNU libc.
52548
52549 2007-01-15  Bruno Haible  <bruno@clisp.org>
52550
52551         * doc/gnulib-intro.texi (Copyright): Explain the different license
52552         terms for module descriptions, autoconf macros, tests, documentation.
52553
52554 2007-01-14  Bruno Haible  <bruno@clisp.org>
52555
52556         * modules/striconv-tests: New file.
52557         * tests/test-striconv.c: New file.
52558
52559 2007-01-14  Bruno Haible  <bruno@clisp.org>
52560
52561         * modules/iconv-tests: New file.
52562         * tests/test-iconv.c: New file.
52563
52564 2007-01-14  Bruno Haible  <bruno@clisp.org>
52565
52566         * gnulib-tool (func_get_license): For test modules, use the license of
52567         the main module.
52568
52569 2007-01-14  Bruno Haible  <bruno@clisp.org>
52570
52571         * modules/iconv (Include): Clarify that <iconv.h> can only be included
52572         if iconv is found to exist.
52573
52574 2007-01-14  Bruno Haible  <bruno@clisp.org>
52575
52576         * modules/c-ctype-tests: New file.
52577         * tests/test-c-ctype.c: New file.
52578
52579 2007-01-14  Bruno Haible  <bruno@clisp.org>
52580
52581         * modules/binary-io-tests: New file.
52582         * tests/test-binary-io.sh: New file.
52583         * tests/test-binary-io.c: New file.
52584
52585 2007-01-14  Bruno Haible  <bruno@clisp.org>
52586
52587         * modules/array-oset-tests: New file.
52588         * tests/test-array_oset.c: New file.
52589
52590 2007-01-14  Bruno Haible  <bruno@clisp.org>
52591
52592         * modules/array-list-tests: New file.
52593         * tests/test-array_list.c: New file.
52594
52595 2007-01-14  Bruno Haible  <bruno@clisp.org>
52596
52597         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
52598         and make.
52599         Reported by Simon Josefsson in
52600         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
52601
52602 2007-01-14  Bruno Haible  <bruno@clisp.org>
52603
52604         * modules/allocsa-tests: New file.
52605         * tests/test-allocsa.c: New file.
52606
52607 2007-01-14  Bruno Haible  <bruno@clisp.org>
52608
52609         * modules/fchdir (Depends-on): Add absolute-header.
52610         * modules/unistd (Depends-on): Likewise.
52611
52612 2006-12-30  Bruno Haible  <bruno@clisp.org>
52613
52614         * modules/fchdir: New file.
52615         * modules/unistd (Files): Add lib/unistd_.h.
52616         (Makefile.am): Generate unistd.h from unistd_.h.
52617         * lib/fchdir.c: New file.
52618         * lib/dirent_.h: New file.
52619         * lib/unistd_.h: New file.
52620         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
52621         * m4/fchdir.m4: New file.
52622         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
52623         (gl_HEADER_UNISTD): Invoke it.
52624         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
52625         function.
52626         * lib/backupfile.c (opendir, closedir): Undefine.
52627         * lib/chown.c (open, close): Undefine.
52628         * lib/clean-temp.c (open, close): Undefine.
52629         * lib/copy-file.c (open, close): Undefine.
52630         * lib/execute.c (open, close): Undefine.
52631         * lib/fsusage.c (open, close): Undefine.
52632         * lib/gc-gnulib.c (open, close): Undefine.
52633         * lib/getcwd.c (opendir, closedir): Undefine.
52634         * lib/glob.c (opendir, closedir): Undefine.
52635         * lib/javacomp.c (open, close): Undefine.
52636         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
52637         * lib/openat-proc.c (open, close): Undefine.
52638         * lib/pagealign_alloc.c (open, close): Undefine.
52639         * lib/pipe.c (open, close): Undefine.
52640         * lib/progreloc.c (open, close): Undefine.
52641         * lib/savedir.c (opendir, closedir): Undefine.
52642         * lib/utime.c (open, close): Undefine.
52643         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
52644
52645 2007-01-10  Bruno Haible  <bruno@clisp.org>
52646
52647         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
52648
52649 2007-01-12  Eric Blake  <ebb9@byu.net>
52650
52651         Provide a robust <wchar.h>.  Further simplifications are now
52652         possible in other modules, but not included here.
52653         * modules/wchar: New module.
52654         * m4/wchar.m4: New file.
52655         * lib/wchar_.h: Likewise.
52656         * modules/mbchar (Depends-on): Depend on wchar, as the first use
52657         of the new module.
52658         * MODULES.html.sh (Extended multibyte and wide character utilities):
52659         New section.
52660
52661 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
52662
52663         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
52664         to a reasonable default for memory allocation.
52665         (xreadlink): Don't allocate a huge buffer, to work around a buggy
52666         file system that reports garbage st_size values for symlinks.
52667         Problem reported by Liyang Hu.
52668
52669 2007-01-11  Simon Josefsson  <simon@josefsson.org>
52670
52671         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
52672         Emacs .#* auto-save files).
52673
52674 2007-01-11  Bruno Haible  <bruno@clisp.org>
52675
52676         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
52677         directory.
52678
52679 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52680
52681         Use @...@ consistently in lib/wctype_.h.
52682         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
52683         on it being set to 1 or 0.
52684         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
52685         go back to AC_SUBSTing it.
52686         * modules/wctype (Makefile.am): Undo previous change.
52687
52688 2007-01-10  Eric Blake  <ebb9@byu.net>
52689
52690         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
52691         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
52692         * modules/wctype (Makefile.am): Likewise.
52693         Reported by Chris McGuire.
52694
52695 2007-01-10  Jim Meyering  <jim@meyering.net>
52696
52697         fts.c: a small readability/maintainability improvement
52698         * lib/fts.c (fts_read): Make this code slightly more readable and
52699         maintainable by hoisting the "sp->fts_cur = p" assignments to
52700         immediately follow the statements that set P.  Derived from
52701         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
52702
52703 2007-01-10  Eric Blake  <ebb9@byu.net>
52704
52705         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
52706         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
52707         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52708         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52709         Reported by Chris McGuire.
52710
52711 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52712
52713         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
52714         in sed script.
52715
52716 2007-01-09  Bruno Haible  <bruno@clisp.org>
52717
52718         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
52719         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
52720         variables.
52721         (func_module): Use them.
52722
52723 2007-01-09  Bruno Haible  <bruno@clisp.org>
52724
52725         * modules/unistr/base: New file.
52726         * lib/unistr.h: New file.
52727
52728         * modules/unistr/u8-to-u16: New file.
52729         * lib/unistr/u8-to-u16.c: New file.
52730
52731         * modules/unistr/u8-to-u32: New file.
52732         * lib/unistr/u8-to-u32.c: New file.
52733
52734         * modules/unistr/u16-to-u8: New file.
52735         * lib/unistr/u16-to-u8.c: New file.
52736
52737         * modules/unistr/u16-to-u32: New file.
52738         * lib/unistr/u16-to-u32.c: New file.
52739
52740         * modules/unistr/u32-to-u8: New file.
52741         * lib/unistr/u32-to-u8.c: New file.
52742
52743         * modules/unistr/u32-to-u16: New file.
52744         * lib/unistr/u32-to-u16.c: New file.
52745
52746         * modules/unistr/u8-check: New file.
52747         * modules/unistr/u16-check: New file.
52748         * modules/unistr/u32-check: New file.
52749         * lib/unistr/u8-check.c: New file.
52750         * lib/unistr/u16-check.c: New file.
52751         * lib/unistr/u32-check.c: New file.
52752
52753         * modules/unistr/u8-chr: New file.
52754         * modules/unistr/u16-chr: New file.
52755         * modules/unistr/u32-chr: New file.
52756         * lib/unistr/u8-chr.c: New file.
52757         * lib/unistr/u16-chr.c: New file.
52758         * lib/unistr/u32-chr.c: New file.
52759
52760         * modules/unistr/u8-cmp: New file.
52761         * modules/unistr/u16-cmp: New file.
52762         * modules/unistr/u32-cmp: New file.
52763         * lib/unistr/u8-cmp.c: New file.
52764         * lib/unistr/u16-cmp.c: New file.
52765         * lib/unistr/u32-cmp.c: New file.
52766
52767         * modules/unistr/u8-cpy: New file.
52768         * modules/unistr/u16-cpy: New file.
52769         * modules/unistr/u32-cpy: New file.
52770         * lib/unistr/u8-cpy.c: New file.
52771         * lib/unistr/u16-cpy.c: New file.
52772         * lib/unistr/u32-cpy.c: New file.
52773         * lib/unistr/u-cpy.h: New file.
52774
52775         * modules/unistr/u8-cpy-alloc: New file.
52776         * modules/unistr/u16-cpy-alloc: New file.
52777         * modules/unistr/u32-cpy-alloc: New file.
52778         * lib/unistr/u8-cpy-alloc.c: New file.
52779         * lib/unistr/u16-cpy-alloc.c: New file.
52780         * lib/unistr/u32-cpy-alloc.c: New file.
52781         * lib/unistr/u-cpy-alloc.h: New file.
52782
52783         * modules/unistr/u8-endswith: New file.
52784         * modules/unistr/u16-endswith: New file.
52785         * modules/unistr/u32-endswith: New file.
52786         * lib/unistr/u8-endswith.c: New file.
52787         * lib/unistr/u16-endswith.c: New file.
52788         * lib/unistr/u32-endswith.c: New file.
52789         * lib/unistr/u-endswith.h: New file.
52790
52791         * modules/unistr/u8-mblen: New file.
52792         * modules/unistr/u16-mblen: New file.
52793         * modules/unistr/u32-mblen: New file.
52794         * lib/unistr/u8-mblen.c: New file.
52795         * lib/unistr/u16-mblen.c: New file.
52796         * lib/unistr/u32-mblen.c: New file.
52797
52798         * modules/unistr/u8-mbtouc: New file.
52799         * modules/unistr/u16-mbtouc: New file.
52800         * modules/unistr/u32-mbtouc: New file.
52801         * lib/unistr/u8-mbtouc.c: New file.
52802         * lib/unistr/u16-mbtouc.c: New file.
52803         * lib/unistr/u32-mbtouc.c: New file.
52804
52805         * modules/unistr/u8-mbtouc-safe: New file.
52806         * modules/unistr/u16-mbtouc-safe: New file.
52807         * modules/unistr/u32-mbtouc-safe: New file.
52808         * lib/unistr/u8-mbtouc-safe.c: New file.
52809         * lib/unistr/u16-mbtouc-safe.c: New file.
52810         * lib/unistr/u32-mbtouc-safe.c: New file.
52811
52812         * modules/unistr/u8-move: New file.
52813         * modules/unistr/u16-move: New file.
52814         * modules/unistr/u32-move: New file.
52815         * lib/unistr/u8-move.c: New file.
52816         * lib/unistr/u16-move.c: New file.
52817         * lib/unistr/u32-move.c: New file.
52818         * lib/unistr/u-move.h: New file.
52819
52820         * modules/unistr/u8-next: New file.
52821         * modules/unistr/u16-next: New file.
52822         * modules/unistr/u32-next: New file.
52823         * lib/unistr/u8-next.c: New file.
52824         * lib/unistr/u16-next.c: New file.
52825         * lib/unistr/u32-next.c: New file.
52826
52827         * modules/unistr/u8-prev: New file.
52828         * modules/unistr/u16-prev: New file.
52829         * modules/unistr/u32-prev: New file.
52830         * lib/unistr/u8-prev.c: New file.
52831         * lib/unistr/u16-prev.c: New file.
52832         * lib/unistr/u32-prev.c: New file.
52833
52834         * modules/unistr/u8-set: New file.
52835         * modules/unistr/u16-set: New file.
52836         * modules/unistr/u32-set: New file.
52837         * lib/unistr/u8-set.c: New file.
52838         * lib/unistr/u16-set.c: New file.
52839         * lib/unistr/u32-set.c: New file.
52840         * lib/unistr/u-set.h: New file.
52841
52842         * modules/unistr/u8-startswith: New file.
52843         * modules/unistr/u16-startswith: New file.
52844         * modules/unistr/u32-startswith: New file.
52845         * lib/unistr/u8-startswith.c: New file.
52846         * lib/unistr/u16-startswith.c: New file.
52847         * lib/unistr/u32-startswith.c: New file.
52848         * lib/unistr/u-startswith.h: New file.
52849
52850         * modules/unistr/u8-stpcpy: New file.
52851         * modules/unistr/u16-stpcpy: New file.
52852         * modules/unistr/u32-stpcpy: New file.
52853         * lib/unistr/u8-stpcpy.c: New file.
52854         * lib/unistr/u16-stpcpy.c: New file.
52855         * lib/unistr/u32-stpcpy.c: New file.
52856         * lib/unistr/u-stpcpy.h: New file.
52857
52858         * modules/unistr/u8-stpncpy: New file.
52859         * modules/unistr/u16-stpncpy: New file.
52860         * modules/unistr/u32-stpncpy: New file.
52861         * lib/unistr/u8-stpncpy.c: New file.
52862         * lib/unistr/u16-stpncpy.c: New file.
52863         * lib/unistr/u32-stpncpy.c: New file.
52864         * lib/unistr/u-stpncpy.h: New file.
52865
52866         * modules/unistr/u8-strcat: New file.
52867         * modules/unistr/u16-strcat: New file.
52868         * modules/unistr/u32-strcat: New file.
52869         * lib/unistr/u8-strcat.c: New file.
52870         * lib/unistr/u16-strcat.c: New file.
52871         * lib/unistr/u32-strcat.c: New file.
52872         * lib/unistr/u-strcat.h: New file.
52873
52874         * modules/unistr/u8-strchr: New file.
52875         * modules/unistr/u16-strchr: New file.
52876         * modules/unistr/u32-strchr: New file.
52877         * lib/unistr/u8-strchr.c: New file.
52878         * lib/unistr/u16-strchr.c: New file.
52879         * lib/unistr/u32-strchr.c: New file.
52880
52881         * modules/unistr/u8-strcmp: New file.
52882         * modules/unistr/u16-strcmp: New file.
52883         * modules/unistr/u32-strcmp: New file.
52884         * lib/unistr/u8-strcmp.c: New file.
52885         * lib/unistr/u16-strcmp.c: New file.
52886         * lib/unistr/u32-strcmp.c: New file.
52887
52888         * modules/unistr/u8-strcpy: New file.
52889         * modules/unistr/u16-strcpy: New file.
52890         * modules/unistr/u32-strcpy: New file.
52891         * lib/unistr/u8-strcpy.c: New file.
52892         * lib/unistr/u16-strcpy.c: New file.
52893         * lib/unistr/u32-strcpy.c: New file.
52894         * lib/unistr/u-strcpy.h: New file.
52895
52896         * modules/unistr/u8-strcspn: New file.
52897         * modules/unistr/u16-strcspn: New file.
52898         * modules/unistr/u32-strcspn: New file.
52899         * lib/unistr/u8-strcspn.c: New file.
52900         * lib/unistr/u16-strcspn.c: New file.
52901         * lib/unistr/u32-strcspn.c: New file.
52902         * lib/unistr/u-strcspn.h: New file.
52903
52904         * modules/unistr/u8-strdup: New file.
52905         * modules/unistr/u16-strdup: New file.
52906         * modules/unistr/u32-strdup: New file.
52907         * lib/unistr/u8-strdup.c: New file.
52908         * lib/unistr/u16-strdup.c: New file.
52909         * lib/unistr/u32-strdup.c: New file.
52910         * lib/unistr/u-strdup.h: New file.
52911
52912         * modules/unistr/u8-strlen: New file.
52913         * modules/unistr/u16-strlen: New file.
52914         * modules/unistr/u32-strlen: New file.
52915         * lib/unistr/u8-strlen.c: New file.
52916         * lib/unistr/u16-strlen.c: New file.
52917         * lib/unistr/u32-strlen.c: New file.
52918         * lib/unistr/u-strlen.h: New file.
52919
52920         * modules/unistr/u8-strmblen: New file.
52921         * modules/unistr/u16-strmblen: New file.
52922         * modules/unistr/u32-strmblen: New file.
52923         * lib/unistr/u8-strmblen.c: New file.
52924         * lib/unistr/u16-strmblen.c: New file.
52925         * lib/unistr/u32-strmblen.c: New file.
52926
52927         * modules/unistr/u8-strmbtouc: New file.
52928         * modules/unistr/u16-strmbtouc: New file.
52929         * modules/unistr/u32-strmbtouc: New file.
52930         * lib/unistr/u8-strmbtouc.c: New file.
52931         * lib/unistr/u16-strmbtouc.c: New file.
52932         * lib/unistr/u32-strmbtouc.c: New file.
52933
52934         * modules/unistr/u8-strncat: New file.
52935         * modules/unistr/u16-strncat: New file.
52936         * modules/unistr/u32-strncat: New file.
52937         * lib/unistr/u8-strncat.c: New file.
52938         * lib/unistr/u16-strncat.c: New file.
52939         * lib/unistr/u32-strncat.c: New file.
52940         * lib/unistr/u-strncat.h: New file.
52941
52942         * modules/unistr/u8-strncmp: New file.
52943         * modules/unistr/u16-strncmp: New file.
52944         * modules/unistr/u32-strncmp: New file.
52945         * lib/unistr/u8-strncmp.c: New file.
52946         * lib/unistr/u16-strncmp.c: New file.
52947         * lib/unistr/u32-strncmp.c: New file.
52948
52949         * modules/unistr/u8-strncpy: New file.
52950         * modules/unistr/u16-strncpy: New file.
52951         * modules/unistr/u32-strncpy: New file.
52952         * lib/unistr/u8-strncpy.c: New file.
52953         * lib/unistr/u16-strncpy.c: New file.
52954         * lib/unistr/u32-strncpy.c: New file.
52955         * lib/unistr/u-strncpy.h: New file.
52956
52957         * modules/unistr/u8-strnlen: New file.
52958         * modules/unistr/u16-strnlen: New file.
52959         * modules/unistr/u32-strnlen: New file.
52960         * lib/unistr/u8-strnlen.c: New file.
52961         * lib/unistr/u16-strnlen.c: New file.
52962         * lib/unistr/u32-strnlen.c: New file.
52963         * lib/unistr/u-strnlen.h: New file.
52964
52965         * modules/unistr/u8-strpbrk: New file.
52966         * modules/unistr/u16-strpbrk: New file.
52967         * modules/unistr/u32-strpbrk: New file.
52968         * lib/unistr/u8-strpbrk.c: New file.
52969         * lib/unistr/u16-strpbrk.c: New file.
52970         * lib/unistr/u32-strpbrk.c: New file.
52971         * lib/unistr/u-strpbrk.h: New file.
52972
52973         * modules/unistr/u8-strrchr: New file.
52974         * modules/unistr/u16-strrchr: New file.
52975         * modules/unistr/u32-strrchr: New file.
52976         * lib/unistr/u8-strrchr.c: New file.
52977         * lib/unistr/u16-strrchr.c: New file.
52978         * lib/unistr/u32-strrchr.c: New file.
52979
52980         * modules/unistr/u8-strspn: New file.
52981         * modules/unistr/u16-strspn: New file.
52982         * modules/unistr/u32-strspn: New file.
52983         * lib/unistr/u8-strspn.c: New file.
52984         * lib/unistr/u16-strspn.c: New file.
52985         * lib/unistr/u32-strspn.c: New file.
52986         * lib/unistr/u-strspn.h: New file.
52987
52988         * modules/unistr/u8-strstr: New file.
52989         * modules/unistr/u16-strstr: New file.
52990         * modules/unistr/u32-strstr: New file.
52991         * lib/unistr/u8-strstr.c: New file.
52992         * lib/unistr/u16-strstr.c: New file.
52993         * lib/unistr/u32-strstr.c: New file.
52994         * lib/unistr/u-strstr.h: New file.
52995
52996         * modules/unistr/u8-strtok: New file.
52997         * modules/unistr/u16-strtok: New file.
52998         * modules/unistr/u32-strtok: New file.
52999         * lib/unistr/u8-strtok.c: New file.
53000         * lib/unistr/u16-strtok.c: New file.
53001         * lib/unistr/u32-strtok.c: New file.
53002         * lib/unistr/u-strtok.h: New file.
53003
53004         * modules/unistr/u8-uctomb: New file.
53005         * modules/unistr/u16-uctomb: New file.
53006         * modules/unistr/u32-uctomb: New file.
53007         * lib/unistr/u8-uctomb.c: New file.
53008         * lib/unistr/u16-uctomb.c: New file.
53009         * lib/unistr/u32-uctomb.c: New file.
53010
53011         * MODULES.html.sh (Unicode string functions): Add the new modules.
53012
53013 2007-01-08  Bruno Haible  <bruno@clisp.org>
53014
53015         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
53016         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
53017         subdirectories.
53018
53019 2007-01-08  Karl Berry  <karl@gnu.org>
53020
53021         * doc/error.texi: mention that main() fns must set program_name
53022         when progname is used.
53023
53024 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
53025
53026         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
53027         WCTYPE_H is empty, for the benefit of builds from non-distclean
53028         directories.  Problem reported by Eric Blake in
53029         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
53030
53031 2007-01-08  Bruno Haible  <bruno@clisp.org>
53032
53033         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
53034         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
53035         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
53036         PROVIDE_CANONICALIZE_FILENAME_MODE.
53037         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
53038
53039 2007-01-08  Bruno Haible  <bruno@clisp.org>
53040
53041         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
53042         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
53043         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
53044         * lib/fts.c: Likewise.
53045         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
53046
53047 2006-12-25  Bruno Haible  <bruno@clisp.org>
53048
53049         * modules/utf8-ucs4-safe: New file.
53050         * lib/utf8-ucs4-safe.h: New file.
53051         * lib/unistr/utf8-ucs4-safe.c: New file.
53052
53053         * modules/utf16-ucs4-safe: New file.
53054         * lib/utf16-ucs4-safe.h: New file.
53055         * lib/unistr/utf16-ucs4-safe.c: New file.
53056
53057         * MODULES.html.sh (Unicode string functions): Add the new modules.
53058
53059 2007-01-08  Bruno Haible  <bruno@clisp.org>
53060
53061         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
53062         (Depends-on): Add unitypes.
53063         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53064         (u8_mbtouc_aux): Move out to separate file.
53065         (u8_mbtouc): Use ucs4_t, uint8_t types.
53066         * lib/unistr/utf8-ucs4.c: New file.
53067
53068         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
53069         (Depends-on): Add unitypes.
53070         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
53071         (u16_mbtouc_aux): Move out to separate file.
53072         (u16_mbtouc): Use ucs4_t, uint16_t types.
53073         * lib/unistr/utf16-ucs4.c: New file.
53074
53075         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
53076         (Depends-on): Add unitypes.
53077         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
53078         (u8_uctomb_aux): Move out to separate file.
53079         (u8_uctomb): Use ucs4_t, uint8_t types.
53080         * lib/unistr/ucs4-utf8.c: New file.
53081
53082         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
53083         (Depends-on): Add unitypes.
53084         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
53085         (u16_uctomb_aux): Move out to separate file.
53086         (u16_uctomb): Use ucs4_t, uint16_t types.
53087         * lib/unistr/ucs4-utf16.c: New file.
53088
53089 2006-12-25  Bruno Haible  <bruno@clisp.org>
53090
53091         * modules/unitypes: New file.
53092         * lib/unitypes.h: New file.
53093         * MODULES.html.sh (func_all_modules): New section "Unicode string
53094         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
53095         this section. Add unitypes.
53096
53097 2007-01-08  Bruno Haible  <bruno@clisp.org>
53098
53099         Avoid variable names that conflict with those from libtool.
53100         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
53101         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
53102         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
53103         library_names_spec to acl_library_names_spec, hardcode_* to
53104         acl_hardcode_*.
53105         Reported by Ralf Wildenhues.
53106
53107 2007-01-08  Bruno Haible  <bruno@clisp.org>
53108
53109         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
53110         definition.
53111         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
53112         definition.
53113         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
53114         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
53115         definition.
53116         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
53117         definition.
53118         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
53119         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
53120         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
53121         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
53122         definition.
53123         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
53124         definition.
53125         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
53126         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
53127         GC_USE_<algorithm>.
53128         * lib/gc-libgcrypt.c: Likewise.
53129         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
53130         * modules/gc-arctwo (configure.ac): Likewise.
53131         * modules/gc-des (configure.ac): Likewise.
53132         * modules/gc-hmac-md5 (configure.ac): Likewise.
53133         * modules/gc-hmac-sha1 (configure.ac): Likewise.
53134         * modules/gc-md2 (configure.ac): Likewise.
53135         * modules/gc-md4 (configure.ac): Likewise.
53136         * modules/gc-md5 (configure.ac): Likewise.
53137         * modules/gc-random (configure.ac): Likewise.
53138         * modules/gc-rijndael (configure.ac): Likewise.
53139         * modules/gc-sha1 (configure.ac): Likewise.
53140
53141 2007-01-08  Bruno Haible  <bruno@clisp.org>
53142
53143         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
53144         macro definition.
53145         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
53146         definition.
53147         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
53148         definition.
53149         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
53150         * modules/fcntl-safer (configure.ac): Likewise.
53151         * modules/fopen-safer (configure.ac): Likewise.
53152         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
53153         GNULIB_FWRITEERROR macro definition.
53154
53155 2007-01-08  Bruno Haible  <bruno@clisp.org>
53156
53157         * m4/gnulib-common.m4: New file.
53158         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
53159         (func_get_filelist): Add m4/gnulib-common.m4.
53160
53161 2007-01-08  Bruno Haible  <bruno@clisp.org>
53162
53163         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
53164         command.
53165
53166 2007-01-08  Jim Meyering  <jim@meyering.net>
53167
53168         Use a more robust test for a "can't happen" condition.
53169         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
53170         narrowed the st_size value.  Presuming the "can't happen" condition
53171         is true, that narrowing could conceivably convert an invalid st_size
53172         value into a valid one.  Instead, use a change based on Matthew
53173         Woehlke's original patch.
53174
53175         Slight readability improvement: use an assert-like macro
53176         in place of literal "abort ()" uses.
53177         * lib/fts.c (fts_assert): Define.
53178         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
53179         Use this macro instead of a bare 'abort'.
53180
53181 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
53182
53183         Don't worry about using IRIX 5.3's wctype.h broken definitions;
53184         simply work around them.
53185         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
53186         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
53187         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
53188         declaring.
53189         Don't bother to define as macros, since the standard doesn't require it.
53190         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
53191         longer worry about IRIX 5.3.
53192         (HAVE_WCTYPE_CTMP_BUG): Remove.
53193
53194 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
53195
53196         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
53197         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
53198         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53199         Problems reported by Georg Schwarz for IRIX 5.3.
53200
53201         * gnulib-tool (autoconf_minversion): Take the maximum version number
53202         found, not the minimum.  Problem reported by James Youngman.
53203
53204 2007-01-03  Karl Berry  <karl@gnu.org>
53205
53206         * doc/error.texi: new file, explaining interaction with progname.
53207         * doc/gnulib.texi: include it.  Update copyright.
53208
53209 2007-01-03  Simon Josefsson  <simon@josefsson.org>
53210
53211         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
53212         AC_CANONICAL_HOST, to improve autobuild outputs.
53213
53214 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
53215             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53216
53217         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
53218         sockets, server sockets, and other file descriptors.  Count errors
53219         to compute the return value.  Reorder the code a bit to be easier
53220         to follow.  Don't set event bits that were not requested (except
53221         POLLERR and POLLHUP).
53222
53223 2007-01-01  Bruno Haible  <bruno@clisp.org>
53224
53225         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
53226
53227 2007-01-03  Jim Meyering  <jim@meyering.net>
53228
53229         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
53230
53231 2007-01-02  Bruno Haible  <bruno@clisp.org>
53232
53233         * modules/settime (Include): Require timespec.h.
53234         * modules/nanosleep (Include): Likewise.
53235
53236 2007-01-01  Bruno Haible  <bruno@clisp.org>
53237
53238         * gnulib-tool (func_emit_copyright_notice): Bump year.
53239         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
53240
53241 2007-01-01  Bruno Haible  <bruno@clisp.org>
53242
53243         Improve support for OpenBSD.
53244         * build-aux/config.rpath (libname_spec): Export.
53245         (library_names_spec): New variable. Export.
53246         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
53247         library_names_spec from the config.rpath output. Locate shared library
53248         through the name pattern in library_names_spec.
53249
53250 2007-01-01  Eric Blake  <ebb9@byu.net>
53251
53252         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
53253
53254 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
53255
53256         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
53257         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
53258         assume the C locale, and avoid an "eval" that could cause trouble.
53259         Problem with SORT reported by Bob Proulx.
53260
53261         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
53262         Define.  Trivial patch from Henning Nielsen Lund, originally
53263         sent to bug-grep@gnu.org today.
53264
53265 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
53266
53267         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
53268         struct stat.  Problem reported by Henning Nielsen Lund.
53269         * lib/acl.c: Include acl.h first, to check interface.  Don't
53270         bother to include sys/types.h and sys/stat.h again.
53271
53272 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
53273
53274         Import the following change from libc; problem reported by
53275         Sven Verdoolaege.
53276
53277         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
53278
53279         [BZ #1373]
53280         * lib/argp.h: Remove __NTH for __argp_usage inline function.
53281
53282 2006-12-28  Jim Meyering  <jim@meyering.net>
53283
53284         * build-aux/announce-gen: Do not assume that the package
53285         builds any of tar.gz, tar.bz2, and .xdelta files.
53286         Suggestion from Simon Josefsson.
53287
53288 2006-12-28  Simon Josefsson  <simon@josefsson.org>
53289
53290         * modules/announce-gen: New file.
53291
53292 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
53293
53294         * lib/mbchar.h: Just include <wctype.h>; the wctype module
53295         handles its gotchas now.
53296         * lib/mbswidth.c: Likewise.
53297         * lib/wcwidth.h: Likewise.
53298         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
53299         and iswcntrl; the wctype module does this stuff now.
53300         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53301         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
53302         * modules/mbchar (Depends-on): Add wctype.
53303         * modules/mbswidth (Depends-on): Likewise.
53304         * modules/wcwidth (Depends-on): Likewise.
53305
53306 2006-12-27  Eric Blake  <ebb9@byu.net>
53307
53308         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
53309         module uses more than what <wctype.h> is required to provide.
53310
53311 2006-12-26  Eric Blake  <ebb9@byu.net>
53312
53313         * gnulib-tool (sed_extract_prog): Avoid space-tab.
53314
53315 2006-12-26  Eric Blake  <ebb9@byu.net>
53316
53317         * modules/absolute-header: New module.
53318         * modules/fcntl (Depends-on): Depend on it.
53319         * modules/inttypes (Depends-on): Likewise.
53320         * modules/stdint (Depends-on): Likewise.
53321         * modules/sys_stat (Depends-on): Likewise.
53322         * modules/wctype (Depends-on): Likewise.
53323         * MODULES.html.sh (Support for building libraries and
53324         executables): Document it.
53325
53326 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
53327
53328         * gnulib-tool (SED): Remove, undoing previous change.
53329         The problem was that it broke coreutils on Solaris, because
53330         "sed --posix" leaked into a makefile.
53331         (sed): New alias, if 'alias' and GNU sed.
53332
53333 2006-12-24  Jim Meyering  <jim@meyering.net>
53334
53335         Work around an fchownat bug in glibc-2.4:
53336         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
53337         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
53338         in spite of the -P option.
53339         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
53340         New macros.
53341         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
53342         * modules/openat (Files): Add lib/fchownat.c.
53343         * lib/openat.c (fchownat): Don't define here.  Move to...
53344         * lib/fchownat.c: ...this new file.
53345
53346 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
53347
53348         Fix bug reported by Bruno Haible in
53349         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
53350         where quotearg.c didn't compile on Mac OS X 10.2 because it
53351         lacks <wchar.h> and wint_t.
53352         * lib/wctype_.h (__wctype_wint_t): New type.
53353         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
53354         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
53355         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
53356         Arg is now of type __wctype_wint_t, not wint_t.
53357         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
53358         substitute HAVE_WINT_T.
53359         * modules/wctype (Files): Add m4/wint_t.m4.
53360         (wctype.h): Substitute HAVE_WINT_T.
53361
53362 2006-12-23  Bruno Haible  <bruno@clisp.org>
53363
53364         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
53365
53366 2006-12-23  Bruno Haible  <bruno@clisp.org>
53367
53368         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
53369         S_ISLNK.
53370         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
53371         mingw.
53372
53373 2006-12-22  Bruno Haible  <bruno@clisp.org>
53374
53375         * lib/copy-file.c: Include acl.h.
53376         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
53377         Close the file descriptors only after being done with copy_acl.
53378         * modules/copy-file (Depends-on): Add acl.
53379
53380 2006-12-22  Bruno Haible  <bruno@clisp.org>
53381
53382         * gnulib-tool (SED): New variable.
53383         Use $SED instead of sed everywhere.
53384
53385 2006-12-22  Bruno Haible  <bruno@clisp.org>
53386
53387         * modules/no-c++: New file.
53388         * m4/no-c++.m4: New file.
53389         * MODULES.html.sh (Support for building libraries and executables):
53390         Add no-c++.
53391
53392 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
53393
53394         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
53395         Include <limits.h>, and use its INT_MAX to rewrite the
53396         j loop so that it does not overflow 'int'.  Problem reported by
53397         Ralf Wildenhues in
53398         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
53399         Play it safe by shifting left by 1 rather than multiplying by 2,
53400         as GCC is less likely to optimize this away when the value
53401         is signed (when it assumes overflow leads to undefined behavior).
53402         Also, don't assume time_t uses two's complement.
53403
53404 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
53405
53406         * MODULES.html.sh: New module wctype.
53407         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
53408         * lib/fnmatch.c: Don't bother to include <wchar.h> before
53409         <wctype.h>, since the new wctype module should fix this.
53410         * lib/quotearg.c: Include <wctype.h> unconditionally, since
53411         the wctype module should arrange for it.
53412         * lib/regex_internal.h: Likewise.
53413         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
53414         since the wctype module should handle this now.
53415         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
53416         * modules/fnmatch (Depends-on): Add wctype.
53417         * modules/quotearg (Depends-on): Likewise.
53418         * modules/regex (Depends-on): Likewise.
53419
53420 2006-12-19  Bruno Haible  <bruno@clisp.org>
53421
53422         * lib/strdup.h [C++]: Wrap definitions in extern "C".
53423         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
53424
53425 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53426
53427         * modules/savewd (Depends-on): Fix dependency on fcntl.
53428
53429 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53430
53431         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
53432         conforms to C99, rather than relying on the user's environment
53433         setting of STDINT_H.
53434
53435 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
53436         and Eric Blake  <ebb9@byu.net>
53437
53438         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
53439         This is more consistent with the other defines here.
53440         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
53441         Port to z/OS.  Problem reported by Paul Gilmartin.
53442         Change local vars to use gl_ prefix rather than ac_.
53443         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
53444         with other defines.
53445         * modules/double-slash-root: New module.
53446         * modules/dirname (Files): Remove m4/double-slash-root.m4.
53447         (Depends-on): Add double-slash-root.
53448         * MODULES.html.sh (File system functions): Mention new module.
53449
53450 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
53451
53452         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
53453         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
53454         This is for the benefit of gzip, which doesn't do i18n.
53455
53456 2006-12-12  Jim Meyering  <jim@meyering.net>
53457
53458         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
53459         Reported by Andreas Schwab <schwab@suse.de>.
53460
53461 2006-12-12  Bruno Haible  <bruno@clisp.org>
53462
53463         Merge these changes.
53464         2006-09-05  Bruno Haible  <bruno@clisp.org>
53465         * lib/iconvme.c (iconv_string): No need to save and restore errno when
53466         iconv_alloc succeeded.
53467         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
53468         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
53469         test for " && dest " at the end - dest is always != NULL there. Call
53470         iconv with 4xNULL arguments initially, to reset the state. Call iconv
53471         with 2xNULL arguments, also to flush the state storage. Handle the
53472         IRIX iconv behaviour. Realloc the final result, to throw away unused
53473         memory.
53474
53475 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
53476
53477         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
53478         and fchmodat unconditionally, since glibc 2.4 has them.
53479         Problem reported by Arkadiusz Miskiewicz.
53480
53481 2006-12-10  Bruno Haible  <bruno@clisp.org>
53482
53483         * gnulib-tool (func_import): Show the include files only for those
53484         modules that are copied and specified.
53485         Reported by Karl Berry.
53486
53487 2006-12-08  Jim Meyering  <jim@meyering.net>
53488
53489         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
53490         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
53491
53492         * build-aux/announce-gen: Add two new options, both optional:
53493         --bootstrap-tools=TOOL_LIST
53494               a comma-separated list of tools, e.g.,
53495               autoconf,automake,bison,gnulib
53496         --gnulib-snapshot-date=DATE
53497               if gnulib is in the bootstrap tool list,
53498               then report this as the snapshot date.
53499               If not specified, use the current date/time.
53500               If you specify a date here, be sure it's UTC.
53501
53502 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53503
53504         * tests/test-argp-2.sh: Fix test to match actual output.
53505         (func_compare): Fix sed script to be portable.
53506
53507 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
53510         workaround for this case.  It is not autoconfigured now; offhand
53511         it's hard to see how to autoconfigure it.
53512
53513 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
53514
53515         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
53516         a directory that is about to be chowned.  Such a directory's
53517         initial file permissions should permit the owner only and this
53518         should not be changed until after the chown, since the group and
53519         other bits would be incorrect if they granted permission before
53520         the chown.
53521
53522         Fix porting problem for iswctype reported by Georg Schwarz in:
53523         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
53524         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
53525         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
53526         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
53527         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
53528
53529 2006-12-03  Jim Meyering  <jim@meyering.net>
53530
53531         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
53532         p->fts_statp may not yet be defined.
53533         (fts_read): Instead, set it in the caller, once p->fts_statp is
53534         sure to be defined, and corresponds to a top-level directory.
53535         This bug made du -x fail.  Here's the coreutils test case:
53536         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
53537         Reported by Mike Frysinger.
53538
53539 2006-12-01  Jim Meyering  <jim@meyering.net>
53540
53541         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
53542         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
53543         Reported by Simon Josefsson.
53544
53545 2006-11-30  Jim Meyering  <jim@meyering.net>
53546
53547         * m4/warning.m4: Use the all-permissive copyright notice
53548         recommended by RMS (rather than LGPL).
53549         * m4/vararrays.m4: Likewise.
53550         * m4/flexmember.m4: Likewise.
53551
53552 2006-11-29  Bruno Haible  <bruno@clisp.org>
53553
53554         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53555         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
53556         using +=.
53557         Reported by Simon Josefsson <simon@josefsson.org>.
53558
53559 2006-11-28  James Youngman <jay@gnu.org>
53560
53561         * README: Advise users that they might find the bug-gnulib@gnu.org
53562         and autotools-announce@gnu.org mailing lists useful.
53563
53564 2006-11-28  Bruno Haible  <bruno@clisp.org>
53565
53566         * m4/ptrdiff_max.m4: Remove file.
53567
53568 2006-11-21  Bruno Haible  <bruno@clisp.org>
53569
53570         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
53571         _AC_COMPUTE_INT.
53572         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53573         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
53574         _AC_COMPUTE_INT.
53575         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53576         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
53577         _AC_COMPUTE_INT.
53578         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53579
53580 2006-11-28  Jim Meyering  <jim@meyering.net>
53581
53582         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
53583         warning from "gcc -Wshadow" about shadowing the builtin.
53584
53585 2006-11-27  Bruno Haible  <bruno@clisp.org>
53586
53587         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
53588         _AC_COMPUTE_INT.
53589         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
53590
53591 2006-11-27  Bruno Haible  <bruno@clisp.org>
53592             Paul Eggert  <eggert@cs.ucla.edu>
53593
53594         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
53595
53596 2006-11-26  Bruno Haible  <bruno@clisp.org>
53597
53598         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
53599         noinst_LTLIBRARIES.
53600
53601 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
53602             Bruno Haible  <bruno@clisp.org>
53603
53604         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
53605         if compiling with "gcc -ansi".
53606
53607 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
53608
53609         Fix some incompatibilities with gcc -ansi -pedantic.
53610         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
53611         if compiling pedantically with GCC, unless it's C99 or later.
53612         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
53613         it mishandles gcc -ansi -pedantic as well.
53614         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
53615         if gcc -pedantic.
53616         * lib/regexec.c (check_node_accept_bytes): Don't use auto
53617         initializers for struct if -pedantic, unless it's C99 or later.
53618
53619 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
53620
53621         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
53622         Don't close an fd more than once. Identical atimes indicate
53623         success, not failure.
53624
53625 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
53626
53627         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
53628
53629 2006-11-23  Jim Meyering  <jim@meyering.net>
53630
53631         * build-aux/announce-gen: New file.  From coreutils.
53632
53633 2006-11-22  Jim Meyering  <jim@meyering.net>
53634
53635         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
53636         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
53637         (fts_read): Use a temporary to narrow the overused st_size member
53638         before using it in a switch statement.  Reported by Matthew Woehlke.
53639
53640         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
53641         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
53642
53643 2006-11-20  Bruno Haible  <bruno@clisp.org>
53644
53645         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
53646         changequote instead of pairs of brackets.
53647         Reported by Andreas Schwab <schwab@suse.de>.
53648
53649 2006-11-21  Jim Meyering  <jim@meyering.net>
53650
53651         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
53652         so as to remain compatible with older compilers.
53653         Patch from Michael Deutschmann.
53654
53655 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53656
53657         * MODULES.html.sh (File system functions): Add openat.
53658
53659         * lib/openat.h (rpl_fstatat): New macro, if
53660         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
53661         (fstatat): Define to rpl_fstatat under the same conditions,
53662         unless COMPILING_FSTATAT.
53663         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
53664         seems to have the bug.
53665         * lib/fstatat.c: New file.
53666         * modules/openat (Files): Add it.
53667
53668 2006-11-20  Bruno Haible  <bruno@clisp.org>
53669
53670         * Makefile: New file.
53671
53672 2006-11-20  Jim Meyering  <jim@meyering.net>
53673
53674         The beginnings of syntax-related checks for gnulib.
53675         * lib/Makefile: New file.
53676         * lib/t-idcache: New script.  Ensure that the two halves of
53677         idcache.c stay in sync.
53678
53679         * lib/idcache.c: Adjust comments in user- and group- portions to
53680         be more accurate, and to be consistent with one another.
53681
53682 2006-11-20  Jim Meyering  <jim@meyering.net>
53683
53684         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
53685         continue using the flexible array member (thus, this module performs
53686         half as many malloc calls), with the addition that...
53687         (getgroup, getuser): Consistently record a non-match via an empty
53688         "name" string, and map an empty string match to a NULL return value.
53689         * modules/idcache (Depends-on): Re-add flexmember.
53690
53691         * lib/idcache.c (getuser): Remove all uses of the register keyword.
53692         (getuidbyname, getgroup, getgidbyname): Likewise.
53693
53694         Use cleaner syntax: NULL rather than 0.
53695         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
53696
53697 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
53698
53699         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
53700         It mishandled the case where the group was missing.
53701         Problem reported by Greg Schafer.
53702         * modules/idcache: Likewise.
53703
53704 2006-11-18  Jim Meyering  <jim@meyering.net>
53705
53706         * check-module (%exempt_header): Add exception for some
53707         conditionally-included headers.
53708
53709         * modules/i-ring (Depends-on): Add verify.
53710         (License): Change to LGPL.
53711
53712 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
53713
53714         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
53715         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
53716         and inttostr.h.  Use snprintf rather than uinttostr, so that
53717         LGPLed code doesn't depend on GPLed.
53718
53719 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
53720
53721         * modules/inline (License): Change from GPL to LGPL.
53722
53723 2006-11-17  Jim Meyering  <jim@meyering.net>
53724
53725         * modules/d-type (License): Switch to LGPL.
53726
53727 2006-11-15  Bruno Haible  <bruno@clisp.org>
53728
53729         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
53730
53731 2006-11-15  Eric Blake  <ebb9@byu.net>
53732
53733         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
53734         the module dependency.
53735
53736 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53737             Bruno Haible  <bruno@clisp.org>
53738
53739         * gnulib-tool (func_create_testdir): Add license consistency check.
53740
53741 2006-11-15  Eric Blake  <ebb9@byu.net>
53742
53743         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
53744         random "(cached)" in configure output.
53745
53746 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53747
53748         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
53749         test for conforming inttypes.h is both announced and cached.
53750
53751         * MODULES.html.sh (seen_modules, seen_files): New variables.
53752         (func_module): Rewrite to use a few less gnulib-tool and sed
53753         invocations.  Avoid a couple of quadratic algorithms for ...
53754         (missed_modules, missed_files): ... these, with ...
53755         (func_append, func_tmpdir): ... these new functions, from
53756         gnulib-tool.  Analogously, install traps for cleanup.
53757
53758         * tests/test-gc.c (main): Remove unused variables.
53759         * tests/test-read-file.c: Include stdlib.h, for 'free'.
53760
53761 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
53762
53763         * modules/inttostr (License): Change to LGPL.
53764
53765 2006-11-14  Eric Blake  <ebb9@byu.net>
53766
53767         * modules/tempname (License): Change to LGPL.
53768
53769 2006-11-14  Eric Blake  <ebb9@byu.net>
53770
53771         * doc/functions.texi (Function Portability): *printf functions on
53772         Cygwin now understand all POSIX size specifiers.
53773
53774 2006-11-14  Bruno Haible  <bruno@clisp.org>
53775
53776         * modules/c-ctype (License): Change to LGPL.
53777
53778 2006-11-12  Bruno Haible  <bruno@clisp.org>
53779
53780         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
53781         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
53782         for GNOME libraries, for which the include files are installed in
53783         subdirectories of $prefix/include.
53784
53785 2006-11-12  Bruno Haible  <bruno@clisp.org>
53786
53787         * m4/lib-link.m4: Require at least autoconf-2.54.
53788         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
53789         name to underscores for the --with option.
53790
53791 2006-11-13  Bruno Haible  <bruno@clisp.org>
53792
53793         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
53794         the tests directory.
53795         Reported by Ralf Wildenhues.
53796
53797 2006-11-13  Bruno Haible  <bruno@clisp.org>
53798
53799         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
53800         (func_emit_initmacro_end): Undo the override here.
53801         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
53802         Works around the famous automake error in coreutils.
53803
53804 2006-11-13  Eric Blake  <ebb9@byu.net>
53805
53806         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
53807         element, not its node.
53808
53809 2006-11-12  Bruno Haible  <bruno@clisp.org>
53810
53811         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
53812         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
53813
53814 2006-11-12  Bruno Haible  <bruno@clisp.org>
53815
53816         * gnulib-tool: New option --local-symlink.
53817         (func_usage): Document it.
53818         (lsymbolic): New variable.
53819         (func_import, func_create_testdir): If --symlink was not specified,
53820         test whether --local-symlink was specified and the file comes from
53821         the local_gnulib_dir.
53822
53823 2006-11-12  Bruno Haible  <bruno@clisp.org>
53824
53825         * gnulib-tool (func_ln): New function.
53826         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
53827
53828 2006-11-12  Bruno Haible  <bruno@clisp.org>
53829
53830         Finish support for source files in subdirectories.
53831         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
53832         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
53833         AUTOMAKE_OPTIONS.
53834         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
53835
53836 2006-11-12  Bruno Haible  <bruno@clisp.org>
53837
53838         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53839         EXTRA_lib_SOURCES augmentation.
53840         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
53841
53842 2006-11-12  Jim Meyering  <jim@meyering.net>
53843
53844         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
53845         file descriptors.  This also averts a failure on systems with
53846         native openat support when a traversed directory lacks "x" access.
53847         * lib/fts_.h: Include "i-ring.h"
53848         (struct FTS) [fts_fd_ring]: New member.
53849         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
53850         (FCHDIR): Add parentheses.
53851         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
53852         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
53853         When descending, rather than simply closing the previous
53854         fts_cwd_fd value, push that file descriptor onto the ring.
53855         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
53856         (fts_open): Initialize the new fd_ring member.
53857         (fts_close): Clear the ring.
53858         (fts_safe_changedir): When possible, use our new fd_ring to skip
53859         the diropen and fstat and dev/ino comparison that would normally
53860         accompany a virtual `chdir ("..")'.
53861
53862         * modules/fts (Depends-on): Add i-ring.
53863         * modules/i-ring: New module.
53864         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
53865         * m4/i-ring.m4: New file.
53866
53867 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53868
53869         * gnulib-tool (func_create_testdir): Fix replacement of
53870         `build-aux' in configure.ac.  Run autotools in gltests
53871         subdirectory.
53872         (func_create_testdir, func_create_megatestdir, test): There is
53873         no need for '--force' in most autotool invocations in a new
53874         tree.  Actually fail the whole test if any of the tools, or the
53875         configure or make stages fail.
53876
53877         Sync from Automake.
53878         * build-aux/gnupload: Revert last change.  Add pointer to upload
53879         instructions of the GNU Maintenance Instructions.
53880         Suggestion by Karl Berry.
53881
53882 2006-11-10  Jim Meyering  <jim@meyering.net>
53883
53884         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
53885
53886 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53887
53888         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
53889         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
53890         (bind_textdomain_codeset) [! ENABLE_NLS]:
53891         Evaluate all the arguments.  That way, callers get compatible behavior
53892         if the arguments have side effects.  Also, it avoids some GCC
53893         diagnostics in some cases; Joel E. Denny reported problems when Bison
53894         was configured with --enable-gcc-warnigs.
53895
53896 2006-11-10  Jim Meyering  <jim@meyering.net>
53897
53898         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
53899         relevant options in CFLAGS (like -O, -fno-inline) are taken into
53900         account.
53901
53902 2006-11-10  Jim Meyering  <jim@meyering.net>
53903
53904         * modules/inline: New file/module.
53905         * modules/xalloc (Files): Remove m4/inline.m4.
53906         (Depends-on): Add inline, instead.
53907         * modules/oset: Likewise.
53908         * modules/list: Likewise.
53909
53910 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
53911
53912         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
53913         Problem reported by Matthew Woehlke.
53914
53915 2006-11-09  Bruno Haible  <bruno@clisp.org>
53916
53917         * lib/tempname.c (gen_tempname): Remove variant that invokes
53918         __gen_tempname.
53919         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
53920         __gen_tempname.
53921
53922 2006-11-08  Bruno Haible  <bruno@clisp.org>
53923
53924         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
53925         to 'yes' instead of 'cross-compiling'.
53926
53927 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
53928
53929         * lib/quotearg.h (quotearg_free): New decl.
53930         * lib/quotearg.c (quotearg_free): New function.
53931         (slot0, nslots, slotvec0, slotvec):
53932         Now file-scope so that quotearg_free can get at them.
53933
53934 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53935
53936         Sync from Automake.
53937         * build-aux/gnupload: Add missing 'gnu' to example URL.
53938         Report by Karl Berry.
53939
53940 2006-11-08  Bruno Haible  <bruno@clisp.org>
53941
53942         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
53943         Suggested by Paul Eggert.
53944
53945 2006-11-08  Jim Meyering  <jim@meyering.net>
53946
53947         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
53948         It's already included if !_LIBC.
53949         (fts_safe_changedir): Add a comment.
53950
53951 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53952
53953         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
53954         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
53955         Matthew Woehlke.
53956
53957         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
53958         definitions up, to avoid colliding with change below.
53959         (static_inline) [HAVE_INLINE]: New macro.
53960         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
53961         Provide extern decls when !HAVE_INLINE.  Do not define unless
53962         static_inline is defined, either by us or by xmalloc.c.  Use
53963         static_inline rather than static inline.
53964         (XCALLOC): Optimize sizeof(T) = 1 case.
53965         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
53966
53967 2006-11-07  Bruno Haible  <bruno@clisp.org>
53968
53969         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
53970         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
53971         AC_C_INLINE.
53972         * modules/xalloc (Files): Add m4/inline.m4.
53973
53974 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53975
53976         * README: Fix typo.
53977         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
53978         (Miscellanous Notes): ...from this.
53979
53980 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
53981
53982         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
53983         Mention that offsetof should be used instead of sizeof.
53984         From Bruno Haible.
53985
53986 2006-11-07  Bruno Haible  <bruno@clisp.org>
53987
53988         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
53989
53990 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
53991
53992         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
53993         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
53994         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
53995         (gl_tree_add_before, gl_tree_add_after):
53996         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
53997         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
53998         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
53999         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
54000         (gl_linked_add_after, gl_linked_add_at): Likewise.
54001         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
54002         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
54003         (gl_tree_add_before, gl_tree_add_after): Likewise.
54004         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
54005         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
54006         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
54007
54008 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54009
54010         * lib/gl_oset.h: Use C comment style, not C++ comment style.
54011
54012 2006-11-06  Bruno Haible  <bruno@clisp.org>
54013
54014         * m4/inline.m4: New file.
54015         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
54016         * modules/list (Files): Add m4/inline.m4.
54017         * modules/oset (Files): Likewise.
54018
54019 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
54020
54021         * lib/idcache.c: Include <stddef.h>, for offsetof.
54022         (struct userid.name): Change from char * to a flexible array member.
54023         All uses changed.
54024         * modules/idcache (Depends-on): Add flexmember.
54025
54026         * MODULES.html.sh (Core language properties): New module flexmember.
54027         * modules/flexmember, m4/flexmember.m4: New files.
54028
54029         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
54030         inline functions that are identical with the old xnmalloc_inline,
54031         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
54032         that we can avoid some unnecessary integer multiplications and
54033         divisions in the common case where the element size is known at
54034         compile time.
54035         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
54036         needed.
54037         (xnboundedmalloc): Remove.
54038         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
54039         arguments, for consistency with rest of this header.
54040         (xcharalloc): Rewrite using XNMALLOC.
54041         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
54042         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
54043         versions have been moved to lib/xalloc.h and renamed to be the
54044         non-*_inline versions.
54045         (xmalloc, xrealloc): Implement without reference to the xnmalloc
54046         and xnrealloc functions, since those functions are now inline and
54047         now call us.
54048         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
54049         renaming described above.
54050         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
54051         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
54052         captures the dependency in AC_C_INLINE.
54053
54054         New module canonicalize-lgpl, proposed by Charles Wilson in
54055         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
54056         with a few small changes afterwards.
54057         * MODULES.html.sh (File system functions): New module
54058         canonicalize-lgpl.
54059         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
54060         and canonicalize_file_name.
54061         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
54062         * modules/canonicalize-lgpl: New files.
54063
54064 2006-11-05  Bruno Haible  <bruno@clisp.org>
54065
54066         * gnulib-tool (func_import, func_create_testdir): Create directories
54067         also for files in subdirectories of lib/.
54068
54069 2006-11-05  Bruno Haible  <bruno@clisp.org>
54070
54071         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
54072         ANSI C compliant.
54073
54074 2006-11-03  Bruno Haible  <bruno@clisp.org>
54075
54076         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
54077         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
54078         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
54079         (xnboundedmalloc): New inline function.
54080         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
54081         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
54082         xmalloc.
54083         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
54084         xmalloc.
54085         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
54086         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
54087         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
54088         xmalloc.
54089         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54090         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
54091         xmalloc.
54092         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
54093         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54094         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
54095         xmalloc.
54096         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
54097         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
54098         gl_tree_add_after): Use XMALLOC instead of xmalloc.
54099         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
54100         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
54101         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
54102         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
54103
54104 2006-11-03  Bruno Haible  <bruno@clisp.org>
54105
54106         * lib/c-ctype.h [C++]: Define functions without name mangling.
54107         * lib/fwriteerror.h [C++]: Likewise.
54108         * lib/gcd.h [C++]: Likewise.
54109         * lib/linebreak.h [C++]: Likewise.
54110
54111 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
54112
54113         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
54114         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
54115         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
54116         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54117         Check for functions and headers just once.
54118         Check for declaration of canonicalize_file_name.
54119         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
54120
54121 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54122
54123         * gnulib-tool (func_import): Fix typo in actioncmd.
54124
54125 2006-11-02  Bruno Haible  <bruno@clisp.org>
54126
54127         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
54128         newline sequence in the Makefile.am snippet as a space, like "make"
54129         does.
54130         Reported by Roger Persson <perrog@gmail.com>.
54131
54132 2006-11-01  Bruno Haible  <bruno@clisp.org>
54133
54134         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
54135         already declared in <string.h>.
54136         * lib/strcase.h (strncasecmp): Don't declare it if yes.
54137
54138 2006-11-01  Bruno Haible  <bruno@clisp.org>
54139
54140         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
54141         * lib/strcase.h: Include <string.h>.
54142         (strcasecmp): Define to rpl_strcasecmp here.
54143
54144 2006-11-01  Bruno Haible  <bruno@clisp.org>
54145
54146         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
54147
54148 2006-11-01  Eric Blake  <ebb9@byu.net>
54149
54150         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
54151
54152         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
54153
54154 2006-10-29  Bruno Haible  <bruno@clisp.org>
54155
54156         Make it compile in C++ mode.
54157         * lib/full-write.c (full_rw): Add a cast.
54158
54159 2006-11-01  Bruno Haible  <bruno@clisp.org>
54160
54161         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
54162         be POSIX compliant.
54163         Reported by Roger Persson <perrog@gmail.com>.
54164
54165 2006-11-01  Eric Blake  <ebb9@byu.net>
54166
54167         * lib/getopt_.h: Fix comments.
54168
54169 2006-10-31  Eric Blake  <ebb9@byu.net>
54170
54171         * modules/tmpdir (Depends-on): Add sys_stat.
54172         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
54173         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
54174         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
54175         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
54176         tempname.
54177
54178 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
54179
54180         Avoid some C++ diagnostics reported by Bruno Haible.
54181         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
54182         xmalloc.
54183         (quotearg_alloc): Use xcharalloc rather than xmalloc.
54184         (struct slotvec): Move to top level.
54185         (quotearg_n_options): Rewrite to avoid xmalloc.
54186         * lib/xalloc.h (xcharalloc): New function.
54187         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
54188         [defined __cplusplus]: Add function template that provides result
54189         type propagation.  This part of the change is from Bruno Haible.
54190
54191 2006-10-29  Bruno Haible  <bruno@clisp.org>
54192
54193         Make it compile in C++ mode.
54194         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
54195         * lib/strnlen1.c (strnlen1): Cast memchr result.
54196         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
54197         * lib/clean-temp.c (string_equals, string_hash): Add casts.
54198         (create_temp_dir): Rename local variable 'template'.
54199         (compile_csharp_using_sscli): Add cast.
54200         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
54201         * lib/findprog.c (find_in_path): Likewise.
54202         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
54203         * lib/wait-process.c (register_slave_subprocess): Likewise.
54204
54205 2006-10-22  Bruno Haible  <bruno@clisp.org>
54206
54207         * modules/tsearch: New file.
54208         * lib/tsearch.h: New file.
54209         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
54210         * m4/tsearch.m4: New file.
54211         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
54212
54213 2006-10-29  Eric Blake  <ebb9@byu.net>
54214
54215         * lib/arcfour.c: Assume config.h.
54216         * lib/arctwo.c: Likewise.
54217         * lib/base64.c: Likewise.
54218         * lib/check-version.c: Likewise.
54219         * lib/crc.c: Likewise.
54220         * lib/des.c: Likewise.
54221         * lib/gc-gnulib.c: Likewise.
54222         * lib/gc-libgcrypt.c: Likewise.
54223         * lib/gc-pbkdf2-sha1.c: Likewise.
54224         * lib/getaddrinfo.c: Likewise.
54225         * lib/getdelim.c: Likewise.
54226         * lib/getline.c: Likewise.
54227         * lib/hmac-md5.c: Likewise.
54228         * lib/hmac-sha1.c: Likewise.
54229         * lib/iconvme.c: Likewise.
54230         * lib/md2.c: Likewise.
54231         * lib/md4.c: Likewise.
54232         * lib/memxor.c: Likewise.
54233         * lib/read-file.c: Likewise.
54234         * lib/readline.c: Likewise.
54235         * lib/rijndael-alg-fst.c: Likewise.
54236         * lib/rijndael-api-fst.c: Likewise.
54237         * lib/xgetdomainname.c: Likewise.
54238
54239 2006-10-28  Eric Blake  <ebb9@byu.net>
54240
54241         * lib/xstrndup.c: Assume config.h.
54242
54243 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54244
54245         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
54246         stat-macros.h is now for our own macros, whereas stat_h is for
54247         macros in the <sys/stat.h> name space.
54248         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
54249         (STAT_MACROS_H): Remove.
54250         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
54251         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
54252         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
54253         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
54254         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
54255         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
54256         Move these macros to ...
54257         * lib/stat_.h: here.  Don't include stat-macros.h.
54258         * lib/canonicalize.c: Don't include stat-macros.h.
54259         * lib/chown.c: Likewise.
54260         * lib/euidaccess.c: Likewise.
54261         * lib/file-type.c: Likewise.
54262         * lib/filemode.c: Likewise.
54263         * lib/glob.c: Likewise.
54264         * lib/isapipe.c: Likewise.
54265         * lib/lchown.c: Likewise.
54266         * lib/lstat.c: Likewise.
54267         * lib/mkdir-p.c: Likewise.
54268         * lib/rmdir.c: Likewise.
54269         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
54270         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
54271         unless mkdir isn't declared, to speed up 'configure'.
54272         Always create sys/stat.h, since it's unlikely any real sys/stat.h
54273         would define all the S_* symbols.
54274         * modules/canonicalize (Depends-on):
54275         Depend on sys_stat, not stat-macros.
54276         * modules/chown: Likewise.
54277         * modules/euidaccess: Likewise.
54278         * modules/filemode: Likewise.
54279         * modules/file-type: Likewise.
54280         * modules/glob: Likewise.
54281         * modules/isapipe: Likewise.
54282         * modules/lchown: Likewise.
54283         * modules/lstat: Likewise.
54284         * modules/mkancesdirs: Likewise.
54285         * modules/rmdir: Likewise.
54286         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
54287         * modules/modechange: Likewise.
54288         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
54289         (configure.ac): Remove gl_STAT_MACROS.
54290         * modules/sys_stat (Depends-on): Remove stat-macros.
54291
54292 2006-10-27  Bruno Haible  <bruno@clisp.org>
54293
54294         * m4/signed.m4: Remove file.
54295         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
54296         invocation.
54297         * modules/vasnprintf (Files): Remove m4/signed.m4.
54298
54299 2006-10-27  Bruno Haible  <bruno@clisp.org>
54300
54301         Update to GNU gettext 0.16.
54302         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
54303         m4/inttypes-h.m4, m4/signed.m4.
54304         * m4/gettext.m4: Update to GNU gettext 0.16.
54305         * m4/intl.m4: New file, from GNU gettext.
54306         * m4/intldir.m4: New file, from GNU gettext.
54307         * config/srclist.txt: Update
54308
54309 2006-10-27  Eric Blake  <ebb9@byu.net>
54310
54311         * MODULES.html.sh: Document tempname.
54312         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
54313         dependencies.
54314         (Files): Move lib/tempname.c...
54315         * modules/tempname: ...to this new module.
54316         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
54317         (gl_PREREQ_TEMPNAME): Move...
54318         * m4/tempname.m4: ...to this new file.
54319         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
54320         * modules/sys_stat (Depends-on): Add stat-macros.
54321         * lib/stat_.h (includes): Pick up stat macros.
54322         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
54323         if stat macros are broken.
54324         * lib/tempname.c (includes): No need to include "stat-macros.h".
54325         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
54326         (direxists, __path_search) [!_LIBC]: Don't compile these in
54327         gnulib; the tmpdir module covers that.
54328         * lib/tempname.h: New file.
54329
54330 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
54331
54332         * COPYING: Explain how gnulib-tool converts licence headers.
54333         Almost all wording by Eric Blake.
54334
54335 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
54336
54337         * lib/mbchar.h (is_basic_table): Make read-only.
54338         * lib/mbchar.c (is_basic_table): Likewise.
54339         Reported by John Darrington.
54340
54341 2006-10-25  Bruno Haible  <bruno@clisp.org>
54342
54343         * lib/progname.h (set_program_name): Undefine before defining.
54344
54345 2006-10-25  Bruno Haible  <bruno@clisp.org>
54346
54347         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
54348         false for non-gcc C++ compilers.
54349         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54350
54351 2006-10-24  Bruno Haible  <bruno@clisp.org>
54352
54353         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
54354         iconv implementations like Irix iconv.
54355
54356 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54357
54358         * modules/vararrays: New file.
54359         * m4/vararrays.m4: New file, taken from diffutils.
54360         * MODULES.html.sh: New module vararrays.
54361
54362 2006-10-24  Karl Berry  <karl@gnu.org>
54363
54364         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
54365         Don't call GNU Unix.
54366
54367 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54368
54369         * users.txt: Add Libtool.
54370
54371         Sync from Libtool:
54372
54373         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54374
54375         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
54376         to gnulib's policy of including config.h unconditionally.
54377
54378 2006-10-24  Bruno Haible  <bruno@clisp.org>
54379
54380         * modules/wcwidth (Files): Add m4/wint_t.m4.
54381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
54382         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
54383
54384 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
54385
54386         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
54387         to pacify GCC with some -W flags enabled.  Problem reported by
54388         Bruno Haible.
54389
54390 2006-10-24  Jim Meyering  <jim@meyering.net>
54391
54392         * MODULES.html.sh: Remove uinttostr.  It's not a module.
54393         Reported by Karl Berry.
54394
54395 2006-10-23  Bruno Haible  <bruno@clisp.org>
54396
54397         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
54398
54399 2006-10-24  Bruno Haible  <bruno@clisp.org>
54400
54401         * lib/gl_list.h: Use C comment style, not C++ comment style.
54402
54403 2006-10-23  Eric Blake  <ebb9@byu.net>
54404
54405         * lib/getaddrinfo.c (includes): Add missing include.
54406
54407 2006-10-23  Bruno Haible  <bruno@clisp.org>
54408             Paul Eggert  <eggert@cs.ucla.edu>
54409
54410         Ability to rename obstack_free.
54411         * lib/obstack.h (__obstack_free): New macro. Declare instead of
54412         obstack_free.
54413         (obstack_free): Invoke the __obstack_free macro.
54414         * lib/obstack.c (obstack_free): Use __obstack_free macro.
54415
54416 2006-10-23  Bruno Haible  <bruno@clisp.org>
54417             Paul Eggert  <eggert@cs.ucla.edu>
54418
54419         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
54420         __argc, __argv from the declaration. (They are defined as macros on
54421         mingw.)
54422
54423 2006-10-22  Bruno Haible  <bruno@clisp.org>
54424
54425         * doc/gnulib-intro.texi: New file.
54426         * doc/gnulib.texi: Include it.
54427
54428 2006-10-21  Bruno Haible  <bruno@clisp.org>
54429
54430         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
54431         "Introduction", "Miscellanous Notes", "Particular Modules".
54432
54433 2006-10-21  Bruno Haible  <bruno@clisp.org>
54434
54435         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54436         Change mostlyclean-local rule to avoid sh syntax error from bash
54437         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
54438
54439 2006-10-23  Jim Meyering  <jim@meyering.net>
54440
54441         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
54442         in place of snprintf.
54443
54444         * modules/inttostr (Files): Add lib/uinttostr.c.
54445         * lib/uinttostr.c (inttostr): New file/function.
54446         * lib/inttostr.h (uinttostr): Declare.
54447         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
54448         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
54449         Add uinttostr.
54450         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
54451
54452 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54453
54454         * lib/canonicalize.c (ELOOP): Define if not already defined.
54455         Problem reported by Bruno Haible in
54456         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
54457
54458 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
54459
54460         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
54461         Problem reported by Perry Smith and Ville Laurikari.
54462
54463         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
54464         uses.
54465
54466 2006-10-19  Bruno Haible  <bruno@clisp.org>
54467
54468         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
54469         for mingw.
54470
54471 2006-10-19  Bruno Haible  <bruno@clisp.org>
54472
54473         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
54474         Needed for mingw.
54475
54476 2006-10-19  Bruno Haible  <bruno@clisp.org>
54477
54478         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
54479
54480 2006-10-19  Bruno Haible  <bruno@clisp.org>
54481
54482         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
54483         it.
54484
54485 2006-10-19  Bruno Haible  <bruno@clisp.org>
54486
54487         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
54488         invocation.
54489
54490 2006-10-19  Bruno Haible  <bruno@clisp.org>
54491
54492         * gnulib-tool (func_create_testdir): Don't include ftruncate and
54493         mountlist by default.
54494
54495 2006-10-16  Bruno Haible  <bruno@clisp.org>
54496
54497         * lib/c-strstr.c: Include c-strstr.h.
54498
54499 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
54500
54501         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
54502         in a slash.
54503
54504 2006-10-18  Bruno Haible  <bruno@clisp.org>
54505
54506         * lib/lock.h [C++]: Wrap definitions in extern "C".
54507
54508 2006-10-18  Bruno Haible  <bruno@clisp.org>
54509
54510         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
54511         gl_LIBOBJS list.
54512
54513 2006-10-18  Bruno Haible  <bruno@clisp.org>
54514
54515         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
54516
54517 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
54518
54519         * lib/xstrtol.h: Include gettext.h.
54520         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
54521         Problem reported by Eric Blake.
54522         * modules/xstrtol (Depends-on): Add gettext-h.
54523
54524 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
54525
54526         * lib/strftime.c (advance): New macro.
54527         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
54528         incomplete type, so you can't add 0 to it.  Problem and patch
54529         reported by Eelco Dolstra for dietlibc.
54530
54531 2006-10-18  Jim Meyering  <jim@meyering.net>
54532
54533         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
54534         type for a local, and rename it: s/up/user_proc/.
54535
54536 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
54537
54538         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
54539         READ_UTMP_USER_PROCESS.
54540         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
54541
54542 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
54545         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
54546
54547 2006-10-17  Eric Blake  <ebb9@byu.net>
54548
54549         * lib/sigprocmask.c (sigprocmask): Fix typo.
54550
54551         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
54552
54553         * modules/clean-temp (Makefile.am): Don't add to make output...
54554         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
54555         config.h.
54556
54557 2006-10-17  Bruno Haible  <bruno@clisp.org>
54558
54559         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
54560         differently if DEFAULT_TEXT_DOMAIN is set.
54561
54562 2006-10-16  Bruno Haible  <bruno@clisp.org>
54563
54564         * lib/clean-temp.c: Include fwriteerror.h.
54565
54566 2006-10-16  Bruno Haible  <bruno@clisp.org>
54567
54568         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
54569
54570 2006-10-16  Bruno Haible  <bruno@clisp.org>
54571
54572         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
54573         * lib/sigprocmask.h: Include <sys/types.h>.
54574         (sigset_t): Use the system's definition if present.
54575
54576 2006-10-17  Eric Blake  <ebb9@byu.net>
54577
54578         * lib/xvasprintf.c (includes): Assume config.h.
54579         * lib/xasprintf.c (includes): Likewise.
54580
54581 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54582
54583         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
54584         at least as wide as intmax_t.
54585
54586 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
54587
54588         (Imported from Automake.)
54589         * build-aux/gnupload: Update to version 1.1 of directive file.
54590
54591 2006-10-16  Eric Blake  <ebb9@byu.net>
54592
54593         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
54594         match Automake 1.10a.
54595
54596 2006-10-14  Bruno Haible  <bruno@clisp.org>
54597
54598         * modules/sigprocmask: New file.
54599         * lib/sigprocmask.h: New file.
54600         * lib/sigprocmask.c: New file.
54601         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
54602         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
54603         request sigprocmask.o.
54604         (gl_PREREQ_SIGPROCMASK): New macro.
54605         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
54606         (Depends-on): Add sigprocmask.
54607         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
54608         gt_SIGNALBLOCKING. Test for 'raise' only once.
54609         * lib/fatal-signal.c: Include sigprocmask.h.
54610         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
54611         unblock_fatal_signals): Define always.
54612         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54613         sigprocmask.
54614
54615 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
54616
54617         Sync from Automake.
54618         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
54619         which incorrectly sets the mode of an existing destination
54620         directory.  In some cases the unpatched install-sh could do the
54621         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
54622         system.  We hope this is rare in practice, but it's clearly worth
54623         fixing.  Problem reported by Alex Unleashed in
54624         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
54625         Also, don't bother to check for -m bugs unless we're using -m;
54626         suggested by Stepan Kasal.
54627
54628 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54629
54630         Sync from Automake.
54631         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
54632         `-c' flag, so they appear at the same position as in %FASTDEP%
54633         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
54634         which ignores unknown options only after the first non-option.
54635         Bug report against M4 by Nelson H. F. Beebe.
54636
54637 2006-10-13  Jim Meyering  <jim@meyering.net>
54638
54639         Fix a bug in yesterday's change.
54640         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
54641         p->fts_statp->st_dev would be used uninitialized.
54642         Ensures that we always call fts_stat on the very first entry.
54643         Miklos Szeredi reported that find -xdev stopped working.
54644
54645 2006-10-12  Bruno Haible  <bruno@clisp.org>
54646
54647         * gnulib-tool (func_get_automake_snippet): Append an automatically
54648         computed EXTRA_DIST augmentation.
54649         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
54650         * modules/alloca-opt (Makefile.am): Likewise.
54651         * modules/allocsa (Makefile.am): Likewise.
54652         * modules/arcfour (Makefile.am): Likewise.
54653         * modules/arctwo (Makefile.am): Likewise.
54654         * modules/argmatch (Makefile.am): Likewise.
54655         * modules/argz (Makefile.am): Likewise.
54656         * modules/atexit (Makefile.am): Likewise.
54657         * modules/backupfile (Makefile.am): Likewise.
54658         * modules/byteswap (Makefile.am): Likewise.
54659         * modules/c-strtod (Makefile.am): Likewise.
54660         * modules/c-strtold (Makefile.am): Likewise.
54661         * modules/calloc (Makefile.am): Likewise.
54662         * modules/canon-host (Makefile.am): Likewise.
54663         * modules/canonicalize (Makefile.am): Likewise.
54664         * modules/chdir-long (Makefile.am): Likewise.
54665         * modules/chdir-safer (Makefile.am): Likewise.
54666         * modules/check-version (Makefile.am): Likewise.
54667         * modules/chown (Makefile.am): Likewise.
54668         * modules/cloexec (Makefile.am): Likewise.
54669         * modules/close-stream (Makefile.am): Likewise.
54670         * modules/closeout (Makefile.am): Likewise.
54671         * modules/crc (Makefile.am): Likewise.
54672         * modules/csharpexec (Makefile.am): Likewise.
54673         * modules/cycle-check (Makefile.am): Likewise.
54674         * modules/des (Makefile.am): Likewise.
54675         * modules/dev-ino (Makefile.am): Likewise.
54676         * modules/dirfd (Makefile.am): Likewise.
54677         * modules/dirname (Makefile.am): Likewise.
54678         * modules/dup2 (Makefile.am): Likewise.
54679         * modules/eealloc (Makefile.am): Likewise.
54680         * modules/error (Makefile.am): Likewise.
54681         * modules/euidaccess (Makefile.am): Likewise.
54682         * modules/exclude (Makefile.am): Likewise.
54683         * modules/exitfail (Makefile.am): Likewise.
54684         * modules/fcntl-safer (Makefile.am): Likewise.
54685         * modules/fcntl (Makefile.am): Likewise.
54686         * modules/file-type (Makefile.am): Likewise.
54687         * modules/fileblocks (Makefile.am): Likewise.
54688         * modules/filemode (Makefile.am): Likewise.
54689         * modules/filenamecat (Makefile.am): Likewise.
54690         * modules/fnmatch (Makefile.am): Likewise.
54691         * modules/fopen-safer (Makefile.am): Likewise.
54692         * modules/fpending (Makefile.am): Likewise.
54693         * modules/fprintftime (Makefile.am): Likewise.
54694         * modules/free (Makefile.am): Likewise.
54695         * modules/fsusage (Makefile.am): Likewise.
54696         * modules/ftruncate (Makefile.am): Likewise.
54697         * modules/fts (Makefile.am): Likewise.
54698         * modules/gc-arcfour (Makefile.am): Likewise.
54699         * modules/gc-des (Makefile.am): Likewise.
54700         * modules/gc-hmac-md5 (Makefile.am): Likewise.
54701         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
54702         * modules/gc-md4 (Makefile.am): Likewise.
54703         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54704         * modules/gc-sha1 (Makefile.am): Likewise.
54705         * modules/gc (Makefile.am): Likewise.
54706         * modules/getaddrinfo (Makefile.am): Likewise.
54707         * modules/getcwd (Makefile.am): Likewise.
54708         * modules/getdelim (Makefile.am): Likewise.
54709         * modules/getdomainname (Makefile.am): Likewise.
54710         * modules/getgroups (Makefile.am): Likewise.
54711         * modules/gethostname (Makefile.am): Likewise.
54712         * modules/gethrxtime (Makefile.am): Likewise.
54713         * modules/getline (Makefile.am): Likewise.
54714         * modules/getloadavg (Makefile.am): Likewise.
54715         * modules/getlogin_r (Makefile.am): Likewise.
54716         * modules/getndelim2 (Makefile.am): Likewise.
54717         * modules/getopt (Makefile.am): Likewise.
54718         * modules/getpagesize (Makefile.am): Likewise.
54719         * modules/getpass-gnu (Makefile.am): Likewise.
54720         * modules/getpass (Makefile.am): Likewise.
54721         * modules/getsubopt (Makefile.am): Likewise.
54722         * modules/gettime (Makefile.am): Likewise.
54723         * modules/gettimeofday (Makefile.am): Likewise.
54724         * modules/getugroups (Makefile.am): Likewise.
54725         * modules/getusershell (Makefile.am): Likewise.
54726         * modules/glob (Makefile.am): Likewise.
54727         * modules/group-member (Makefile.am): Likewise.
54728         * modules/hard-locale (Makefile.am): Likewise.
54729         * modules/hash (Makefile.am): Likewise.
54730         * modules/hmac-md5 (Makefile.am): Likewise.
54731         * modules/hmac-sha1 (Makefile.am): Likewise.
54732         * modules/human (Makefile.am): Likewise.
54733         * modules/idcache (Makefile.am): Likewise.
54734         * modules/imaxabs (Makefile.am): Likewise.
54735         * modules/imaxdiv (Makefile.am): Likewise.
54736         * modules/inet_ntop (Makefile.am): Likewise.
54737         * modules/inet_pton (Makefile.am): Likewise.
54738         * modules/intprops (Makefile.am): Likewise.
54739         * modules/inttostr (Makefile.am): Likewise.
54740         * modules/inttypes (Makefile.am): Likewise.
54741         * modules/isapipe (Makefile.am): Likewise.
54742         * modules/javaversion (Makefile.am): Likewise.
54743         * modules/lchmod (Makefile.am): Likewise.
54744         * modules/lchown (Makefile.am): Likewise.
54745         * modules/localcharset (Makefile.am): Likewise.
54746         * modules/long-options (Makefile.am): Likewise.
54747         * modules/lstat (Makefile.am): Likewise.
54748         * modules/malloc (Makefile.am): Likewise.
54749         * modules/mathl (Makefile.am): Likewise.
54750         * modules/mbchar (Makefile.am): Likewise.
54751         * modules/md2 (Makefile.am): Likewise.
54752         * modules/md4 (Makefile.am): Likewise.
54753         * modules/md5 (Makefile.am): Likewise.
54754         * modules/memcasecmp (Makefile.am): Likewise.
54755         * modules/memchr (Makefile.am): Likewise.
54756         * modules/memcmp (Makefile.am): Likewise.
54757         * modules/memcoll (Makefile.am): Likewise.
54758         * modules/memcpy (Makefile.am): Likewise.
54759         * modules/memmem (Makefile.am): Likewise.
54760         * modules/memmove (Makefile.am): Likewise.
54761         * modules/mempcpy (Makefile.am): Likewise.
54762         * modules/memrchr (Makefile.am): Likewise.
54763         * modules/memset (Makefile.am): Likewise.
54764         * modules/memxor (Makefile.am): Likewise.
54765         * modules/mkancesdirs (Makefile.am): Likewise.
54766         * modules/mkdir-p (Makefile.am): Likewise.
54767         * modules/mkdir (Makefile.am): Likewise.
54768         * modules/mkdtemp (Makefile.am): Likewise.
54769         * modules/mkstemp (Makefile.am): Likewise.
54770         * modules/mktime (Makefile.am): Likewise.
54771         * modules/modechange (Makefile.am): Likewise.
54772         * modules/mountlist (Makefile.am): Likewise.
54773         * modules/nanosleep (Makefile.am): Likewise.
54774         * modules/obstack (Makefile.am): Likewise.
54775         * modules/openat (Makefile.am): Likewise.
54776         * modules/pagealign_alloc (Makefile.am): Likewise.
54777         * modules/pathmax (Makefile.am): Likewise.
54778         * modules/physmem (Makefile.am): Likewise.
54779         * modules/poll (Makefile.am): Likewise.
54780         * modules/posixtm (Makefile.am): Likewise.
54781         * modules/posixver (Makefile.am): Likewise.
54782         * modules/putenv (Makefile.am): Likewise.
54783         * modules/quote (Makefile.am): Likewise.
54784         * modules/quotearg (Makefile.am): Likewise.
54785         * modules/raise (Makefile.am): Likewise.
54786         * modules/read-file (Makefile.am): Likewise.
54787         * modules/readline (Makefile.am): Likewise.
54788         * modules/readlink (Makefile.am): Likewise.
54789         * modules/readtokens (Makefile.am): Likewise.
54790         * modules/readutmp (Makefile.am): Likewise.
54791         * modules/realloc (Makefile.am): Likewise.
54792         * modules/regex (Makefile.am): Likewise.
54793         * modules/rename-dest-slash (Makefile.am): Likewise.
54794         * modules/rename (Makefile.am): Likewise.
54795         * modules/rijndael (Makefile.am): Likewise.
54796         * modules/rmdir (Makefile.am): Likewise.
54797         * modules/rpmatch (Makefile.am): Likewise.
54798         * modules/safe-read (Makefile.am): Likewise.
54799         * modules/safe-write (Makefile.am): Likewise.
54800         * modules/same-inode (Makefile.am): Likewise.
54801         * modules/same (Makefile.am): Likewise.
54802         * modules/save-cwd (Makefile.am): Likewise.
54803         * modules/savedir (Makefile.am): Likewise.
54804         * modules/setenv (Makefile.am): Likewise.
54805         * modules/settime (Makefile.am): Likewise.
54806         * modules/sha1 (Makefile.am): Likewise.
54807         * modules/sig2str (Makefile.am): Likewise.
54808         * modules/snprintf (Makefile.am): Likewise.
54809         * modules/stat-macros (Makefile.am): Likewise.
54810         * modules/stat-time (Makefile.am): Likewise.
54811         * modules/stdbool (Makefile.am): Likewise.
54812         * modules/stdint (Makefile.am): Likewise.
54813         * modules/stdlib-safer (Makefile.am): Likewise.
54814         * modules/stpcpy (Makefile.am): Likewise.
54815         * modules/stpncpy (Makefile.am): Likewise.
54816         * modules/strcase (Makefile.am): Likewise.
54817         * modules/strcasestr (Makefile.am): Likewise.
54818         * modules/strchrnul (Makefile.am): Likewise.
54819         * modules/strcspn (Makefile.am): Likewise.
54820         * modules/strdup (Makefile.am): Likewise.
54821         * modules/strerror (Makefile.am): Likewise.
54822         * modules/strftime (Makefile.am): Likewise.
54823         * modules/strndup (Makefile.am): Likewise.
54824         * modules/strnlen (Makefile.am): Likewise.
54825         * modules/strpbrk (Makefile.am): Likewise.
54826         * modules/strsep (Makefile.am): Likewise.
54827         * modules/strstr (Makefile.am): Likewise.
54828         * modules/strtod (Makefile.am): Likewise.
54829         * modules/strtoimax (Makefile.am): Likewise.
54830         * modules/strtok_r (Makefile.am): Likewise.
54831         * modules/strtol (Makefile.am): Likewise.
54832         * modules/strtoll (Makefile.am): Likewise.
54833         * modules/strtoul (Makefile.am): Likewise.
54834         * modules/strtoull (Makefile.am): Likewise.
54835         * modules/strtoumax (Makefile.am): Likewise.
54836         * modules/strverscmp (Makefile.am): Likewise.
54837         * modules/sys_socket (Makefile.am): Likewise.
54838         * modules/sys_stat (Makefile.am): Likewise.
54839         * modules/sysexits (Makefile.am): Likewise.
54840         * modules/time_r (Makefile.am): Likewise.
54841         * modules/timegm (Makefile.am): Likewise.
54842         * modules/timespec (Makefile.am): Likewise.
54843         * modules/tmpfile-safer (Makefile.am): Likewise.
54844         * modules/trim (Makefile.am): Likewise.
54845         * modules/unistd-safer (Makefile.am): Likewise.
54846         * modules/unlinkdir (Makefile.am): Likewise.
54847         * modules/unlocked-io (Makefile.am): Likewise.
54848         * modules/userspec (Makefile.am): Likewise.
54849         * modules/utime (Makefile.am): Likewise.
54850         * modules/utimecmp (Makefile.am): Likewise.
54851         * modules/utimens (Makefile.am): Likewise.
54852         * modules/vasnprintf (Makefile.am): Likewise.
54853         * modules/vasprintf (Makefile.am): Likewise.
54854         * modules/vsnprintf (Makefile.am): Likewise.
54855         * modules/xalloc (Makefile.am): Likewise.
54856         * modules/xgetcwd (Makefile.am): Likewise.
54857         * modules/xnanosleep (Makefile.am): Likewise.
54858         * modules/xreadlink (Makefile.am): Likewise.
54859         * modules/xstrtod (Makefile.am): Likewise.
54860         * modules/xstrtol (Makefile.am): Likewise.
54861         * modules/xstrtold (Makefile.am): Likewise.
54862         * modules/yesno (Makefile.am): Likewise.
54863         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
54864
54865 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
54866
54867         * modules/error (Makefile.am): Distribute files through
54868         EXTRA_DIST, not lib_SOURCES.
54869
54870 2006-10-12  Eric Blake  <ebb9@byu.net>
54871
54872         * modules/error (Makefile.am): Distribute files in /lib.
54873         * modules/obstack (Makefile.am): Likewise.
54874
54875 2006-10-12  Bruno Haible  <bruno@clisp.org>
54876
54877         * modules/acl (Makefile.am): Distribute all files in lib/ through
54878         EXTRA_DIST.
54879         * modules/arcfour (Makefile.am): Likewise.
54880         * modules/arctwo (Makefile.am): Likewise.
54881         * modules/argmatch (Makefile.am): Likewise.
54882         * modules/argz (Makefile.am): Likewise.
54883         * modules/atexit (Makefile.am): Likewise.
54884         * modules/backupfile (Makefile.am): Likewise.
54885         * modules/c-strtod (Makefile.am): Likewise.
54886         * modules/c-strtold (Makefile.am): Likewise.
54887         * modules/calloc (Makefile.am): Likewise.
54888         * modules/canon-host (Makefile.am): Likewise.
54889         * modules/canonicalize (Makefile.am): Likewise.
54890         * modules/chdir-long (Makefile.am): Likewise.
54891         * modules/chdir-safer (Makefile.am): Likewise.
54892         * modules/check-version (Makefile.am): Likewise.
54893         * modules/chown (Makefile.am): Likewise.
54894         * modules/cloexec (Makefile.am): Likewise.
54895         * modules/close-stream (Makefile.am): Likewise.
54896         * modules/closeout (Makefile.am): Likewise.
54897         * modules/crc (Makefile.am): Likewise.
54898         * modules/cycle-check (Makefile.am): Likewise.
54899         * modules/des (Makefile.am): Likewise.
54900         * modules/dirfd (Makefile.am): Likewise.
54901         * modules/dirname (Makefile.am): Likewise.
54902         * modules/dup2 (Makefile.am): Likewise.
54903         * modules/euidaccess (Makefile.am): Likewise.
54904         * modules/exclude (Makefile.am): Likewise.
54905         * modules/exitfail (Makefile.am): Likewise.
54906         * modules/fcntl-safer (Makefile.am): Likewise.
54907         * modules/file-type (Makefile.am): Likewise.
54908         * modules/fileblocks (Makefile.am): Likewise.
54909         * modules/filemode (Makefile.am): Likewise.
54910         * modules/filenamecat (Makefile.am): Likewise.
54911         * modules/fnmatch (Makefile.am): Likewise.
54912         * modules/fopen-safer (Makefile.am): Likewise.
54913         * modules/fpending (Makefile.am): Likewise.
54914         * modules/fprintftime (Makefile.am): Likewise.
54915         * modules/free (Makefile.am): Likewise.
54916         * modules/fsusage (Makefile.am): Likewise.
54917         * modules/ftruncate (Makefile.am): Likewise.
54918         * modules/fts (Makefile.am): Likewise.
54919         * modules/gc (Makefile.am): Likewise.
54920         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
54921         * modules/getaddrinfo (Makefile.am): Likewise.
54922         * modules/getcwd (Makefile.am): Likewise.
54923         * modules/getdelim (Makefile.am): Likewise.
54924         * modules/getdomainname (Makefile.am): Likewise.
54925         * modules/getgroups (Makefile.am): Likewise.
54926         * modules/gethostname (Makefile.am): Likewise.
54927         * modules/gethrxtime (Makefile.am): Likewise.
54928         * modules/getline (Makefile.am): Likewise.
54929         * modules/getloadavg (Makefile.am): Likewise.
54930         * modules/getlogin_r (Makefile.am): Likewise.
54931         * modules/getopt (Makefile.am): Likewise.
54932         * modules/getpass (Makefile.am): Likewise.
54933         * modules/getpass-gnu (Makefile.am): Likewise.
54934         * modules/getsubopt (Makefile.am): Likewise.
54935         * modules/gettime (Makefile.am): Likewise.
54936         * modules/gettimeofday (Makefile.am): Likewise.
54937         * modules/getugroups (Makefile.am): Likewise.
54938         * modules/getusershell (Makefile.am): Likewise.
54939         * modules/glob (Makefile.am): Likewise.
54940         * modules/group-member (Makefile.am): Likewise.
54941         * modules/hard-locale (Makefile.am): Likewise.
54942         * modules/hash (Makefile.am): Likewise.
54943         * modules/hmac-md5 (Makefile.am): Likewise.
54944         * modules/hmac-sha1 (Makefile.am): Likewise.
54945         * modules/human (Makefile.am): Likewise.
54946         * modules/idcache (Makefile.am): Likewise.
54947         * modules/imaxabs (Makefile.am): Likewise.
54948         * modules/imaxdiv (Makefile.am): Likewise.
54949         * modules/inet_ntop (Makefile.am): Likewise.
54950         * modules/inet_pton (Makefile.am): Likewise.
54951         * modules/inttostr (Makefile.am): Likewise.
54952         * modules/isapipe (Makefile.am): Likewise.
54953         * modules/lchown (Makefile.am): Likewise.
54954         * modules/long-options (Makefile.am): Likewise.
54955         * modules/lstat (Makefile.am): Likewise.
54956         * modules/malloc (Makefile.am): Likewise.
54957         * modules/mathl (Makefile.am): Likewise.
54958         * modules/mbchar (Makefile.am): Likewise.
54959         * modules/md2 (Makefile.am): Likewise.
54960         * modules/md4 (Makefile.am): Likewise.
54961         * modules/md5 (Makefile.am): Likewise.
54962         * modules/memcasecmp (Makefile.am): Likewise.
54963         * modules/memchr (Makefile.am): Likewise.
54964         * modules/memcmp (Makefile.am): Likewise.
54965         * modules/memcoll (Makefile.am): Likewise.
54966         * modules/memcpy (Makefile.am): Likewise.
54967         * modules/memmem (Makefile.am): Likewise.
54968         * modules/memmove (Makefile.am): Likewise.
54969         * modules/mempcpy (Makefile.am): Likewise.
54970         * modules/memrchr (Makefile.am): Likewise.
54971         * modules/memset (Makefile.am): Likewise.
54972         * modules/memxor (Makefile.am): Likewise.
54973         * modules/mkancesdirs (Makefile.am): Likewise.
54974         * modules/mkdir (Makefile.am): Likewise.
54975         * modules/mkdir-p (Makefile.am): Likewise.
54976         * modules/mkdtemp (Makefile.am): Likewise.
54977         * modules/mkstemp (Makefile.am): Likewise.
54978         * modules/mktime (Makefile.am): Likewise.
54979         * modules/modechange (Makefile.am): Likewise.
54980         * modules/mountlist (Makefile.am): Likewise.
54981         * modules/nanosleep (Makefile.am): Likewise.
54982         * modules/openat (Makefile.am): Likewise.
54983         * modules/pagealign_alloc (Makefile.am): Likewise.
54984         * modules/physmem (Makefile.am): Likewise.
54985         * modules/poll (Makefile.am): Likewise.
54986         * modules/posixtm (Makefile.am): Likewise.
54987         * modules/posixver (Makefile.am): Likewise.
54988         * modules/putenv (Makefile.am): Likewise.
54989         * modules/quote (Makefile.am): Likewise.
54990         * modules/quotearg (Makefile.am): Likewise.
54991         * modules/raise (Makefile.am): Likewise.
54992         * modules/read-file (Makefile.am): Likewise.
54993         * modules/readline (Makefile.am): Likewise.
54994         * modules/readlink (Makefile.am): Likewise.
54995         * modules/readtokens (Makefile.am): Likewise.
54996         * modules/readutmp (Makefile.am): Likewise.
54997         * modules/realloc (Makefile.am): Likewise.
54998         * modules/regex (Makefile.am): Likewise.
54999         * modules/rename (Makefile.am): Likewise.
55000         * modules/rename-dest-slash (Makefile.am): Likewise.
55001         * modules/rijndael (Makefile.am): Likewise.
55002         * modules/rmdir (Makefile.am): Likewise.
55003         * modules/rpmatch (Makefile.am): Likewise.
55004         * modules/safe-read (Makefile.am): Likewise.
55005         * modules/safe-write (Makefile.am): Likewise.
55006         * modules/same (Makefile.am): Likewise.
55007         * modules/save-cwd (Makefile.am): Likewise.
55008         * modules/savedir (Makefile.am): Likewise.
55009         * modules/setenv (Makefile.am): Likewise.
55010         * modules/settime (Makefile.am): Likewise.
55011         * modules/sha1 (Makefile.am): Likewise.
55012         * modules/sig2str (Makefile.am): Likewise.
55013         * modules/snprintf (Makefile.am): Likewise.
55014         * modules/stdlib-safer (Makefile.am): Likewise.
55015         * modules/stpcpy (Makefile.am): Likewise.
55016         * modules/stpncpy (Makefile.am): Likewise.
55017         * modules/strcase (Makefile.am): Likewise.
55018         * modules/strcasestr (Makefile.am): Likewise.
55019         * modules/strchrnul (Makefile.am): Likewise.
55020         * modules/strcspn (Makefile.am): Likewise.
55021         * modules/strdup (Makefile.am): Likewise.
55022         * modules/strerror (Makefile.am): Likewise.
55023         * modules/strftime (Makefile.am): Likewise.
55024         * modules/strndup (Makefile.am): Likewise.
55025         * modules/strnlen (Makefile.am): Likewise.
55026         * modules/strpbrk (Makefile.am): Likewise.
55027         * modules/strsep (Makefile.am): Likewise.
55028         * modules/strstr (Makefile.am): Likewise.
55029         * modules/strtod (Makefile.am): Likewise.
55030         * modules/strtoimax (Makefile.am): Likewise.
55031         * modules/strtok_r (Makefile.am): Likewise.
55032         * modules/strtol (Makefile.am): Likewise.
55033         * modules/strtoll (Makefile.am): Likewise.
55034         * modules/strtoul (Makefile.am): Likewise.
55035         * modules/strtoull (Makefile.am): Likewise.
55036         * modules/strtoumax (Makefile.am): Likewise.
55037         * modules/strverscmp (Makefile.am): Likewise.
55038         * modules/time_r (Makefile.am): Likewise.
55039         * modules/timegm (Makefile.am): Likewise.
55040         * modules/tmpfile-safer (Makefile.am): Likewise.
55041         * modules/unistd-safer (Makefile.am): Likewise.
55042         * modules/unlinkdir (Makefile.am): Likewise.
55043         * modules/userspec (Makefile.am): Likewise.
55044         * modules/utime (Makefile.am): Likewise.
55045         * modules/utimecmp (Makefile.am): Likewise.
55046         * modules/utimens (Makefile.am): Likewise.
55047         * modules/vasnprintf (Makefile.am): Likewise.
55048         * modules/vasprintf (Makefile.am): Likewise.
55049         * modules/vsnprintf (Makefile.am): Likewise.
55050         * modules/xalloc (Makefile.am): Likewise.
55051         * modules/xgetcwd (Makefile.am): Likewise.
55052         * modules/xnanosleep (Makefile.am): Likewise.
55053         * modules/xreadlink (Makefile.am): Likewise.
55054         * modules/xstrtod (Makefile.am): Likewise.
55055         * modules/xstrtol (Makefile.am): Likewise.
55056         * modules/xstrtold (Makefile.am): Likewise.
55057         * modules/yesno (Makefile.am): Likewise.
55058
55059 2006-10-12  Jim Meyering  <jim@meyering.net>
55060
55061         * m4/getloadavg.m4: Revert the change below.
55062
55063         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
55064         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
55065         fail with a symlink, which is what coreutils' ./bootstrap now
55066         creates by default.
55067
55068 2006-10-12  Bruno Haible  <bruno@clisp.org>
55069
55070         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
55071         mingw.
55072         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
55073         MSVC and mingw explicitly.
55074
55075 2006-10-11  Simon Josefsson  <jas@extundo.com>
55076             Bruno Haible  <bruno@clisp.org>
55077
55078         Add support for multiple gnulib-tool invocations in the scope of a
55079         single configure.ac file.
55080         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
55081         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
55082         with the same contents as the _LIBADD variable.
55083         (func_emit_initmacro_start, func_emit_initmacro_end,
55084         func_emit_initmacro_done): New functions.
55085         (func_import, func_create_testdir): Invoke them. Allow the identifiers
55086         gl_LIBOBJS and gl_LTLIBOBJS.
55087
55088 2006-10-11  Bruno Haible  <bruno@clisp.org>
55089
55090         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
55091         (func_create_testdir): Don't create po/Makefile.am, don't invoke
55092         autoreconf. Instead, invoke autopoint explicitly but move back the
55093         *.m4 files from gnulib.
55094
55095 2006-10-11  Bruno Haible  <bruno@clisp.org>
55096
55097         * gnulib-tool (func_usage): Make module names after --create-testdir
55098         optional.
55099         (func_create_testdir): If no module was specified, use nearly all
55100         modules.
55101
55102 2006-10-12  Jim Meyering  <jim@meyering.net>
55103
55104         Big performance improvement for fts-based tools that use FTS_NOSTAT.
55105         Avoid spurious inode-mismatch problems on non-POSIX file systems.
55106         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
55107         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
55108         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
55109         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
55110         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
55111         (fts_set_stat_required): New function.
55112         (fts_open): Defer the calls to fts_stat, if possible or requested.
55113         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
55114         into fts_stat itself.
55115         (fts_read): Perform any required (deferred) fts_stat call.
55116         (fts_build): Likewise, for the directory we're about to open and read.
55117         In the readdir loop, carefully decide whether each entry will require
55118         an eventual call to fts_stat, using dirent.d_type info if available.
55119         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
55120         a command line argument into this function.  Update all callers.
55121         Map a return value of FTS_DOT to FTS_D for a command line argument.
55122         * modules/fts (Depends-on): Add d-type.  Alphabetize.
55123         Thanks to Miklos Szeredi for his tenacity and for the initial
55124         bug report about "find" failing on a FUSE-based file system.
55125
55126         * lib/fts.c (fts_open): Use consistent indentation.
55127
55128 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
55129
55130         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
55131         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
55132         reported by Jim Meyering.  All uses of cache variables renamed
55133         to match Autoconf's.
55134         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
55135         the other one.
55136
55137         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
55138         Fix misspelling in diagnostic.
55139
55140 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55141
55142         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
55143         defined.  Problem reported by Matthew Woehlke.
55144
55145         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
55146         Add support for Tandem NonStop R series.
55147         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
55148         Use new macro.
55149
55150         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
55151         (has_trailing_slash): Omit size arg; all callers changed.
55152         Omit 'inline', since it doesn't help performance and we'd
55153         need to configure it.
55154         Don't count //, ///, etc. as having a trailing slash.
55155         As a side effect, this removes a C99ism reported by Matthew Woehlke.
55156         (rpl_rename_dest_slash): On failure, use rename's errno rather
55157         than (in some cases) an incorrect or junk errno.
55158         Simplify code by removing need to compute length; this does
55159         cause it to make two passes instead of one over the file name,
55160         but it's worth it.
55161
55162         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
55163         change, since Autoconf's version may no longer be appropriate now
55164         that we are using CVS Autoconf's version.  Add support for Tandem.
55165
55166 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
55167             Bruno Haible  <bruno@clisp.org>
55168
55169         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
55170         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
55171         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
55172         gl_AC_TYPE_LONG_LONG.
55173
55174         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
55175         instead of HAVE_LONG_LONG.
55176         * lib/printf-args.c (printf_fetchargs): Likewise.
55177         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
55178         * lib/vasnprintf.c (VASNPRINTF): Likewise.
55179         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
55180         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
55181         gl_AC_TYPE_LONG_LONG.
55182
55183 2006-10-11  Bruno Haible  <bruno@clisp.org>
55184
55185         * m4/longlong.m4: Add comments.
55186         * m4/ulonglong.m4: Likewise.
55187
55188 2006-10-10  Bruno Haible  <bruno@clisp.org>
55189
55190         Make it possible to #define stpcpy, strdup to aliases.
55191         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
55192         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
55193
55194 2006-10-10  Bruno Haible  <bruno@clisp.org>
55195
55196         Make it possible to #define gcd to an alias.
55197         * lib/gcd.c: Include config.h.
55198
55199 2006-10-10  Bruno Haible  <bruno@clisp.org>
55200
55201         Make it possible to #define c_isascii to an alias.
55202         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
55203         defined. Undefine the macros before defining them, to avoid gcc
55204         warnings.
55205         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
55206         define NO_C_CTYPE_MACROS early.
55207
55208 2006-10-10  Bruno Haible  <bruno@clisp.org>
55209
55210         Make it possible to #define set_program_name to an alias.
55211         * lib/progname.c: Don't undefine set_program_name; instead, undefine
55212         ENABLE_RELOCATABLE early.
55213
55214 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55215
55216         Port to Tandem NSK OSS, which has 64-bit signed int but at most
55217         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
55218         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
55219         More generally, don't assume that 64-bit signed int is available
55220         if unsigned int is, and vice versa.
55221         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
55222         unsigned symbols, not on their signed counterparts.
55223         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
55224         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
55225         (UINT64_C, UINTMAX_C):
55226         Likewise.
55227         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
55228         unsigned counterparts.
55229         (Have_long_long, Unsigned): New macros.
55230         (Int): Renamed from INT.
55231         (strtoimax): Use the new macros.
55232         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
55233         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
55234         * modules/inttypes (inttypes.h): Substitute
55235         HAVE_UNSIGNED_LONG_LONG_INT.
55236         * modules/stdint (stdint.h): Likewise.
55237         (Files): Add m4/ulonglong.m4.
55238
55239 2006-10-10  Bruno Haible  <bruno@clisp.org>
55240
55241         Fix a gcc -Wshadow warning.
55242         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
55243         to 'bucket'.
55244         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
55245         gl_linked_indexof_from_to): Likewise.
55246         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
55247         Likewise.
55248         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
55249         Likewise.
55250         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
55251         Reported by Eric Blake.
55252
55253 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
55254
55255         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
55256         for NetBSD.  Problem reported by Bruno Haible.
55257
55258 2006-10-09  Jim Meyering  <jim@meyering.net>
55259
55260         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
55261         Patch from Bruno Haible.
55262
55263 2006-10-09  Jim Meyering  <jim@meyering.net>
55264
55265         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
55266         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
55267         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
55268
55269 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
55270
55271         Don't include <config.h> twice; this doesn't work in some cases,
55272         e.g., when config.h has "#define intmax_t long long int" and
55273         we include <config.h>, <inttypes.h>, <config.h> in that order.
55274         Problem reported by Matthew Woehlke in:
55275         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
55276         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
55277         * lib/fts-cycle.c: Don't include config.h.
55278         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
55279         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
55280         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
55281         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
55282         inttypes.h.
55283         * lib/xstrtoumax.c: Likewise.
55284         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
55285         __strtol and the like, so that this module is more like its siblings.
55286         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
55287         Remove; no longer needed now that we assume gnulib inttypes.h.
55288
55289 2006-10-08  Bruno Haible  <bruno@clisp.org>
55290
55291         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
55292         option.
55293
55294 2006-10-07  Jim Meyering  <jim@meyering.net>
55295
55296         * modules/inttypes (inttypes.h): Revert what seems to have been
55297         an inadvertent part of today's change: use "|", not "/" in the
55298         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
55299
55300 2006-10-07  Bruno Haible  <bruno@clisp.org>
55301
55302         * modules/sublist: New file.
55303
55304 2006-10-07  Bruno Haible  <bruno@clisp.org>
55305
55306         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
55307         * modules/argz (argz.h): Likewise.
55308         * modules/arpa_inet (arpa/inet.h): Likewise.
55309         * modules/byteswap (byteswap.h): Likewise.
55310         * modules/configmake (configmake.h): Likewise.
55311         * modules/fcntl (fcntl.h): Likewise.
55312         * modules/fnmatch (fnmatch.h): Likewise.
55313         * modules/getopt (getopt.h): Likewise.
55314         * modules/glob (glob.h): Likewise.
55315         * modules/inttypes (inttypes.h): Likewise.
55316         * modules/netinet_in (netinet/in.h): Likewise.
55317         * modules/poll (poll.h): Likewise.
55318         * modules/stdbool (stdbool.h): Likewise.
55319         * modules/stdint (stdint.h): Likewise.
55320         * modules/sys_select (sys/select.h): Likewise.
55321         * modules/sys_socket (sys/socket.h): Likewise.
55322         * modules/sys_stat (sys/stat.h): Likewise.
55323         * modules/sysexits (sysexits.h): Likewise.
55324         * modules/unistd (unistd.h): Likewise.
55325         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55326         Add a "DO NOT EDIT" comment to the generated file.
55327         (func_import): Likewise for gnulib-comp.m4.
55328
55329 2006-10-07  Bruno Haible  <bruno@clisp.org>
55330
55331         * lib/gl_sublist.h: New file.
55332         * lib/gl_sublist.c: New file.
55333
55334 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55335
55336         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
55337         name (relative to the original working directory) and the file
55338         name component (relative to the temporary working directory).  All
55339         callers changed.
55340         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
55341         * lib/mkdir-p.c (make_dir_parents): Likewise.
55342         * lib/mkdir-p.h (make_dir_parents): Likewise.
55343
55344 2006-10-06  Eric Blake  <ebb9@byu.net>
55345
55346         Define several macros for use by the clean-temp module.
55347         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
55348         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
55349         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
55350
55351         * lib/clean-temp.h (close_stream_temp): New declaration.
55352         * lib/clean-temp.c (includes): Pull in headers according to what
55353         other modules are in use.
55354         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
55355
55356 2006-10-06  Bruno Haible  <bruno@clisp.org>
55357
55358         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
55359         instead of fopen, fwriteerror.
55360
55361 2006-10-06  Bruno Haible  <bruno@clisp.org>
55362
55363         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
55364         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
55365         int.
55366         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
55367         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
55368         Return an error indicator.
55369         Suggested by Eric Blake.
55370
55371 2006-10-06  Bruno Haible  <bruno@clisp.org>
55372
55373         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
55374         Reported by Eric Blake.
55375
55376 2006-10-06  Bruno Haible  <bruno@clisp.org>
55377
55378         * modules/closeout (Description): Mention stderr too.
55379
55380 2006-10-06  Bruno Haible  <bruno@clisp.org>
55381         and Paul Eggert  <eggert@cs.ucla.edu>
55382
55383         * lib/closeout.c (close_stdout): Also close stderr.
55384         * lib/closeout.h: Update comment.
55385
55386 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55387
55388         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
55389         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
55390         * lib/dirchownmod.c: Include lchown.h.
55391         * lib/lchown.c: Don't include files that lchown.h now includes.
55392         Don't declare chown, since lchown.h now does that.
55393         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
55394         (lchown): Define to rpl_chown if lchown is declared but
55395         does not exist.  Declare using a prototype if lchown is not
55396         declared.  Add a copyright notice.
55397         * lib/mkstemp.h: Include <unistd.h>.
55398         * lib/openat.c: Include lchown.h.
55399
55400         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
55401         we now test for that separately.
55402         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
55403         rather than O_NOFOLLOW, when testing whether it's possible to
55404         avoid a race condition reliably.
55405         * lib/savewd.c (savewd_chdir): Likewise.
55406
55407         Remove macros that are no longer needed now that stdint.h is
55408         reliable.
55409         * lib/fsusage.c (UINTMAX_MAX): Remove.
55410         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
55411         * lib/utimecmp.c (SIZE_MAX): Remove.
55412
55413         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
55414
55415         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
55416         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
55417         O_NOATIME works.
55418
55419 2006-10-05  Bruno Haible  <bruno@clisp.org>
55420
55421         * lib/gl_list.h (gl_sortedlist_search_from_to,
55422         gl_sortedlist_indexof_from_to): New declarations.
55423         (gl_list_implementation): New fields sortedlist_search_from_to,
55424         sortedlist_indexof_from_to.
55425         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
55426         inline functions.
55427         * lib/gl_list.c (gl_sortedlist_search_from_to,
55428         gl_sortedlist_indexof_from_to): New functions.
55429         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
55430         function.
55431         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
55432         (gl_array_sortedlist_search_from_to): New function.
55433         (gl_array_list_implementation): Update.
55434         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
55435         function.
55436         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
55437         (gl_carray_sortedlist_search_from_to): New function.
55438         (gl_carray_list_implementation): Update.
55439         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
55440         gl_linked_sortedlist_indexof_from_to): New functions.
55441         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55442         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55443         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
55444         gl_tree_sortedlist_indexof_from_to): New functions.
55445         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55446         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55447         Update.
55448         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55449         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
55450         Update.
55451
55452 2006-10-05  Bruno Haible  <bruno@clisp.org>
55453
55454         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
55455         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
55456         (struct gl_list_implementation): Add fields search_from_to,
55457         indexof_from_to. Remove fields search, indexof.
55458         (gl_list_search): Use the search_from_to method.
55459         (gl_list_search_from, gl_list_search_from_to): New functions.
55460         (gl_list_indexof): Use the indexof_from_to method.
55461         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55462         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
55463         (gl_list_search_from, gl_list_search_from_to): New functions.
55464         (gl_list_indexof): Use the indexof_from_to method.
55465         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
55466         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
55467         gl_array_indexof. Add start_index, end_index arguments.
55468         (gl_array_search_from_to): Renamed from gl_array_search. Add
55469         start_index, end_index arguments.
55470         (gl_array_remove, gl_array_list_implementation): Update.
55471         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
55472         gl_carray_indexof. Add start_index, end_index arguments.
55473         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
55474         start_index, end_index arguments.
55475         (gl_carray_remove, gl_carray_list_implementation): Update.
55476         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
55477         gl_linked_search. Add start_index, end_index arguments.
55478         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
55479         start_index, end_index arguments.
55480         (gl_linked_remove): Update.
55481         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55482         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55483         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
55484         field to 'size_t'.
55485         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
55486         gl_tree_search. Add start_index, end_index arguments.
55487         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55488         start_index, end_index arguments.
55489         (gl_tree_remove): Update.
55490         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55491         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55492         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
55493         function.
55494         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
55495         gl_tree_search. Add start_index, end_index arguments.
55496         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
55497         start_index, end_index arguments.
55498         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55499         Update.
55500         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55501
55502 2006-10-05  Bruno Haible  <bruno@clisp.org>
55503
55504         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
55505
55506         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
55507         fwriteerror_temp): New declarations.
55508         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
55509         (descriptors): New variable.
55510         (cleanup): First, close the descriptors.
55511         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
55512         fclose_temp, fwriteerror_temp): New functions.
55513
55514 2006-10-04  Jim Meyering  <jim@meyering.net>
55515
55516         * lib/fts.c (fts_open): Tiny comment change.
55517
55518 2006-10-04  Bruno Haible  <bruno@clisp.org>
55519
55520         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
55521         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
55522         gl_LOCK_BODY.
55523         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
55524         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
55525         gl_LOCK_EARLY_BODY.
55526         (gl_LOCK): Require gl_LOCK_BODY.
55527
55528 2006-10-04  Bruno Haible  <bruno@clisp.org>
55529
55530         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
55531         (gl_oset_search_atleast): New declaration.
55532         (struct gl_oset_implementation): Add field 'search_atleast'.
55533         (gl_oset_search_atleast): New inline function.
55534         * lib/gl_oset.c (gl_oset_search_atleast): New function.
55535         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
55536         (gl_array_oset_implementation): Update.
55537         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
55538         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
55539         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
55540
55541 2006-10-04  Bruno Haible  <bruno@clisp.org>
55542
55543         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
55544
55545 2006-10-03  Bruno Haible  <bruno@clisp.org>
55546
55547         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
55548         from gl_avltreehash_list_implementation.
55549
55550 2006-10-03  Bruno Haible  <bruno@clisp.org>
55551
55552         * lib/gl_oset.c (gl_oset_add): Fix return type.
55553
55554 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
55555
55556         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
55557
55558 2006-10-02  Eric Blake  <ebb9@byu.net>
55559
55560         * modules/strnlen (Depends-on): Add extensions.
55561
55562 2006-10-02  Eric Blake  <ebb9@byu.net>
55563
55564         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
55565         definition in 2.60+.
55566
55567 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
55568
55569         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
55570         checks.
55571
55572 2006-10-02  Bruno Haible  <bruno@clisp.org>
55573
55574         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
55575         to the AUTOMAKE_OPTIONS.
55576         Reported by Jim Meyering.
55577
55578 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55579
55580         Work around bug in Solaris 10 /proc file system:
55581         /proc/self/fd/NNN/.. isn't the parent directory of
55582         the directory whose file descriptor is NNN.  This needs to
55583         be worked around at run time, not compile time, since a
55584         program might be built on Solaris 8, where things work, and
55585         run on Solaris 10.
55586         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
55587         to use the following interface instead:
55588         (OPENAT_BUFFER_SIZE): New macro.
55589         (openat_proc_name): New function.
55590         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
55591         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
55592         Likewise.
55593         * lib/openat-proc.c: New file.
55594         * modules/openat (Files): Add lib/openat-proc.c.
55595         (Depends-on): Add same-inode, stdbool.
55596         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
55597
55598 2006-09-29  Bruno Haible  <bruno@clisp.org>
55599
55600         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
55601         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
55602         argument. Set stdout_closed before testing for ferror, not after.
55603         (fwriteerror, fwriteerror_no_ebadf): New functions.
55604
55605 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55606
55607         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
55608
55609 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
55610
55611         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
55612         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
55613
55614 2006-09-28  Jim Meyering  <jim@meyering.net>
55615
55616         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
55617         Include <unistd.h>.
55618
55619 2006-09-28  Bruno Haible  <bruno@clisp.org>
55620
55621         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
55622         * modules/linkedhash-list (Depends-on): Likewise.
55623         * modules/rbtreehash-list (Depends-on): Likewise.
55624
55625 2006-09-28  Bruno Haible  <bruno@clisp.org>
55626
55627         * lib/strndup.h: Simplify the redefinition of strndup.
55628         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
55629         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
55630
55631 2006-09-28  Bruno Haible  <bruno@clisp.org>
55632
55633         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
55634         * lib/gl_linkedhash_list.c: Likewise.
55635         * lib/gl_rbtreehash_list.c: Likewise.
55636
55637 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55638
55639         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
55640         getaddrinfo.
55641
55642         * lib/__fpending.h: Don't include <stdio_ext.h> unless
55643         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
55644         it causes <stdio_ext.h> to cause a compile-time error.
55645         Problem reported by Nelson H. F. Beebe.
55646         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
55647         of HAVE_DECL___PENDING.
55648
55649         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
55650         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
55651         declaration.
55652
55653 2006-09-27  Jim Meyering  <jim@meyering.net>
55654
55655         This file could end up with a definition for a function
55656         named __strndup, rather than rpl_strndup on a system with
55657         incomplete weak_alias support.
55658         * lib/strndup.c (strndup): Rename from __strndup.
55659         Remove #defines that used to map __strndup to strndup.
55660         Don't use K&R prototypes.
55661         Remove LIBC-related code, since this file is not sync'd with glibc.
55662         * lib/strndup.h: Revamp, accordingly.
55663         * m4/strndup.m4: Modernize.
55664
55665 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55666
55667         * modules/savewd (Depends-on): Add 'raise'.
55668         * lib/savewd.c: Include <signal.h>, for 'raise'.
55669
55670 2006-09-26  Jim Meyering  <jim@meyering.net>
55671
55672         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
55673         when we detect Darwin 8.7.0's acl_get_file bug.
55674         Rearrange to perform the new (below) run-test while $LIBS
55675         contains any acl-related library.  Set USE_ACL at the end.
55676         (gl_ACL_GET_FILE): New function.
55677
55678 2006-09-26  Eric Blake  <ebb9@byu.net>
55679
55680         * lib/verror.c: Include <config.h> unconditionally.
55681
55682 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
55683
55684         * modules/clock-time (Maintainer): Add self.
55685         * modules/getlogin_r (Depends-on): Add extensions.
55686
55687 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55688
55689         * modules/clock-time: New module.
55690         * modules/nanosleep (Depends-on): Add clock-time.
55691         * modules/gethrxtime (Depends-on): Likewise.
55692         * modules/gettime (Depends-on): Likewise.
55693         * modules/settime (Depends-on): Likewise.
55694
55695         * modules/fts-lgpl: Depend on openat.
55696         * modules/mkancesdirs: Depend on savewd.
55697         * modules/mkdir-p: Likewise.
55698
55699 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55700
55701         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
55702
55703         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
55704         `gl_have_arbitrary_file_name_length_limit' to
55705         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
55706         actually works between configure runs.
55707
55708 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55709             Bruno Haible  <bruno@clisp.org>
55710
55711         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
55712
55713 2006-09-25  Jim Meyering  <jim@meyering.net>
55714
55715         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
55716         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
55717
55718 2006-09-25  Eric Blake  <ebb9@byu.net>
55719
55720         * gnulib-tool (func_import, func_create_testdir): Fix typos in
55721         exec's in 2006-09-18 patch when shuffling fds.
55722
55723 2006-09-25  Bruno Haible  <bruno@clisp.org>
55724
55725         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
55726         Reported by Jim Meyering.
55727
55728 2006-09-24  Jim Meyering  <jim@meyering.net>
55729
55730         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
55731         compare a pointer against a literal "0".  That caused failures with
55732         at least HP-UX's hpcc.
55733
55734 2006-09-22  Simon Josefsson  <jas@extundo.com>
55735
55736         * modules/gc-sha1:
55737         * modules/gc-md4:
55738         * modules/gc-hmac-sha1:
55739         * modules/gc-hmac-md5:
55740         * modules/gc-des:
55741         * modules/gc-arcfour: Distribute more files.
55742
55743 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55744
55745         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
55746         (gl_linked_iterator_from_to): Initialize struct completely.
55747         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
55748         (gl_tree_iterator_from_to): Likewise
55749         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
55750         * lib/gl_array_list.c [lint] (gl_array_iterator)
55751         (gl_array_iterator_from_to): Likewise.
55752         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
55753         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
55754         (gl_carray_iterator_from_to): Likewise.
55755
55756         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
55757         * lib/md4.c (md4_process_block): Remove unused variable.
55758         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
55759         parentheses for clarity.
55760
55761 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55762
55763         * modules/bison-i18n (Depends-on): Add gettext.
55764
55765 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55766
55767         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
55768         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
55769         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
55770         also add missing comma that caused broken test.
55771         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
55772         stdlib.h, for `abort'.
55773         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
55774         variables.
55775         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
55776         include unistd.h if present, for `rmdir'.
55777         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
55778         variables.
55779         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
55780         in the process include standard headers for prototypes.
55781         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
55782         gets declared on GNU/Linux.
55783         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
55784         unistd.h, for `rmdir'.
55785         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
55786
55787         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
55788         always true.
55789         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
55790
55791         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
55792
55793 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55794
55795         * gnulib-tool (func_version): Create output all at once.  This
55796         may help avoid triggering unnecessary SIGPIPEs, and at any
55797         rate it doesn't hurt.
55798
55799 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55800             Bruno Haible  <bruno@clisp.org>
55801
55802         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
55803         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55804         * m4/signed.m4 (bh_C_SIGNED): Likewise.
55805
55806         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
55807         (gl_FUNC_VASPRINTF): Invoke it.
55808
55809 2006-09-22  Bruno Haible  <bruno@clisp.org>
55810
55811         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
55812         getloadavg.c as first argument.
55813
55814 2006-09-22  Bruno Haible  <bruno@clisp.org>
55815
55816         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
55817         at the beginning of the gl_INIT macro.
55818         * modules/getloadavg (configure.ac): Pass $gl_source_base to
55819         gl_GETLOADAVG.
55820
55821 2006-09-22  Bruno Haible  <bruno@clisp.org>
55822
55823         * gnulib-tool (func_create_megatestdir): Don't include the config-h
55824         module.
55825         Suggested by Ralf Wildenhues.
55826
55827 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
55828
55829         Import this patch from libc:
55830
55831         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
55832
55833         * lib/regex_internal.c (re_string_reconstruct): Handle
55834         offset < pstr->valid_raw_len && pstr->offsets_needed case.
55835         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
55836         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
55837         re_string_context_at.
55838
55839         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
55840         now requires it.
55841         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
55842         gl_REGEX now does it for us.
55843         (gl_REGEX): Add test taken from
55844         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
55845
55846         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
55847         Check that large offsets work.  Modernize Autoconf usages.
55848         Prefer "yes" to mean a good thing rather than a bad.
55849         Don't put "#define mkstemp" in config.h, as this might interfere
55850         with standard system headers that "#define mkstemp mkstemp64".
55851
55852         * modules/mkstemp (Depends-on): Add extensions, so that
55853         mkstemp is visible on some platforms.
55854         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
55855         (Include): Change to "mkstemp.h" from <stdlib.h>.
55856         (Files): Add mkstemp.h.
55857
55858         * lib/mkstemp.h: New file, since some standard headers
55859         #define mkstemp.
55860         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
55861         Include "mkstemp.h".
55862         Make the _LIBC code resemble glibc original more,
55863         e.g., use K&R style.
55864         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
55865         (mkstemp): Remove, since mkstemp.h does this for us.
55866         * lib/stdlib--.h: Include mkstemp.h.
55867
55868         Import this patch from libc:
55869
55870         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55871
55872         * lib/tempname.c (__gen_tempname): Change attempts_min
55873         into a macro.  Use preprocessor to decide how to initialize
55874         attempts [Coverity CID 67].
55875
55876 2006-09-20  Bruno Haible  <bruno@clisp.org>
55877
55878         * lib/mkdtemp.c: Import from libc.
55879         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
55880                 * sysdeps/posix/tempname.c (__gen_tempname): Change
55881                 attempts_min into a macro.  Use preprocessor to decide how to
55882                 initialize attempts [Coverity CID 67].
55883         2001-11-27  Paul Eggert  <eggert@twinsun.com>
55884                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
55885                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
55886
55887 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55888
55889         * gnulib-tool (func_exit): New function, to allow to pass the
55890         exit status portably through the trap.  Use everywhere.
55891         (--help, --version): Signal a write error.
55892         (trap): catch SIGPIPE, for write errors.
55893         Exit at the end of the trap, with the correct exit status.
55894
55895 2006-09-19  Karl Berry  <karl@gnu.org>
55896
55897         * doc/gnulib.texi: note about the license texinfo files.
55898
55899 2006-09-19  Eric Blake  <ebb9@byu.net>
55900
55901         * gnulib-tool: Avoid space-tab.
55902
55903 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55904
55905         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
55906         that prevented coreutils 6.1 from building.  Problem reported
55907         by Petter Reinholdtsen.
55908
55909 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
55910
55911         * gnulib-tool (avoidlist): Fix typo that broke options like
55912         --avoid=lock that are used by coreutils bootstrap.
55913
55914 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
55915
55916         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
55917         more systematically.
55918
55919 2006-09-18  Jim Meyering  <jim@meyering.net>
55920
55921         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
55922
55923 2006-09-18  Bruno Haible  <bruno@clisp.org>
55924
55925         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
55926
55927 2006-09-18  Bruno Haible  <bruno@clisp.org>
55928
55929         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
55930         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
55931         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
55932         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
55933         * m4/gettext.m4: Require autoconf >= 2.52.
55934         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
55935         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
55936         of gl_cv_header_inttypes_h.
55937
55938 2006-09-18  Bruno Haible  <bruno@clisp.org>
55939
55940         * lib/javaversion.c: Include configmake.h.
55941
55942 2006-09-18  Bruno Haible  <bruno@clisp.org>
55943
55944         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
55945         avoid that the while loops be executed in a subshell.
55946
55947 2006-09-18  Bruno Haible  <bruno@clisp.org>
55948
55949         * MODULES.html.sh (func_module): Break long lines.
55950         Suggested by Bruce Korb <bkorb@gnu.org>.
55951
55952 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55953
55954         Speed up by a factor of 1.12.
55955         * gnulib-tool (nl): New variable.
55956         (func_import): Rewrite include directive extraction to only read each
55957         directive once.
55958
55959 2006-09-17  Bruno Haible  <bruno@clisp.org>
55960
55961         * modules/javaversion (Makefile.am): Remove DEFS setting.
55962         (Depends-on): Add configmake, for PKGDATADIR definition.
55963
55964 2006-09-17  Bruno Haible  <bruno@clisp.org>
55965
55966         * gnulib-tool (func_create_testdir): Rewrite all files at once.
55967
55968 2006-09-17  Bruno Haible  <bruno@clisp.org>
55969
55970         * gnulib-tool (func_append): New function, stolen from libtool.m4.
55971         (func_modules_transitive_closure, func_modules_add_dummy,
55972         func_modules_to_filelist, func_import, func_create_testdir,
55973         func_create_megatestdir, ...): Use it wherever possible.
55974         Suggested by Ralf Wildenhues.
55975
55976 2006-09-16  Karl Berry  <karl@gnu.org>
55977
55978         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
55979         to avoid sectioning errors.
55980         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
55981         [ifinfo]: blank line after @center-ed titles.
55982         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
55983         Spell FSF address consistently with others.
55984         (These changes approved by rms.)
55985
55986 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55987
55988         Speed up by a factor of 1.61.
55989         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
55990         already checked module names again.
55991
55992 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55993
55994         Speed up by a factor of 1.13.
55995         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
55996         for new_files, and the input to func_add_or_update.
55997
55998 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55999
56000         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
56001         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
56002
56003 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56004
56005         * modules/mkancesdirs (Depends-on): Add fcntl.
56006         * modules/savewd: New file.
56007         * MODULES.html.sh (File system functions): Add savewd.
56008
56009         * modules/configmake (Makefile.am): Add support for the
56010         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
56011
56012 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56013
56014         * m4/savewd.m4: New file.
56015
56016 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
56017
56018         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
56019         (dirchownmod): New arg FD.  All callers changed.
56020         Use FD rather than opening the directory ourself, as opening is
56021         now the caller's responsibility.
56022         * lib/dirchownmod.h: Likewise.
56023         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
56024         hosts that require <sys/types.h> before <sys/stat.h>.  Include
56025         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
56026         (test_dir): Remove.
56027         (mkancesdirs): Return length of prefix of FILE that has already
56028         been made, or -2 if there is a child doing the work.  Redo
56029         algorithm so that it is O(N) rather than O(N**2).  Optimize away
56030         ".", and treat ".." specially since it might stray back into
56031         already-created areas.  Use a subprocess if necessary.  New arg
56032         WD; all users changed.  MAKE_DIR function should now return 1
56033         if it creates a directory that is not readable.  Return -2 if
56034         a child process is spun off.
56035         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
56036         Adjust signature to match code.
56037         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
56038         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
56039         all users changed.
56040         * lib/savewd.c, lib/savewd.h: New files.
56041
56042 2006-09-15  Jim Meyering  <jim@meyering.net>
56043
56044         * modules/rename-dest-slash: New module.
56045         * MODULES.html.sh (posix_compat): Add it here.
56046
56047         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
56048
56049 2006-09-15  Jim Meyering  <jim@meyering.net>
56050
56051         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
56052         file.
56053
56054         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
56055
56056 2006-09-15  Jim Meyering  <jim@meyering.net>
56057
56058         * lib/rename-dest-slash.c (has_trailing_slash): Use
56059         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
56060         (rpl_rename_dest_slash): Perform the cheaper trailing slash
56061         test before testing whether SRC is a directory.
56062         Suggestions from Bruno Haible.
56063
56064         Avoid a warning about an unused variable.
56065         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
56066         into the #ifdef block where it's used.
56067
56068         * lib/rename-dest-slash.c: New file.
56069
56070 2006-09-14  Bruno Haible  <bruno@clisp.org>
56071
56072         * lib/allocsa.c: Include <config.h> unconditionally.
56073         * lib/asnprintf.c: Likewise.
56074         * lib/asprintf.c: Likewise.
56075         * lib/c-strcasecmp.c: Likewise.
56076         * lib/c-strcasestr.c: Likewise.
56077         * lib/c-strncasecmp.c: Likewise.
56078         * lib/c-strstr.c: Likewise.
56079         * lib/classpath.c: Likewise.
56080         * lib/clean-temp.c: Likewise.
56081         * lib/concatpath.c: Likewise.
56082         * lib/copy-file.c: Likewise.
56083         * lib/csharpcomp.c: Likewise.
56084         * lib/csharpexec.c: Likewise.
56085         * lib/execute.c: Likewise.
56086         * lib/fatal-signal.c: Likewise.
56087         * lib/findprog.c: Likewise.
56088         * lib/fwriteerror.c: Likewise.
56089         * lib/gl_array_list.c: Likewise.
56090         * lib/gl_array_oset.c: Likewise.
56091         * lib/gl_avltree_list.c: Likewise.
56092         * lib/gl_avltree_oset.c: Likewise.
56093         * lib/gl_avltreehash_list.c: Likewise.
56094         * lib/gl_carray_list.c: Likewise.
56095         * lib/gl_linked_list.c: Likewise.
56096         * lib/gl_linkedhash_list.c: Likewise.
56097         * lib/gl_list.c: Likewise.
56098         * lib/gl_oset.c: Likewise.
56099         * lib/gl_rbtree_list.c: Likewise.
56100         * lib/gl_rbtree_oset.c: Likewise.
56101         * lib/gl_rbtreehash_list.c: Likewise.
56102         * lib/imaxabs.c: Likewise.
56103         * lib/imaxdiv.c: Likewise.
56104         * lib/javacomp.c: Likewise.
56105         * lib/javaexec.c: Likewise.
56106         * lib/javaversion.c: Likewise.
56107         * lib/linebreak.c: Likewise.
56108         * lib/localcharset.c: Likewise.
56109         * lib/lock.c: Likewise.
56110         * lib/mbchar.c: Likewise.
56111         * lib/mbswidth.c: Likewise.
56112         * lib/mkdtemp.c: Likewise.
56113         * lib/pipe.c: Likewise.
56114         * lib/printf-args.c: Likewise.
56115         * lib/printf-parse.c: Likewise.
56116         * lib/progname.c: Likewise.
56117         * lib/progreloc.c: Likewise.
56118         * lib/readlink.c: Likewise.
56119         * lib/sh-quote.c: Likewise.
56120         * lib/stpcpy.c: Likewise.
56121         * lib/stpncpy.c: Likewise.
56122         * lib/strcasecmp.c: Likewise.
56123         * lib/strcasestr.c: Likewise.
56124         * lib/strcspn.c: Likewise.
56125         * lib/striconv.c: Likewise.
56126         * lib/strncasecmp.c: Likewise.
56127         * lib/strnlen1.c: Likewise.
56128         * lib/strstr.c: Likewise.
56129         * lib/strtok_r.c: Likewise.
56130         * lib/tls.c: Likewise.
56131         * lib/tmpdir.c: Likewise.
56132         * lib/unicodeio.c: Likewise.
56133         * lib/unsetenv.c: Likewise.
56134         * lib/vasnprintf.c: Likewise.
56135         * lib/vasprintf.c: Likewise.
56136         * lib/wait-process.c: Likewise.
56137         * lib/xallocsa.c: Likewise.
56138         * lib/xsetenv.c: Likewise.
56139         * lib/xstriconv.c: Likewise.
56140
56141 2006-09-13  Simon Josefsson  <jas@extundo.com>
56142
56143         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
56144         that internally, suggested by Ralf Wildenhues
56145         <Ralf.Wildenhues@gmx.de>.
56146
56147 2006-09-13  Simon Josefsson  <jas@extundo.com>
56148
56149         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
56150         @LIBOBJS@.
56151         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56152
56153 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
56154
56155         * lib/_fpending.c: Include <config.h> unconditionally, since we no
56156         longer worry about uses that don't define HAVE_CONFIG_H.
56157         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
56158         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
56159         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
56160         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
56161         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
56162         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
56163         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
56164         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
56165         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
56166         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
56167         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
56168         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
56169         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
56170         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
56171         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
56172         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
56173         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
56174         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
56175         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
56176         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
56177         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
56178         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
56179         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
56180         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
56181         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
56182         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
56183         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
56184         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
56185         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
56186         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
56187         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
56188         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
56189         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
56190         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
56191         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
56192         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
56193         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
56194         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
56195         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
56196         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
56197         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
56198         Likewise.
56199
56200 2006-09-13  Eric Blake  <ebb9@byu.net>
56201
56202         * lib/getopt.c: Fix typo in last commit.
56203
56204 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
56205
56206         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
56207         dgettext.
56208
56209 2006-09-12  Jim Meyering  <jim@meyering.net>
56210
56211         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
56212         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
56213         Reported by Nelson H. F. Beebe.
56214
56215 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
56216
56217         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
56218         program_invocation_name and program_invocation_short_name are
56219         initialized.
56220         * lib/argp-namefrob.h: Move declarations of program_invocation_name
56221         and program_invocation_short_name to argp.h, so they are visible
56222         to user programs.
56223         * lib/argp.h: Likewise
56224
56225 2006-09-10  Bruno Haible  <bruno@clisp.org>
56226
56227         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
56228         m4/inttypes_h.m4, m4/uintmax_t.m4.
56229
56230 2006-09-10  Bruno Haible  <bruno@clisp.org>
56231
56232         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
56233         gl_AC_TYPE_UINTMAX_T.
56234
56235 2006-09-10  Bruno Haible  <bruno@clisp.org>
56236
56237         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
56238
56239 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56240
56241         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
56242         convention.  Text proposed by Bruno Haible.
56243         (struct argp_option): Document the use of N_() wrappers.
56244
56245         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
56246         '\v', and translate the two parts separately, instead of feeding
56247         the whole string to gettext.  This allows to exclude
56248         '\v' from the strings visible to the translator by writing doc
56249         strings as N_("..") "\v" N_("..").
56250
56251 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
56252
56253         * config/srclist.txt: Undo latest change; the bug was fixed.
56254
56255 2006-09-09  Bruno Haible  <bruno@clisp.org>
56256
56257         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
56258         assignments if building a library without libtool.
56259         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
56260         in func_emit_lib_Makefile_am.
56261         (func_import): When building a static library libfoo.a, arrange to
56262         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
56263         (func_create_testdir): Likewise.
56264         * modules/gc (configure.ac, Makefile.am): If building statically,
56265         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
56266         * modules/iconvme (configure.ac, Makefile.am): Likewise.
56267         * modules/striconv (configure.ac, Makefile.am): Likewise.
56268         Based on a suggestion by Ralf Wildenhues.
56269
56270 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56271
56272         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
56273         Check for unistd.h too, since Autoconf doesn't assume POSIX.
56274         Also:
56275
56276         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56277         Add year_2050_test to catch glibc bug 2821
56278         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56279
56280         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
56281         Prefer #ifdef to #if.
56282
56283         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
56284         Return from 'main' instead of calling 'exit'.
56285
56286 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56287
56288         * lib/mktime.c (guess_time_tm): Fix bug where mktime
56289         returned the maximum time_t value rather than (time_t) -1.
56290         Problem originally reported by William Bardwell
56291         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
56292
56293         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56294         Moved to here ...
56295         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
56296         ... from here.
56297
56298 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56299
56300         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
56301         2821 is fixed.
56302
56303 2006-09-08  Jim Meyering  <jim@meyering.net>
56304
56305         Don't make generated files read-only.  That would bother too many
56306         people.  However, do retain the ability to work when targets are
56307         read-only: remove the destination and temporary files before writing
56308         them (when generated via sed or echo), or by using the -f option for
56309         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
56310         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56311         * modules/byteswap, modules/configmake, modules/fcntl:
56312         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56313         * modules/localcharset, modules/netinet_in, modules/poll:
56314         * modules/stdbool, modules/stdint, modules/sys_select:
56315         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56316
56317 2006-09-08  Jim Meyering  <jim@meyering.net>
56318
56319         Avoid new build failure on FreeBSD 6.0.
56320         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
56321         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
56322         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
56323
56324 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56325
56326         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
56327
56328 2006-09-07  Jim Meyering  <jim@meyering.net>
56329
56330         Fix global typo in last change: use chmod u-w, not chmod u-x.
56331         Spotted by Paul Eggert and Bruce Korb.
56332         * modules/alloca-opt, modules/argz, modules/arpa_inet:
56333         * modules/byteswap, modules/configmake, modules/fcntl:
56334         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
56335         * modules/localcharset, modules/netinet_in, modules/poll:
56336         * modules/stdbool, modules/stdint, modules/sys_select:
56337         * modules/sys_socket, modules/sys_stat, modules/sysexits:
56338
56339 2006-09-06  Jim Meyering  <jim@meyering.net>
56340
56341         Make generated files be read-only.
56342         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
56343         Ensure that each generated file is now read-only.
56344         * modules/argz: Likewise.
56345         * modules/arpa_inet: Likewise.
56346         * modules/byteswap: Likewise.
56347         * modules/configmake: Likewise.
56348         * modules/fcntl: Likewise.
56349         * modules/fnmatch: Likewise.
56350         * modules/getopt: Likewise.
56351         * modules/glob: Likewise.
56352         * modules/inttypes: Likewise.
56353         * modules/netinet_in: Likewise.
56354         * modules/poll: Likewise.
56355         * modules/stdbool: Likewise.
56356         * modules/stdint: Likewise.
56357         * modules/sys_select: Likewise.
56358         * modules/sys_socket: Likewise.
56359         * modules/sys_stat: Likewise.
56360         * modules/sysexits: Likewise.
56361         * modules/localcharset: Same as above, but continue using temporary
56362         file named "t-$@" (why different?) rather than the "$@-t" used
56363         everywhere else.
56364
56365         * modules/sysexits (Makefile.am): Replace literal occurrences
56366         of "sysexit.h" more readable, and more consistent, "$@".
56367
56368 2006-09-06  Bruno Haible  <bruno@clisp.org>
56369
56370         * modules/striconv: New file.
56371         * modules/xstriconv: New file.
56372         * MODULES.html.sh (Internationalization functions): Add striconv,
56373         xstriconv.
56374
56375 2006-09-06  Bruno Haible  <bruno@clisp.org>
56376
56377         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
56378         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
56379         not using libtool correctly.
56380
56381 2006-09-06  Bruno Haible  <bruno@clisp.org>
56382
56383         * lib/striconv.h: New file.
56384         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
56385         iconvstring.c.
56386         * lib/xstriconv.h: New file.
56387         * lib/xstriconv.c: New file.
56388
56389 2006-09-06  Bruno Haible  <bruno@clisp.org>
56390
56391         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
56392         lib_..._LDFLAGS.
56393
56394 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56395
56396         * lib/argz_.h: Sync from Libtool.
56397
56398         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
56399                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
56400
56401         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
56402
56403 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56404
56405         * modules/trim: New file.
56406
56407 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
56408
56409         * lib/trim.h: New file.
56410         * lib/trim.c: New file.
56411
56412 2006-09-05  Bruno Haible  <bruno@clisp.org>
56413
56414         * MODULES.html.sh (String handling): Add trim.
56415
56416 2006-09-04  Karl Berry  <karl@gnu.org>
56417
56418         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
56419         until next release.
56420
56421 2006-09-03  Bruno Haible  <bruno@clisp.org>
56422
56423         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
56424         correctly.
56425
56426 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56427
56428         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
56429         not gl_GETLOADAVG.  Omit unneeded semicolons.
56430         Problems reported by Ralf Wildenhues in
56431         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56432         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
56433         at the end, which is the usual gnulib style.
56434
56435         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
56436         of doing all the work ourselves.
56437         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
56438         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
56439
56440 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56441
56442         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
56443         Problem reported by Ralf Wildenhues in
56444         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
56445
56446         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
56447         HAVE_STRUCT_STATFS_F_FSTYPENAME.
56448
56449 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56450
56451         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
56452         yesterday's patch by changing test -n to test -z.
56453
56454 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56455
56456         * modules/getloadavg (Files): Add m4/getloadavg.m4.
56457         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
56458         the former is now obsolescent.
56459
56460         * modules/chdir-long (Depends-on): Add fcntl.
56461
56462 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56463
56464         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
56465         obsolescent, and programs should use gnulib instead.
56466         * m4/getloadavg.m4: New file, with contents taken from Autoconf
56467         but with prefixes changed.
56468
56469 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56470
56471         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
56472         or stdbool.h, because they might not exist while configuring.
56473
56474         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
56475         Don't include unistd.h or limits.h; not needed, since chdir-long.h
56476         does that for us.
56477         (O_DIRECTORY): Remove.
56478
56479 2006-08-31  Eric Blake  <ebb9@byu.net>
56480
56481         * gnulib-tool: Don't let emacs change spaces to TAB.
56482
56483 2006-08-31  Bruno Haible  <bruno@clisp.org>
56484
56485         * gnulib-tool: When calling func_import more than once, do it in a
56486         subshell.
56487         Reported by Eric Blake <ebb9@byu.net>.
56488
56489 2006-08-31  Bruno Haible  <bruno@clisp.org>
56490
56491         * gnulib-tool (nl): Remove variable.
56492         (sed_transform_lib_file): Use more robust test for config-h module.
56493         (func_import): Fix typo in 2006-08-25 patch.
56494
56495 2006-08-31  Bruno Haible  <bruno@clisp.org>
56496
56497         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
56498         specified, augment Makefile.am variables instead of assigning them.
56499
56500 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56501
56502         Work around a bug in both the Linux and SunOS 64-bit kernels:
56503         nanosleep mishandles sleeps for longer than 2**31 seconds.
56504         Problem reported by Frank v Waveren in
56505         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56506         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
56507         Check for nanosleep bug.
56508         (LIB_NANOSLEEP): Append clock_gettime library if needed.
56509
56510 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56511
56512         Work around a bug in both the Linux and SunOS 64-bit kernels:
56513         nanosleep mishandles sleeps for longer than 2**31 seconds.
56514         Problem reported by Frank v Waveren in
56515         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
56516         * lib/nanosleep.c (BILLION): New constant.
56517         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
56518         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
56519         implementation.
56520
56521 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56522
56523         * modules/nanosleep (Depends-on): Add gettime.
56524
56525 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
56526         and Simon Josefsson  <jas@extundo.com>
56527         and Oskar Liljeblad  <oskar@osk.mine.nu>
56528
56529         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
56530         * gnulib-tool (func_import): New license type 'unmodifiable license
56531         text'.
56532         * modules/fdl: Use it.  Longer description.
56533         * module/gpl, module/lgpl: New files.
56534
56535 2006-08-30  Jim Meyering  <jim@meyering.net>
56536
56537         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
56538         shadowing the parameter.
56539
56540 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56541
56542         Sync from Libtool:
56543
56544         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56545
56546         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
56547         sharing with gnulib.  Report by Eric Blake.
56548
56549 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56550
56551         * modules/isapipe: New file.
56552         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
56553
56554 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56555
56556         * modules/configmake (Makefile.am): Add a comment, and omit
56557         the CONFIGMAKE_ prefix from generated macro names.  Suggested
56558         by Bruno Haible.
56559
56560 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56561
56562         * m4/isapipe.m4: New file.
56563
56564 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
56565
56566         * lib/isapipe.c, lib/isapipe.h: New files.
56567
56568 2006-08-29  Jim Meyering  <jim@meyering.net>
56569
56570         * modules/configmake (Makefile.am): Make configmake.h depend on
56571         Makefile.  Otherwise, a stale configmake.h could hang around.
56572
56573 2006-08-29  Eric Blake  <ebb9@byu.net>
56574
56575         * lib/error.c (error_at_line, print_errno_message): Match libc, after
56576         resolution of upstream bug 3044.
56577
56578 2006-08-29  Bruno Haible  <bruno@clisp.org>
56579
56580         * modules/localcharset (Depends-on): Add configmake.
56581         (Makefile.am): Remove setting of LIBDIR through DEFS.
56582
56583 2006-08-29  Bruno Haible  <bruno@clisp.org>
56584
56585         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
56586         defined.
56587
56588 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56589
56590         * modules/fcntl: New file.
56591         * modules/chdir-safer (Depends-on): Add fcntl.
56592         * modules/fts: Likewise.
56593         * modules/mkdir-p: Likewise.
56594
56595         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
56596         This undoes the most recent change, since we're now addressing the
56597         problem in a different way.
56598
56599         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
56600         into output, since the output might be called Makefile.am even
56601         if $makefile_name is something different.
56602         (func_import): Use $makefile_am rather than
56603         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
56604         empty.
56605
56606         * modules/inttypes (Files): Add m4/inttypes-h.m4.
56607
56608 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56609
56610         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
56611         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
56612         recent change to stdint.m4, since we're now addressing the problem in a
56613         different way.
56614
56615 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56616
56617         * m4/fcntl_h.m4: New file.
56618
56619 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
56620
56621         * lib/fcntl_.h: New file.
56622         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
56623         the fcntl module.
56624         * lib/dirchownmod.c: Likewise.
56625         * lib/fts.c: Likewise.
56626
56627         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
56628         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
56629         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
56630         just before including <inttypes.h>, to avoid circular inclusion.
56631
56632 2006-08-28  Jim Meyering  <jim@meyering.net>
56633
56634         * doc/visibility.texi: Actually read and correct the grammar of the
56635         sentence affected by yesterday's change.
56636
56637 2006-08-28  Eric Blake  <ebb9@byu.net>
56638
56639         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
56640         needs wrapper.
56641
56642 2006-08-28  Eric Blake  <ebb9@byu.net>
56643
56644         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
56645
56646 2006-08-28  Eric Blake  <ebb9@byu.net>
56647
56648         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
56649
56650 2006-08-28  Bruno Haible  <bruno@clisp.org>
56651
56652         * modules/c-strstr: New file, from GNU gettext.
56653         * MODULES.html.sh (String handling): Add c-strstr.
56654
56655 2006-08-28  Bruno Haible  <bruno@clisp.org>
56656
56657         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
56658         macros.
56659         Reported by Eric Blake.
56660
56661 2006-08-28  Bruno Haible  <bruno@clisp.org>
56662
56663         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
56664         (VASNPRINTF): Return a string of length > INT_MAX without failing.
56665         * lib/vasprintf.c: Include errno.h, limits.h.
56666         (EOVERFLOW): New fallback definition.
56667         (vasprintf): Test here whether the string length is > INT_MAX.
56668         * lib/vsnprintf.c: Include errno.h, limits.h.
56669         (EOVERFLOW): New fallback definition.
56670         (vsnprintf): Fix bug when generated string was too long for the buffer.
56671         Test here whether the string length is > INT_MAX.
56672
56673 2006-08-28  Bruno Haible  <bruno@clisp.org>
56674
56675         * lib/inttypes_.h (SCNX*): Remove definitions.
56676         Reported by Eric Blake.
56677
56678 2006-08-28  Bruno Haible  <bruno@clisp.org>
56679
56680         * lib/c-strstr.h: New file, from GNU gettext.
56681         * lib/c-strstr.c: New file, from GNU gettext.
56682
56683 2006-08-28  Bruno Haible  <bruno@clisp.org>
56684
56685         * gnulib-tool: Reorder some statements.
56686
56687 2006-08-28  Bruno Haible  <bruno@clisp.org>
56688
56689         * gnulib-tool: New option --makefile-name.
56690         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
56691         $makefile_name.
56692         (func_import): Write $makefile_name to the cache file, and read it from
56693         there unless explicitly specified. Use $makefile_name as file name
56694         instead of Makefile.am. Adjust the recommendations accordingly.
56695
56696 2006-08-28  Bruno Haible  <bruno@clisp.org>
56697
56698         * gnulib-tool (func_verify_module): Check against misapplying patch.
56699
56700 2006-08-28  Bruno Haible  <bruno@clisp.org>
56701
56702         * gnulib-tool (func_relativize, func_relconcat): New functions.
56703         Give an error if --local-dir is given with --update.
56704         Remove trailing slashes from $local_gnulib_dir.
56705         (func_import): Store the relativized $local_gnulib_dir in
56706         gnulib-cache.m4, and read it from there if not specified explicitly.
56707
56708 2006-08-28  Bruno Haible  <bruno@clisp.org>
56709
56710         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
56711         is the current directory. Respect also $local_gnulib_dir.
56712
56713 2006-08-28  Bruno Haible  <bruno@clisp.org>
56714             Simon Josefsson  <jas@extundo.com>
56715
56716         BeOS portability.
56717         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
56718
56719 2006-08-27  Jim Meyering  <jim@meyering.net>
56720
56721         * doc/visibility.texi: Remove duplicate word: "pointer".
56722
56723 2006-08-26  Bruno Haible  <bruno@clisp.org>
56724
56725         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
56726         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
56727         (Makefile.am): Create inttypes.h from inttypes_.h.
56728         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
56729
56730         * modules/imaxabs: New file.
56731
56732         * modules/imaxdiv: New file.
56733
56734 2006-08-26  Bruno Haible  <bruno@clisp.org>
56735
56736         * m4/inttypes.m4: New file.
56737         * m4/_inttypes_h.m4: Remove file.
56738         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
56739         PRI_MACROS_BROKEN.
56740         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
56741
56742         * m4/imaxabs.m4: New file.
56743
56744         * m4/imaxdiv.m4: New file.
56745
56746 2006-08-26  Bruno Haible  <bruno@clisp.org>
56747
56748         * lib/inttypes_.h: New file.
56749         * lib/inttypes.h: Remove file.
56750         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
56751
56752         * lib/imaxabs.c: New file.
56753
56754         * lib/imaxdiv.c: New file.
56755
56756 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56757
56758         New config-h module, so that "make" output needn't be cluttered
56759         by -DHAVE_CONFIG_H.
56760         * MODULES.html.sh (Support for building libraries and executables):
56761         Add config-h.
56762         * modules/config-h: New file.
56763         * gnulib-tool (nl, sed_transform_lib_file): New vars.
56764         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
56765         the config-h module is used.
56766
56767         New configmake module, so that "make" output needn't be cluttered
56768         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
56769         * MODULES.html.sh (Support for building libraries and executables):
56770         Add configmake.
56771         * modules/configmake: New file.
56772
56773 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56774
56775         * m4/config-h.m4: New file.
56776
56777 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56778
56779         * config/srclist.txt: Add elisp-comp.
56780
56781 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56782
56783         * MODULES.html.sh (Support for building libraries and executables):
56784         Add elisp-comp.
56785         * build-aux/elisp-comp: New file.
56786         * modules/elisp-comp: New file.
56787
56788 2006-08-24  Bruno Haible  <bruno@clisp.org>
56789
56790         * gnulib-tool (func_create_testdir): Use non-default values of
56791         sourcebase and m4base.
56792
56793 2006-08-24  Bruno Haible  <bruno@clisp.org>
56794
56795         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
56796         HTML structure.
56797
56798 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56799
56800         * modules/openat (Depends-on): Add lchown.
56801
56802 2006-08-23  Bruno Haible  <bruno@clisp.org>
56803
56804         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
56805         of gl_LOCK_EARLY instead of gl_LOCK.
56806
56807 2006-08-23  Bruno Haible  <bruno@clisp.org>
56808
56809         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
56810         on OSF/1 to no.
56811         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
56812
56813 2006-08-23  Bruno Haible  <bruno@clisp.org>
56814
56815         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
56816         as unusable.
56817
56818         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
56819         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
56820         (gl_LOCK): New macro.
56821
56822 2006-08-22  Simon Josefsson  <jas@extundo.com>
56823
56824         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
56825         to md5 module.
56826
56827 2006-08-22  Simon Josefsson  <jas@extundo.com>
56828
56829         * MODULES.html.sh: Add "Support for maintaining and release
56830         projects".
56831
56832         * build-aux/gnupload: New file, from coreutils.
56833
56834 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56835
56836         Avoid the need for AC_LIBSOURCES in m4 macros.
56837         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
56838         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
56839         * modules/check-version (EXTRA_DIST): Add check-version.h.
56840         * modules/crc (EXTRA_DIST): Add crc.h.
56841         * modules/des (EXTRA_DIST): Add des.h.
56842         * modules/gc (EXTRA_DIST): Add gc.h.
56843         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
56844         * modules/getline (EXTRA_DIST): Add getline.h.
56845         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
56846         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
56847         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
56848         * modules/md2 (EXTRA_DIST): Add md2.h.
56849         * modules/md4 (EXTRA_DIST): Add md4.h.
56850         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
56851         * modules/read-file (EXTRA_DIST): Add read-file.h.
56852         * modules/readline (EXTRA_DIST): Add readline.h.
56853         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
56854         rijndael-api-fst.h.
56855
56856 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56857
56858         * m4/rijndael.m4 (gl_ARCFOUR):
56859         * m4/arctwo.m4 (gl_ARCTWO):
56860         * m4/check-version.m4 (gl_CHECK_VERSION):
56861         * m4/crc.m4 (gl_CRC):
56862         * m4/des.m4 (gl_DES):
56863         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
56864         * m4/gc.m4 (gl_GC):
56865         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
56866         * m4/getline.m4 (gl_FUNC_GETLINE):
56867         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
56868         * m4/hmac-md5.m4 (gl_HMAC_MD5):
56869         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
56870         * m4/md2.m4 (gl_MD2):
56871         * m4/md4.m4 (gl_MD4):
56872         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
56873         * m4/read-file.m4 (gl_FUNC_READ_FILE):
56874         * m4/readline.m4 (gl_FUNC_READLINE):
56875         * m4/rijndael.m4 (gl_RIJNDAEL):
56876         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
56877         to get the necessary .h files and whatnot.
56878
56879 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
56880
56881         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
56882         gnulib rather than the other way around.
56883         * config/srclistvars.sh (COREUTILS): Remove.
56884
56885 2006-08-22  Jim Meyering  <jim@meyering.net>
56886
56887         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
56888
56889         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
56890
56891 2006-08-22  Eric Blake  <ebb9@byu.net>
56892
56893         * modules/regexprops-generic: New file.
56894         * MODULES.html.sh (Support for building documentation): List it.
56895
56896 2006-08-22  Eric Blake  <ebb9@byu.net>
56897
56898         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
56899         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
56900         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
56901         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
56902
56903 2006-08-22  Bruno Haible  <bruno@clisp.org>
56904
56905         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
56906         and lib_LTLIBRARIES like the other lib_* variables.
56907
56908 2006-08-22  Bruno Haible  <bruno@clisp.org>
56909
56910         * build-aux/x-to-1.in: New file, from GNU gettext.
56911
56912 2006-08-22  Bruno Haible  <bruno@clisp.org>
56913
56914         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
56915         <utmpx.h> exists.
56916
56917 2006-08-22  Bruno Haible  <bruno@clisp.org>
56918
56919         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
56920         <utmpx.h> exists.
56921
56922 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56923
56924         BeOS portability.
56925         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
56926         exist.
56927         Problem reported by Bruno Haible.
56928
56929 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
56930
56931         Avoid the need for AC_LIBSOURCES in m4 macros.
56932         * modules/acl (EXTRA_DIST): Add acl.h.
56933         * modules/argmatch (Files): Add m4/argmatch.m4.
56934         (configure.ac): Add gl_ARGMATCH.
56935         (EXTRA_DIST): Renamed from lib_SOURCES, for
56936         consistency with the other modules.  Remove argmatch.c.
56937         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
56938         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
56939         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
56940         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
56941         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
56942         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
56943         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
56944         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
56945         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
56946         * modules/closeout (EXTRA_DIST): Add closeout.h.
56947         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
56948         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
56949         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
56950         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
56951         dirname.h; remove basename.c and stripslash.c.
56952         * modules/exclude (EXTRA_DIST): Add exclude.h.
56953         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
56954         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
56955         * modules/file-type (EXTRA_DIST): Add file-type.h.
56956         * modules/filemode (EXTRA_DIST): Add filemode.h.
56957         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
56958         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
56959         * modules/fpending (EXTRA_DIST): Add __fpending.h.
56960         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
56961         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
56962         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
56963         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
56964         * modules/getdate (EXTRA_DIST): Add getdate.c.
56965         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
56966         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
56967         * modules/getpass (EXTRA_DIST): Add getpass.h.
56968         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
56969         * modules/group-member (EXTRA_DIST): Add group-member.h.
56970         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
56971         * modules/hash (EXTRA_DIST): Add hash.h.
56972         * modules/human (EXTRA_DIST): Add human.h.
56973         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
56974         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
56975         * modules/lchown (EXTRA_DIST): Add lchown.h.
56976         * modules/long-options (EXTRA_DIST): Add long-options.h.
56977         * modules/lstat (EXTRA_DIST): Add lstat.h.
56978         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
56979         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
56980         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
56981         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
56982         * modules/memxor (EXTRA_DIST): Add memxor.h.
56983         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
56984         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
56985         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
56986         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
56987         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
56988         * modules/physmem (EXTRA_DIST): Add physmem.h.
56989         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
56990         * modules/posixver (EXTRA_DIST): Add posixver.h.
56991         * modules/quote (EXTRA_DIST): Add quote.h.
56992         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
56993         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
56994         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
56995         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
56996         regex_internal.h regexec.c.
56997         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
56998         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
56999         * modules/same (EXTRA_DIST): Add same.h.
57000         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
57001         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
57002         * modules/savedir (EXTRA_DIST): Add savedir.h.
57003         * modules/sha1 (EXTRA_DIST): Add sha1.h.
57004         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
57005         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
57006         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
57007         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
57008         * modules/strdup (EXTRA_DIST): Add strdup.h.
57009         * modules/strftime (EXTRA_DIST): Add strftime.h.
57010         * modules/strndup (EXTRA_DIST): Add strndup.h.
57011         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
57012         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
57013         * modules/time_r (EXTRA_DIST): Add time_r.h.
57014         * modules/timespec (EXTRA_DIST): Add timespec.h.
57015         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
57016         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
57017         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
57018         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
57019         * modules/userspec (EXTRA_DIST): Add userspec.h.
57020         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
57021         * modules/utimens (EXTRA_DIST): Add utimens.h.
57022         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
57023         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
57024         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
57025         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
57026         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
57027         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
57028         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
57029         * modules/yesno (EXTRA_DIST): Add yesno.h.
57030
57031 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
57032
57033         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
57034
57035         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
57036         * m4/dev-ino.m4, same-inode.m4: Remove.
57037
57038         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
57039         * m4/acl.m4 (AC_FUNC_ACL):
57040         * m4/backupfile.m4 (gl_BACKUPFILE):
57041         * m4/c-strtod.m4 (gl_C99_STRTOLD):
57042         * m4/canon-host.m4 (gl_CANON_HOST):
57043         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
57044         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
57045         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
57046         * m4/cloexec.m4 (gl_CLOEXEC):
57047         * m4/close-stream.m4 (gl_CLOSE_STREAM):
57048         * m4/closeout.m4 (gl_CLOSEOUT):
57049         * m4/dirfd.m4 (gl_FUNC_DIRFD):
57050         * m4/dirname.m4 (gl_DIRNAME):
57051         * m4/exclude.m4 (gl_EXCLUDE):
57052         * m4/exitfail.m4 (gl_EXITFAIL):
57053         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
57054         * m4/file-type.m4 (gl_FILE_TYPE):
57055         * m4/filemode.m4 (gl_FILEMODE):
57056         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
57057         * m4/fpending.m4 (gl_FUNC_FPENDING):
57058         * m4/fprintftime.m4 (gl_FPRINTFTIME):
57059         * m4/fts.m4 (gl_FUNC_FTS):
57060         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
57061         * m4/getdate.m4 (gl_GETDATE):
57062         * m4/gethrxtime.m4 (gl_GETHRXTIME):
57063         * m4/getpagesize.m4 (gl_GETPAGESIZE):
57064         * m4/getpass.m4 (gl_FUNC_GETPASS):
57065         * m4/gettime.m4 (gl_GETTIME):
57066         * m4/getugroups.m4 (gl_GETUGROUPS):
57067         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
57068         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
57069         * m4/hard-locale.m4 (gl_HARD_LOCALE):
57070         * m4/hash.m4 (gl_HASH):
57071         * m4/idcache.m4 (gl_IDCACHE):
57072         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
57073         * m4/lchown.m4 (gl_FUNC_LCHOWN):
57074         * m4/long-options.m4 (gl_LONG_OPTIONS):
57075         * m4/lstat.m4 (gl_FUNC_LSTAT):
57076         * m4/md5.m4 (gl_MD5):
57077         * m4/memcasecmp.m4 (gl_MEMCASECMP):
57078         * m4/memcoll.m4 (gl_MEMCOLL):
57079         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
57080         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
57081         * m4/memxor.m4 (gl_MEMXOR):
57082         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
57083         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
57084         * m4/modechange.m4 (gl_MODECHANGE):
57085         * m4/mountlist.m4 (gl_MOUNTLIST):
57086         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57087         * m4/openat.m4 (gl_FUNC_OPENAT):
57088         * m4/pathmax.m4 (gl_PATHMAX):
57089         * m4/physmem.m4 (gl_PHYSMEM):
57090         * m4/posixtm.m4 (gl_POSIXTM):
57091         * m4/posixver.m4 (gl_POSIXVER):
57092         * m4/quote.m4 (gl_QUOTE):
57093         * m4/quotearg.m4 (gl_QUOTEARG):
57094         * m4/readtokens.m4 (gl_READTOKENS):
57095         * m4/readutmp.m4 (gl_READUTMP):
57096         * m4/regex.m4 (gl_REGEX):
57097         * m4/safe-read.m4 (gl_SAFE_READ):
57098         * m4/safe-write.m4 (gl_SAFE_WRITE):
57099         * m4/same.m4 (gl_SAME):
57100         * m4/save-cwd.m4 (gl_SAVE_CWD):
57101         * m4/savedir.m4 (gl_SAVEDIR):
57102         * m4/settime.m4 (gl_SETTIME):
57103         * m4/sha1.m4 (gl_SHA1):
57104         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
57105         * m4/stat-macros.m4 (gl_STAT_MACROS):
57106         * m4/stat-time.m4 (gl_STAT_TIME):
57107         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
57108         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
57109         * m4/strdup.m4 (gl_FUNC_STRDUP):
57110         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
57111         * m4/strndup.m4 (gl_FUNC_STRNDUP):
57112         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
57113         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
57114         * m4/time_r.m4 (gl_TIME_R):
57115         * m4/timespec.m4 (gl_TIMESPEC):
57116         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
57117         * m4/unlinkdir.m4 (gl_UNLINKDIR):
57118         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
57119         * m4/userspec.m4 (gl_USERSPEC):
57120         * m4/utimecmp.m4 (gl_UTIMECMP):
57121         * m4/utimens.m4 (gl_UTIMENS):
57122         * m4/xalloc.m4 (gl_XALLOC):
57123         * m4/xgetcwd.m4 (gl_XGETCWD):
57124         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
57125         * m4/xreadlink.m4 (gl_XREADLINK):
57126         * m4/xstrtod.m4 (gl_XSTRTOD):
57127         * m4/yesno.m4 (gl_YESNO):
57128         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
57129         to get the necessary .h files and whatnot.
57130
57131 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
57132             Bruno Haible  <bruno@clisp.org>
57133
57134         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
57135         /bin/sh understanding of '!' conditional negation.
57136
57137 2006-08-21  Jim Meyering  <jim@meyering.net>
57138
57139         * modules/openat (Depends-on): Really alphabetize.
57140
57141         * modules/acl (Depends-on): Add error and quote.
57142
57143         * check-module (find_included_lib_files): Add at-func.c to the
57144         ok-to-include-more-than-once white list.
57145
57146         * modules/openat (Depends-on): Add lstat.  Alphabetize.
57147
57148 2006-08-21  Bruno Haible  <bruno@clisp.org>
57149
57150         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57151         Emit a pkgdata_DATA variable only if some snippets add contents to it.
57152         Reported by Martin Lambers <marlam@marlam.de>.
57153
57154 2006-08-21  Bruno Haible  <bruno@clisp.org>
57155
57156         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
57157         specify an installation location, don't emit a noinst_LIBRARIES or
57158         noinst_LTLIBRARIES assignment.
57159
57160 2006-08-21  Bruno Haible  <bruno@clisp.org>
57161
57162         BeOS portability.
57163         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
57164         BeOS has mbrtowc() but no <wctype.h>.
57165
57166 2006-08-21  Bruno Haible  <bruno@clisp.org>
57167
57168         BeOS portability.
57169         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
57170         exist.
57171
57172 2006-08-21  Bruno Haible  <bruno@clisp.org>
57173
57174         BeOS portability.
57175         * lib/mbchar.h: Include <wctype.h> only if it exists.
57176
57177 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57178
57179         Remove files that are no longer needed by their respective modules.
57180         * m4/obstack.m4: Remove.
57181         * m4/strerror_r.m4: Remove.
57182         * m4/uint32_t.m4: Remove.
57183         * m4/uintptr_t.m4: Remove.
57184         * m4/ullong_max.m4: Remove.
57185         * m4/xstrtoimax.m4: Remove.
57186         * m4/xstrtoumax.m4: Remove.
57187
57188         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
57189         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
57190         dependencies now capture this.
57191
57192         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
57193         Do not use AC_LIBSOURCES, since gnulib modules now do this.
57194         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
57195         * m4/human.m4 (gl_HUMAN): Likewise.
57196         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
57197         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
57198
57199         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
57200
57201         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
57202         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
57203         stdint.
57204         * m4/human.m4 (gl_HUMAN): Likewise.
57205         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
57206         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
57207         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57208         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57209         * m4/xstrtol (gl_XSTRTOL): Likewise.
57210
57211         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
57212         AC_TYPE_LONG_LONG_INT.
57213         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
57214         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
57215         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
57216         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
57217
57218         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
57219         on stdbool.
57220
57221         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
57222         (gl_PREREQ_XSTRTOUL): Remove.
57223
57224         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
57225
57226         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
57227         mode.
57228
57229 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57230
57231         Add and change modules to make it easier for coreutils to use
57232         gnulib-tool.
57233         * modules/backupfile (Files): Remove m4/d-ino.m4.
57234         (Depends-on): Add d-ino.
57235         * modules/cycle-check (Depends-on): Add stdint.
57236         (lib_SOURCES): Add cycle-check.h.
57237         * modules/d-ino: New module.
57238         * modules/d-type: New module.
57239         * modules/error (Files): Remove m4/strerror_r.m4.
57240         * modules/filemode (Files): Add m4/st_dm_mode.m4.
57241         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57242         m4/inttypes_h.m4, m4/uintmax_t.m4.
57243         (Depends-on): Add stdint.
57244         (lib_SOURCES): Add fsusage.h.
57245         * modules/getcwd (Files): Remove d-ino.m4.
57246         (Depends-on): Add d-ino.
57247         * modules/getndelim2 (Depends-on): Add stdint.
57248         * modules/glob (Files): Remove m4/d-type.m4.
57249         (Depends-on): Add d-type.
57250         * modules/host-os: New module.
57251         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
57252         m4/inttypes_h.m4, m4/uintmax_t.m4.
57253         * Depends-on: Add stdint.
57254         (lib_SOURCES): Add human.h.
57255         * modules/inttostr (Files): Remove m4/intmax_t.m4,
57256         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
57257         m4/uintmax_t.m4, m4/ulonglong.m4.
57258         (Depends-on): Add stdint.
57259         (EXTRA_DIST): Add inttostr.h.
57260         * modules/lchmod: New module.
57261         * modules/link-follow: New module.
57262         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
57263         (Depends-on): Add lchmod.
57264         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
57265         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
57266         (Depends-on): Add stdint.
57267         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
57268         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
57269         (Depends-on): Add stdint.
57270         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
57271         * modules/perl: New module.
57272         * modules/regex (Depends-on): Add stdint.
57273         * modules/rmdir-errno: New module.
57274         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57275         m4/intmax_t.m4.
57276         (Depends-on): Add stdint.
57277         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
57278         m4/uintmax_t.m4.
57279         (Depends-on): Add stdint.
57280         * modules/unlink-busy: New module.
57281         * modules/utimecmp (Depends-on): Add stdint.
57282         * modules/uptime: New module.
57283         * modules/winsz-ioctl: New module.
57284         * modules/winsz-termios: New module.
57285         * modules/xnanosleep (Depends-on): Add nanosleep.
57286         * modules/ullong_max: Remove.
57287         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
57288         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
57289         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
57290         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
57291         (Depends-on): Add inttypes.
57292         (lib_SOURCES): Add xstrtol.h.
57293         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
57294         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
57295         * MODULES.html.sh: Move 'assert' into the assert section.
57296         Move 'dummy' into the linking section.
57297         Remove ullong_max.
57298         Add section for compatibility checks for POSIX:2001 functions,
57299         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
57300         winsz-ioctl, and winsz-termios into it.
57301         Add lchmod.
57302         Add top-level Misc section and put host-os, perl, and uptime
57303         into it.
57304
57305 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57306
57307         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
57308         now assume the stdint module.  Do not include inttypes.h.
57309         * lib/fsusage.h: Likewise.
57310         * lib/getndelim2.c: Likewise.
57311         * lib/human.h: Likewise.
57312         * lib/inttostr.h: Likewise.
57313         * lib/obstack.c: Likewise.
57314         * lib/regex_internal.h: Likewise.
57315         * lib/tempname.c: Likewise.
57316         * lib/utimecmp.c: Likewise.
57317         * lib/xstrtol.h: Likewise.
57318
57319         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
57320
57321         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
57322         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
57323         * lib/xtime.h: Likewise.
57324
57325 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57326
57327         * modules/openat (Files): Add lib/fchmodat.c.
57328         Fixes problem reported by Jay Youngman.
57329
57330 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57331
57332         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
57333         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
57334
57335 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
57336             Bruno Haible  <bruno@clisp.org>
57337
57338         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
57339         and is a script that invokes bison. Tighten the code. Add comments.
57340
57341 2006-08-18  Jim Meyering  <jim@meyering.net>
57342
57343         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
57344         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
57345         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
57346         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
57347
57348 2006-08-18  Bruno Haible  <bruno@clisp.org>
57349
57350         * modules/bison-i18n: New file.
57351         * MODULES.html.sh (Internationalization functions): Add it.
57352
57353 2006-08-18  Bruno Haible  <bruno@clisp.org>
57354
57355         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
57356         sys/statvfs.h. When getmntinfo was found, check its declaration and
57357         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
57358
57359 2006-08-18  Bruno Haible  <bruno@clisp.org>
57360
57361         * m4/bison-i18n.m4: New file, from bison.
57362
57363 2006-08-18  Bruno Haible  <bruno@clisp.org>
57364
57365         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
57366         (ME_DUMMY): Treat "kernfs" as a dummy.
57367         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
57368
57369 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57370
57371         Update from coreutils.
57372
57373         2006-08-15  Jim Meyering  <jim@meyering.net>
57374
57375         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
57376
57377         2006-01-17  Jim Meyering  <jim@meyering.net>
57378
57379         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
57380
57381         2006-01-11  Jim Meyering  <jim@meyering.net>
57382
57383         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
57384         Check for the lchmod function.
57385
57386 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57387
57388         Update from coreutils.
57389
57390         * lib/__fpending.h: Add copyright notice.
57391         * lib/fprintftime.h: Likewise.
57392         * lib/savedir.c: Use (C) in copyright notice.
57393         * lib/savedir.h: Likewise.
57394
57395         2006-08-15  Jim Meyering  <jim@meyering.net>
57396
57397         * lib/at-func.c: New file, with the logic of all emulated at-functions.
57398         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
57399         in support of the EXPECTED_ERRNO macro.
57400         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
57401         definitions.  Instead, define the appropriate symbols and include
57402         "at-func.c".
57403         * lib/mkdirat.c (mkdirat): Likewise.
57404         * lib/fchmodat.c (fchmodat): Likewise.
57405         (ENOSYS): Remove definition.
57406         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
57407         it.  Don't include "unistd--.h" -- it wasn't ever used.
57408
57409         2006-01-17  Jim Meyering  <jim@meyering.net>
57410
57411         Rewrite fts.c not to change the current working directory,
57412         by using openat, fstatat, fdopendir, etc..
57413
57414         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
57415         (HAVE_OPENAT_SUPPORT): Define.
57416         [_LIBC] (fchdir): Don't undef or define; no longer used.
57417         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
57418         Now, this `function' always succeeds, and consumes its file descriptor
57419         parameter -- so callers must not close such FDs.  Update callers.
57420         (diropen_fd, opendirat, cwd_advance_fd): New functions.
57421         (diropen): Add parameter, SP.  Adjust all callers.
57422         Implement using diropen_fd, rather than open.
57423         (fts_open): Initialize new member, fts_cwd_fd.
57424         Remove fts_rft-setting code.
57425         (fts_close): Close fts_cwd_fd, if necessary.
57426         (__opendir2): Define in terms of opendir or opendirat,
57427         depending on whether the FST_NOCHDIR flag is set.
57428         (fts_build): Since fts_safe_changedir consumes its FD, and since
57429         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
57430         and close the dup'd file descriptor upon failure.
57431         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
57432         (fts_safe_changedir): Tweak semantics to reflect that this function
57433         now calls cwd_advance_fd and hence consumes its FD argument.
57434         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
57435         [struct FTS] (fts_rft): Remove now-unused member.
57436         [struct FTS] (fts_cycle.state): Improve comment.
57437
57438         * lib/openat.c (openat_needs_fchdir): New function.
57439         * lib/openat.h (openat_needs_fchdir): Declare it.
57440
57441 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57442
57443         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
57444         Problem and fix reported by Pádraig Brady in
57445         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
57446
57447 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57448
57449         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
57450
57451 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57452
57453         * lib/memcoll.c (memcoll): Optimize for the common case where the
57454         arguments are bytewise equal.
57455
57456 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57457
57458         * doc/regexprops-generic.texi: Add a copyright notice.
57459
57460 2006-08-15  Bruno Haible  <bruno@clisp.org>
57461
57462         * modules/tmpdir (License): Change to LGPL.
57463
57464 2006-08-15  Bruno Haible  <bruno@clisp.org>
57465
57466         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
57467         module.
57468
57469 2006-08-14  Simon Josefsson  <jas@extundo.com>
57470
57471         * config/srclist.txt: Add gnupload.
57472
57473 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57474
57475         Change copyright notice from LGPL 2 to GPL 2, since that's the
57476         standard form used in the gnulib repository.
57477         * tests/test-lock.c: Likewise.
57478         * tests/test-stdint.c: Likewise.
57479         * tests/test-tls.c: Likewise.
57480
57481         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
57482         prelude-manager.  User shorter URLs for GNU projects, without '?'.
57483         Add copyright notice.
57484
57485         * check-module: Add copyright notice.  Output a copyright
57486         notice if "--version" is specified.
57487         * modules/COPYING: New file.
57488         * tests/test-getaddrinfo.c: Add copyright notice.
57489         * tests/test-verify.c: Likewise.
57490
57491 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57492
57493         Change copyright notice from LGPL 2 to GPL 2, since that's the
57494         standard form used in the gnulib repository.
57495         * lib/lock.c: LGPL -> GPL.
57496         * lib/lock.h: Likewise.
57497         * lib/strnlen1.c: Likewise.
57498         * lib/strnlen1.h: Likewise.
57499         * lib/tls.c: Likewise.
57500         * lib/tls.h: Likewise.
57501         * lib/tmpdir.c: Likewise.
57502
57503         * lib/TODO: Remove; this belongs only in coreutils.
57504
57505 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57506
57507         Add copyright notices to long-enough files that lack them, since
57508         otherwise the files aren't clearly free.  Use the same notice that
57509         getdate.texi already uses.
57510         * doc/alloca-opt.texi: Add copyright notice.
57511         * doc/alloca.texi: Likewise.
57512         * doc/ctime.texi: Likewise.
57513         * doc/functions.texi: Likewise.
57514         * doc/gcd.texi: Likewise.
57515         * doc/gnulib-tool.texi: Likewise.
57516         * doc/inet_ntoa.texi: Likewise.
57517         * doc/visibility.texi: Likewise.
57518
57519         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
57520         * doc/quote.texi: Add copyright notice.
57521
57522         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
57523         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
57524         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
57525         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
57526         is now obsolete, and give a pointer to the Sun list.
57527         Add copyright notice.
57528
57529 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
57530
57531         * config/srclistvars.sh: Add copyright notice.
57532
57533 2006-08-14  Eric Blake  <ebb9@byu.net>
57534
57535         Import the following change from libc:
57536
57537         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
57538
57539         Upstream bug 2997.
57540         * lib/misc/error.c: Add space between program name and message if file
57541         name is missing.
57542
57543 2006-08-12  Karl Berry  <karl@gnu.org>
57544
57545         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
57546         remove, these originate in gnulib now.
57547
57548 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57549
57550         * doc/Makefile (standards.info standards.html standards.dvi):
57551         Also depend on make-stds.texi.
57552
57553 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
57554
57555         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
57556         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
57557
57558         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
57559         in wchar_t.  Problem reported by Eric Blake.
57560
57561         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
57562         LEN is smaller than SIZE.  Suggested by Bruno Haible.
57563         Also, help the compiler to keep LEN in a register.
57564
57565 2006-08-11  Eric Blake  <ebb9@byu.net>
57566
57567         * users.txt: Sort.  Add tar.
57568
57569 2006-08-11  Bruno Haible  <bruno@clisp.org>
57570
57571         * users.txt: New file.
57572
57573 2006-08-11  Bruno Haible  <bruno@clisp.org>
57574
57575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
57576         before <wchar.h>. Needed for OSF/1 and BSD/OS.
57577
57578 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57579
57580         * modules/snprintf (Depends-on): Remove minmax.
57581         (Maintainer): Add self and Bruno.
57582
57583 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         * lib/.cppi-disable: Add snprintf.h, socket_.h.
57586         * lib/snprintf.c: Include <errno.h> and <limits.h>.
57587         (EOVERFLOW): Define if the system does not.
57588         Do not include "minmax.h"; it wasn't used.
57589         (snprintf): Don't assume size_t promotes to an unsigned type.
57590         Fix bug when generated string was too long for the buffer: the
57591         buffer's contents are supposed to be the initial prefix of the
57592         output.  Don't assume vasnprintf returns EOVERFLOW if the size
57593         exceeds INT_MAX; do the check ourselves.
57594
57595         Import the following changes from libc:
57596
57597         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
57598
57599         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
57600         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
57601         set wc to the byte which couldn't be converted.
57602         (re_string_reconstruct): Don't clear valid_raw_len before calling
57603         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
57604         tip_context using re_string_context_at.
57605
57606         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
57607
57608         * lib/posix/regex.h: g++ still cannot handled [restrict].
57609
57610         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
57611
57612         * lib/posix/regex.h: Remove special handling for VMS.
57613
57614 2006-08-10  Jim Meyering  <jim@meyering.net>
57615
57616         * modules/same-inode: New module.
57617         * modules/dev-ino: New module.
57618         * modules/cycle-check: Depend on these modules, rather than simply
57619         including their .h files.
57620         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
57621         required via m4/cycle-check.m4.
57622         * modules/same: Depend on new same-inode module, rather than
57623         including same-inode.h.
57624         * modules/chdir-safer: New file.
57625
57626         * modules/chown (Depends-on): Add stat-macros.
57627
57628 2006-08-10  Jim Meyering  <jim@meyering.net>
57629
57630         * m4/cycle-check.m4: New file.
57631         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
57632         * m4/dev-ino.m4, m4/same-inode.m4: New files.
57633
57634 2006-08-10  Eric Blake  <ebb9@byu.net>
57635
57636         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
57637         in from original proposal.
57638
57639 2006-08-10  Eric Blake  <ebb9@byu.net>
57640         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57641
57642         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
57643         namespace.
57644
57645 2006-08-10  Bruno Haible  <bruno@clisp.org>
57646
57647         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
57648         as well.
57649
57650 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57651
57652         Sync from coreutils.
57653
57654         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
57655
57656         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
57657         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
57658
57659 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57660
57661         * modules/restrict: Remove; no longer needed now that we assume
57662         Autoconf 2.59 or later.
57663         * MODULES.html.sh: Remove 'restrict'.
57664         * modules/argp (Depends-on): Remove 'restrict'.
57665         * modules/base64 (Depends-on): Likewise.
57666         * modules/gc (Depends-on): Likewise.
57667         * modules/getaddrinfo (Depends-on): Likewise.
57668         * modules/glob (Depends-on): Likewise.
57669         * modules/inet_ntop (Depends-on): Likewise.
57670         * modules/inet_pton (Depends-on): Likewise.
57671         * modules/memxor (Depends-on): Likewise.
57672         * modules/regex (Depends-on): Likewise.
57673         * modules/strtok_r (Depends-on): Likewise.
57674         * modules/time_r (Depends-on): Likewise.
57675
57676 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
57677
57678         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
57679         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
57680         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
57681         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
57682         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
57683         * m4/memxor.m4 (gl_MEMXOR): Likewise.
57684         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
57685         gl_C_RESTRICT replaced by AC_C_RESTRICT.
57686
57687         Merge from coreutils.
57688         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
57689         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
57690         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57691         * m4/time_r.m4 (gl_TIME_R): Likewise.
57692
57693 2006-08-09  Karl Berry  <karl@gnu.org>
57694
57695         * config/srclist.txt: no more gettext-tools, per Bruno.
57696
57697 2006-08-08  Eric Blake  <ebb9@byu.net>
57698
57699         * modules/verror: New module.
57700         * MODULES.html.sh: Document it.
57701
57702 2006-08-08  Eric Blake  <ebb9@byu.net>
57703
57704         * lib/verror.h, lib/verror.c: New files.
57705
57706 2006-08-08  Eric Blake  <ebb9@byu.net>
57707
57708         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
57709         verror_at_line output complies with GNU Coding Standards even when
57710         file is NULL.
57711
57712 2006-08-07  Bruno Haible  <bruno@clisp.org>
57713
57714         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
57715         versions of AIX.
57716         Reported by Ralf Wildenhues.
57717
57718 2006-08-07  Bruno Haible  <bruno@clisp.org>
57719
57720         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
57721         in an AC_DEFUN. Needed so that the autoconf snippets can use
57722         AC_REQUIRE.
57723
57724 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57725
57726         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57727         Initialize pkgdata_DATA.
57728         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
57729         overriding it.
57730
57731 2006-08-06  Eric Blake  <ebb9@byu.net>
57732
57733         * lib/error.h: Fold in some upstream changes from glibc.
57734         * lib/error.c: Likewise.
57735
57736 2006-08-04  Bruno Haible  <bruno@clisp.org>
57737
57738         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57739         Make the mostlyclean-local rule depend on mostlyclean-generic.
57740         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
57741
57742 2006-07-31  Bruno Haible  <bruno@clisp.org>
57743
57744         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
57745         <stdlib.h>, <string.h>.
57746
57747 2006-07-30  Bruno Haible  <bruno@clisp.org>
57748
57749         * modules/readlink (License): Change to LGPL.
57750
57751 2006-07-30  Bruno Haible  <bruno@clisp.org>
57752
57753         * modules/javaversion (Makefile.am): Distribute javaversion.java and
57754         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
57755         set PKGDATADIR to point to it.
57756
57757 2006-07-30  Bruno Haible  <bruno@clisp.org>
57758
57759         * modules/csharpexec (configure.ac): Comment out macro invocation.
57760         * modules/javaexec (configure.ac): Likewise.
57761         * modules/javacomp-script (configure.ac): Likewise.
57762
57763         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
57764
57765 2006-07-30  Bruno Haible  <bruno@clisp.org>
57766
57767         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
57768         linked-list.
57769
57770 2006-07-30  Bruno Haible  <bruno@clisp.org>
57771
57772         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
57773
57774 2006-07-30  Bruno Haible  <bruno@clisp.org>
57775
57776         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57777         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
57778         get removed.
57779
57780 2006-07-29  Bruno Haible  <bruno@clisp.org>
57781
57782         Make it possible for gnulib-tool to work with locally modified or
57783         augmented gnulib repositories.
57784         * gnulib-tool (func_usage): Document --local-dir option.
57785         (local_gnulib_dir): New variable.
57786         Handle --local-dir option.
57787         (func_lookup_file): New function.
57788         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
57789         (func_get_description, func_get_filelist, func_get_description,
57790         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
57791         func_get_automake_snippet, func_get_include_directive,
57792         func_get_license, func_get_maintainer): Use func_lookup_file.
57793         (func_import, func_create_testdir): Use func_lookup_file.
57794
57795 2006-07-29  Bruno Haible  <bruno@clisp.org>
57796
57797         * modules/setenv (Depends-on): Add unistd.
57798
57799 2006-07-29  Bruno Haible  <bruno@clisp.org>
57800
57801         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
57802
57803 2006-07-29  Bruno Haible  <bruno@clisp.org>
57804
57805         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
57806
57807 2006-07-29  Bruno Haible  <bruno@clisp.org>
57808
57809         * gnulib-tool (import, update): If there is no Makefile.am, look at
57810         aclocal.m4, instead of bailing out.
57811
57812 2006-07-29  Bruno Haible  <bruno@clisp.org>
57813
57814         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
57815         Categorize the options by when they are useful.
57816
57817 2006-07-29  Bruno Haible  <bruno@clisp.org>
57818
57819         * gnulib-tool (func_usage): Document option --no-libtool.
57820         Handle option --no-libtool.
57821         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
57822         for changed semantics of $libtool variable.
57823         (func_import): Likewise. If libtool is not used, show this through
57824         an option --no-libtool.
57825         (func_create_testdir): Update.
57826
57827 2006-07-29  Bruno Haible  <bruno@clisp.org>
57828
57829         * gnulib-tool (func_import): Extend error message about missing
57830         --doc-base.
57831
57832 2006-07-29  Bruno Haible  <bruno@clisp.org>
57833
57834         * gnulib-tool (func_import): Don't create the $docbase directory if
57835         there is no file to store there.
57836
57837 2006-07-29  Bruno Haible  <bruno@clisp.org>
57838
57839         * gnulib-tool (autoconf_minversion): If a --dir option is given and
57840         relevant, look for configure.ac there, not in the current directory.
57841         Also use a simple search for AC_PREREQ, not "autoconf --trace".
57842
57843 2006-07-29  Bruno Haible  <bruno@clisp.org>
57844
57845         * gnulib-tool (SORT): New variable.
57846         (func_usage): Undocument --assume-autoconf option.
57847         Remove --assume-autoconf option handling.
57848         (autoconf_minversion): Determine from the contents of configure.ac.
57849         (func_import): Remove autoconf_minversion handling.
57850         Suggested by Eric Blake.
57851
57852 2006-07-29  Bruno Haible  <bruno@clisp.org>
57853
57854         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
57855
57856 2006-07-29  Bruno Haible  <bruno@clisp.org>
57857
57858         * config/srclist.txt (*setenv.[ch]): Remove rules.
57859
57860 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57861
57862         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
57863
57864 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57865
57866         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
57867         arpa/inet.h.
57868
57869 2006-07-28  Simon Josefsson  <jas@extundo.com>
57870
57871         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
57872         * modules/inet_pton (Depends-on): Likewise.
57873
57874 2006-07-28  Simon Josefsson  <jas@extundo.com>
57875
57876         * m4/netinet_in_h.m4: New file.
57877
57878 2006-07-28  Simon Josefsson  <jas@extundo.com>
57879
57880         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
57881         #include's.
57882
57883 2006-07-28  Simon Josefsson  <jas@extundo.com>
57884
57885         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
57886         #include's.
57887
57888 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
57889
57890         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
57891         setgid on directories only if they set these bits.
57892         * lib/modechange.h: Remove obsolete comment about masks.
57893
57894 2006-07-28  Eric Blake  <ebb9@byu.net>
57895
57896         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
57897         macro expansion.
57898
57899 2006-07-28  Bruno Haible  <bruno@clisp.org>
57900
57901         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
57902
57903 2006-07-28  Bruno Haible  <bruno@clisp.org>
57904
57905         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
57906
57907 2006-07-28  Bruno Haible  <bruno@clisp.org>
57908
57909         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57910         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57911         Define fallbacks.
57912         Avoids link error on FreeBSD 4.x.
57913         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57914
57915         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
57916         encoding.
57917         * lib/mbswidth.c (iswcntrl): Likewise.
57918
57919 2006-07-27  Bruno Haible  <bruno@clisp.org>
57920
57921         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
57922         test.
57923
57924 2006-07-27  Bruno Haible  <bruno@clisp.org>
57925
57926         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
57927         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
57928         defined.
57929
57930 2006-07-26  Eric Blake  <ebb9@byu.net>
57931
57932         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
57933
57934 2006-07-26  Eric Blake  <ebb9@byu.net>
57935
57936         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
57937         like mingw that lack mkstemp.
57938         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
57939         avoid compilation warning on mingw.
57940
57941 2006-07-26  Bruno Haible  <bruno@clisp.org>
57942
57943         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
57944         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
57945         INT_FAST*_MIN, INTPTR_MIN.
57946
57947 2006-07-25  Bruno Haible  <bruno@clisp.org>
57948
57949         * modules/version-etc (Depends-on): Add stdarg.
57950
57951 2006-07-25  Bruno Haible  <bruno@clisp.org>
57952
57953         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
57954         complex commands.
57955
57956 2006-07-25  Bruno Haible  <bruno@clisp.org>
57957
57958         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
57959         defined in <stdarg.h> or config.h.
57960
57961 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57962
57963         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
57964         (gl_STDIO_SAFER): Remove.
57965
57966 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
57967
57968         * MODULES.html.sh (File stream based Input/Output):
57969         Add fopen-safer, tmpfile-safer; remove stdio-safer.
57970         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
57971         * modules/fopen-safer, modules/tmpfile-safer: New files.
57972         * modules/stdio-safer: Remove.
57973
57974 2006-07-24  Bruno Haible  <bruno@clisp.org>
57975
57976         * modules/tmpdir: New file.
57977         * MODULES.html.sh (File system functions): Add it.
57978
57979 2006-07-24  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
57982         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
57983
57984 2006-07-24  Bruno Haible  <bruno@clisp.org>
57985
57986         * modules/clean-temp: New file.
57987
57988 2006-07-24  Bruno Haible  <bruno@clisp.org>
57989
57990         * m4/tmpdir.m4: New file, from GNU gettext.
57991
57992 2006-07-24  Bruno Haible  <bruno@clisp.org>
57993
57994         * lib/tmpdir.h: New file, from GNU gettext.
57995         * lib/tmpdir.c: New file, from GNU gettext.
57996
57997 2006-07-24  Bruno Haible  <bruno@clisp.org>
57998
57999         * lib/clean-temp.h: New file, from GNU gettext.
58000         * lib/clean-temp.c: New file, from GNU gettext.
58001
58002 2006-07-23  Eric Blake  <ebb9@byu.net>
58003
58004         * modules/stdio-safer (Files): Add tmpfile-safer.c.
58005         (Depends-on): Add binary-io.
58006
58007 2006-07-23  Eric Blake  <ebb9@byu.net>
58008
58009         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
58010
58011 2006-07-23  Eric Blake  <ebb9@byu.net>
58012
58013         * lib/tmpfile-safer.c: New file.
58014         * lib/stdio-safer.h (fopen_safer): Add prototype.
58015         * lib/stdio--.h (tmpfile): Make safer.
58016
58017 2006-07-23  Bruno Haible  <bruno@clisp.org>
58018
58019         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
58020         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
58021         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
58022         gl_linked_remove_at): Use it.
58023
58024 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58025         and Simon Josefsson <jas@extundo.com>
58026
58027         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
58028
58029         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
58030
58031 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58032
58033         * modules/close-stream: New file.
58034         * modules/closeout (Description): Make it clear that it exits
58035         with a diagnostic on error.
58036         (Depends-on): Add close-stream.  Remove fpending, stdbool.
58037         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
58038
58039 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58040
58041         * m4/close-stream.m4: New file.
58042
58043 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58044
58045         * lib/close-stream.c, lib/close-stream.h: New files.
58046
58047 2006-07-22  Bruno Haible  <bruno@clisp.org>
58048
58049         Merge from GNU gettext 0.15.
58050
58051         2006-05-01  Bruno Haible  <bruno@clisp.org>
58052
58053                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
58054
58055         2006-07-22  Bruno Haible  <bruno@clisp.org>
58056
58057                 * modules/javaversion: New file.
58058                 * MODULES.html.sh (Java): Add javaversion.
58059
58060         2006-03-12  Bruno Haible  <bruno@clisp.org>
58061
58062                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
58063
58064         2005-12-04  Bruno Haible  <bruno@clisp.org>
58065
58066                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
58067                 (untested).
58068
58069         2006-06-21  Bruno Haible  <bruno@clisp.org>
58070
58071                 Avoid warnings from recent versions of mcs.
58072                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
58073                 -o, -L, -r any more. Use options documented since mcs-1.0
58074                 instead. Similarly for -g.
58075
58076         2005-12-04  Bruno Haible  <bruno@clisp.org>
58077
58078                 * build-aux/csharpcomp.sh.in: Suffix for resources is
58079                 .resources, not .resource.
58080
58081         2005-07-09  Bruno Haible  <bruno@clisp.org>
58082
58083                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
58084                 add a .dll suffix.
58085                 Reported by Mark Junker <mjscod@gmx.de>.
58086
58087         2006-07-22  Bruno Haible  <bruno@clisp.org>
58088
58089                 * modules/gettext: Upgrade to gettext-0.15.
58090                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
58091                 m4/visibility.m4.
58092                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
58093
58094 2006-07-22  Bruno Haible  <bruno@clisp.org>
58095
58096         Merge from GNU gettext 0.15.
58097
58098         2006-03-25  Bruno Haible  <bruno@clisp.org>
58099
58100                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
58101
58102         2006-07-21  Bruno Haible  <bruno@clisp.org>
58103
58104                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
58105                 "1.1".
58106
58107         2006-05-09  Bruno Haible  <bruno@clisp.org>
58108
58109                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
58110                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
58111                 for the conftestver execution.
58112
58113         2006-05-01  Bruno Haible  <bruno@clisp.org>
58114
58115                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
58116                 optional target-version argument. Verify that the compiler
58117                 groks source of the specified source-version, or add -source
58118                 option as necessary. Verify that the compiler produces
58119                 bytecode in the specified target-version, or add -target and
58120                 -source options as necessary. Make the result of the test
58121                 available as variable CONF_JAVAC. Also log error output in
58122                 config.log.
58123
58124         2006-03-11  Bruno Haible  <bruno@clisp.org>
58125
58126                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
58127
58128         2006-05-09  Bruno Haible  <bruno@clisp.org>
58129
58130                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
58131                 CLASSPATH_SEPARATOR to a semicolon.
58132
58133         2006-03-12  Bruno Haible  <bruno@clisp.org>
58134
58135                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
58136                 available as variable CONF_JAVA, for subsequent autoconf
58137                 tests. Also log error output in config.log.
58138
58139         2006-07-19  Bruno Haible  <bruno@clisp.org>
58140
58141                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
58142                 that getline works on glibc2 systems. Needed to avoid trouble
58143                 in relocatable.c.
58144                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
58145
58146         2005-12-04  Bruno Haible  <bruno@clisp.org>
58147
58148                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
58149                 launcher (untested).
58150
58151         2005-12-04  Bruno Haible  <bruno@clisp.org>
58152
58153                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
58154
58155         2006-07-22  Bruno Haible  <bruno@clisp.org>
58156
58157                 * gettext.m4: Update from GNU gettext-0.15.
58158                 * nls.m4: Likewise.
58159                 * po.m4: Likewise.
58160                 * inttypes-pri.m4: Likewise.
58161                 * inttypes-h.m4: Renamed from inttypes.m4.
58162                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
58163
58164 2006-07-22  Bruno Haible  <bruno@clisp.org>
58165
58166         Merge from GNU gettext 0.15.
58167
58168         2005-07-05  Bruno Haible  <bruno@clisp.org>
58169
58170                 * printf-args.c (printf_fetchargs): Work around broken
58171                 definition of wint_t on mingw.
58172
58173         2005-02-12  Bruno Haible  <bruno@clisp.org>
58174
58175                 * xallocsa.h: Add extern "C" for C++.
58176
58177         2006-05-17  Bruno Haible  <bruno@clisp.org>
58178
58179                 Cygwin portability.
58180                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
58181
58182         2006-04-30  Bruno Haible  <bruno@clisp.org>
58183
58184                 * progreloc.c: Include <mach-o/dyld.h> if available.
58185                 (find_executable): Use _NSGetExecutablePath when possible.
58186
58187         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
58188
58189                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
58190                 function.
58191
58192         2005-12-29  Bruno Haible  <bruno@clisp.org>
58193
58194                 * progreloc.c (set_program_name_and_installdir): Fix
58195                 compilation error.
58196
58197         2005-12-04  Bruno Haible  <bruno@clisp.org>
58198
58199                 Cygwin portability.
58200                 * progreloc.c: Include <windows.h> also on Cygwin.
58201                 (find_executable): Add support for Cygwin.
58202                 (set_program_name_and_installdir): Handle also platforms with
58203                 nonempty EXEEXT.
58204
58205         2006-07-11  Bruno Haible  <bruno@clisp.org>
58206
58207                 * javacomp.c: Fix a comment.
58208                 Reported by Jim Meyering.
58209
58210         2006-04-30  Bruno Haible  <bruno@clisp.org>
58211
58212                 * javacomp.h (compile_java_class): Add source_version,
58213                 target_version arguments.
58214                 * javacomp.c: Rewritten to choose only a compiler that
58215                 respects the specified source_version and target_version.
58216
58217         2006-06-27  Bruno Haible  <bruno@clisp.org>
58218
58219                 Assume correct S_ISDIR macro.
58220                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
58221
58222         2006-07-22  Bruno Haible  <bruno@clisp.org>
58223
58224                 * javaversion.h: New file, from GNU gettext.
58225                 * javaversion.c: New file, from GNU gettext.
58226                 * javaversion.java: New file, from GNU gettext.
58227                 * javaversion.class: New file, from GNU gettext.
58228
58229         2006-05-17  Bruno Haible  <bruno@clisp.org>
58230
58231                 Cygwin portability.
58232                 * javaexec.c (execute_java_class): Test for jview program
58233                 also on Cygwin.
58234
58235         2006-04-09  Bruno Haible  <bruno@clisp.org>
58236
58237                 * fatal-signal.c: Don't include string.h.
58238                 (at_fatal_signal): Use a copying loop instead of memcpy.
58239
58240         2005-12-04  Bruno Haible  <bruno@clisp.org>
58241
58242                 * csharpexec.c: Add support for 'clix' launcher (untested).
58243                 (execute_csharp_using_sscli): New function.
58244                 (execute_csharp_program): Call it.
58245
58246         2006-06-21  Bruno Haible  <bruno@clisp.org>
58247
58248                 Avoid warnings from recent versions of mcs.
58249                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
58250                 -o, -L, -r any more. Use options documented since mcs-1.0
58251                 instead. Similarly for -g.
58252
58253         2005-07-09  Bruno Haible  <bruno@clisp.org>
58254
58255                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
58256                 add a .dll suffix.
58257                 Reported by Mark Junker <mjscod@gmx.de>.
58258
58259         2006-06-17  Bruno Haible  <bruno@clisp.org>
58260
58261                 * config.charset: Update for NetBSD 3.0.
58262
58263         2006-05-17  Bruno Haible  <bruno@clisp.org>
58264
58265                 Cygwin portability.
58266                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
58267
58268         2006-05-16  Bruno Haible  <bruno@clisp.org>
58269
58270                 * localcharset.c [CYGWIN]: Include <windows.h>.
58271                 (get_charset_aliases): For Cygwin, return the same CPxxx
58272                 aliases list as under WIN32.
58273                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
58274                 the environment variables. Fall back to GetACP().
58275
58276         2006-04-05  Bruno Haible  <bruno@clisp.org>
58277
58278                 * config.charset: Update Juan Manuel Guerrero's address.
58279
58280         2005-02-12  Bruno Haible  <bruno@clisp.org>
58281
58282                 * allocsa.h: Add extern "C" for C++.
58283
58284         2005-02-10  Bruno Haible  <bruno@clisp.org>
58285
58286                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
58287                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
58288
58289         2006-07-22  Bruno Haible  <bruno@clisp.org>
58290
58291                 * gettext.h: Update to GNU gettext-0.15.
58292
58293 2006-07-22  Bruno Haible  <bruno@clisp.org>
58294
58295         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
58296         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
58297         lib-prefix.m4, longdouble.m4, ssize_t.m4.
58298
58299 2006-07-21  Eric Blake  <ebb9@byu.net>
58300
58301         * modules/stdlib-safer: New file.
58302         * MODULES.html.sh (File stream based Input/Output): Add
58303         stdlib-safer.
58304
58305 2006-07-21  Eric Blake  <ebb9@byu.net>
58306
58307         * lib/stdlib-safer.h: New file from coreutils, required by
58308         stdlib--.h.
58309
58310 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
58311
58312         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
58313
58314 2006-07-20  Bruno Haible  <bruno@clisp.org>
58315
58316         * gnulib-tool: Recognize new option --assume-autoconf.
58317         (autoconf_minversion): New variable.
58318         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
58319
58320 2006-07-20  Bruno Haible  <bruno@clisp.org>
58321
58322         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
58323
58324 2006-07-19  Derek R. Price  <derek@ximbiot.com>
58325
58326         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
58327         Reindent and repaginate.
58328
58329 2006-07-19  Derek Price  <derek@ximbiot.com>
58330
58331         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
58332         Correct grammar.
58333
58334 2006-07-17  Bruno Haible  <bruno@clisp.org>
58335
58336         * modules/list: New file.
58337         * modules/array-list: New file.
58338         * modules/carray-list, modules/carray-list-tests: New files.
58339         * modules/linked-list, modules/linked-list-tests: New files.
58340         * modules/avltree-list, modules/avltree-list-tests: New files.
58341         * modules/rbtree-list, modules/rbtree-list-tests: New files.
58342         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
58343         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
58344         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
58345         * modules/oset: New file.
58346         * modules/array-oset: New file.
58347         * modules/avltree-oset, modules/avltree-oset-tests: New files.
58348         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
58349         * tests/test-carray_list.c: New file.
58350         * tests/test-linked_list.c: New file.
58351         * tests/test-avltree_list.c: New file.
58352         * tests/test-rbtree_list.c: New file.
58353         * tests/test-linkedhash_list.c: New file.
58354         * tests/test-avltreehash_list.c: New file.
58355         * tests/test-rbtreehash_list.c: New file.
58356         * tests/test-avltree_oset.c: New file.
58357         * tests/test-rbtree_oset.c: New file.
58358         * MODULES.html.sh (Container data structures): New section.
58359
58360 2006-07-17  Bruno Haible  <bruno@clisp.org>
58361
58362         * m4/gl_list.m4: New file.
58363
58364 2006-07-17  Bruno Haible  <bruno@clisp.org>
58365
58366         * lib/gl_list.h: New file.
58367         * lib/gl_list.c: New file.
58368         * lib/gl_array_list.h: New file.
58369         * lib/gl_array_list.c: New file.
58370         * lib/gl_carray_list.h: New file.
58371         * lib/gl_carray_list.c: New file.
58372         * lib/gl_linked_list.h: New file.
58373         * lib/gl_linked_list.c: New file.
58374         * lib/gl_anylinked_list1.h: New file.
58375         * lib/gl_anylinked_list2.h: New file.
58376         * lib/gl_avltree_list.h: New file.
58377         * lib/gl_avltree_list.c: New file.
58378         * lib/gl_anyavltree_list1.h: New file.
58379         * lib/gl_anyavltree_list2.h: New file.
58380         * lib/gl_rbtree_list.h: New file.
58381         * lib/gl_rbtree_list.c: New file.
58382         * lib/gl_anyrbtree_list1.h: New file.
58383         * lib/gl_anyrbtree_list2.h: New file.
58384         * lib/gl_anytree_list1.h: New file.
58385         * lib/gl_anytree_list2.h: New file.
58386         * lib/gl_linkedhash_list.h: New file.
58387         * lib/gl_linkedhash_list.c: New file.
58388         * lib/gl_anyhash_list1.h: New file.
58389         * lib/gl_anyhash_list2.h: New file.
58390         * lib/gl_avltreehash_list.h: New file.
58391         * lib/gl_avltreehash_list.c: New file.
58392         * lib/gl_rbtreehash_list.h: New file.
58393         * lib/gl_rbtreehash_list.c: New file.
58394         * lib/gl_anytreehash_list1.h: New file.
58395         * lib/gl_anytreehash_list2.h: New file.
58396
58397         * lib/gl_oset.h: New file.
58398         * lib/gl_oset.c: New file.
58399         * lib/gl_array_oset.h: New file.
58400         * lib/gl_array_oset.c: New file.
58401         * lib/gl_avltree_oset.h: New file.
58402         * lib/gl_avltree_oset.c: New file.
58403         * lib/gl_rbtree_oset.h: New file.
58404         * lib/gl_rbtree_oset.c: New file.
58405         * lib/gl_anytree_oset.h: New file.
58406
58407 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58408
58409         * m4/mkancesdirs.m4: New file.
58410         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
58411         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
58412         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
58413         it.
58414
58415 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58416
58417         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
58418         * lib/mkancesdirs.h: New files.
58419         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
58420         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
58421         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
58422         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
58423         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
58424         callers changed.  Revamp internals significantly, by not
58425         attempting to create directories that are temporarily more
58426         permissive than the final results.  Do not attempt to use
58427         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
58428         This removes some race conditions, fixes some bugs, and simplifies
58429         things.  Use new dirchownmod function to do owner and mode changes.
58430         * lib/mkdir-p.h: Likewise.
58431         * lib/modechange.c (octal_to_mode): New function.
58432         (struct mode_change): New member mentioned.
58433         (make_node_op_equals): New arg mentioned.  All callers changed.
58434         (mode_compile): Keep track of which mode bits the user has explicitly
58435         mentioned.
58436         (mode_adjust): New arg DIR, so that we implement the X op correctly.
58437         New arg PMODE_BITS, to keep track of which mode bits the user
58438         mentioned; it treats S_ISUID and S_ISGID speciall.
58439         All callers changed.
58440         * lib/modechange.h: Likewise.
58441
58442 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
58443
58444         * MODULES.html.sh: Add mkancestors.
58445         * modules/mkancesdirs: New module.
58446         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
58447         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
58448         The chdir-safer and afs files are now orphans; I'll remove them
58449         unless someone speaks up.
58450         Add lib/dirchownmod.c, lib/dirchownmod.h.
58451         (Depends-on): Remove alloca, chown, save-cwd, dirname.
58452         Add lchown, mkancesdirs.
58453         (Maintainer): Add self.
58454
58455 2006-07-15  Karl Berry  <karl@gnu.org>
58456
58457         * gnulib-tool: help message wording/arrangement.
58458
58459 2006-07-14  Simon Josefsson  <jas@extundo.com>
58460
58461         * doc/gnulib.texi (Libtool and Windows): New section.
58462
58463 2006-07-12  Simon Josefsson  <jas@extundo.com>
58464
58465         * modules/gendocs (License): Fix license, approved by Karl.
58466
58467 2006-07-12  Eric Blake  <ebb9@byu.net>
58468
58469         * MODULES.html.sh: Add gendocs.
58470
58471 2006-07-11  Eric Blake  <ebb9@byu.net>
58472
58473         * modules/fdl: New module, to install doc/fdl.texi.
58474         * MODULES.html.sh: Add new section for documentation modules.
58475         * gnulib-tool: Avoid space-tab.
58476         (--doc-base): New option, to manage files from doc.
58477
58478 2006-07-11  Eric Blake  <ebb9@byu.net>
58479
58480         * m4/absolute-header.m4: Fix comments to match recent change.
58481
58482 2006-07-11  Eric Blake  <ebb9@byu.net>
58483
58484         * gnulib-tool: List --doc-base before --tests-base.
58485
58486 2006-07-11  Derek R. Price  <derek@ximbiot.com>
58487
58488         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
58489
58490 2006-07-11  Bruno Haible  <bruno@clisp.org>
58491
58492         * README: Mention where to put documentation.
58493
58494 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58495
58496         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
58497
58498 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58499
58500         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
58501         to stdint.m4.
58502
58503 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
58504
58505         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
58506         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
58507         "no/such/file/stdint.h" when there is no such file, so that
58508         the resulting C code can be parsed by dodgy compilers.
58509         Problems reported by Bob Proulx.
58510
58511 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58512
58513         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
58514         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58515         macros into the GNU _D_EXACT_NAMLEN.
58516         * lib/savedir.c:  Likewise.
58517         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
58518
58519 2006-07-10  Derek R. Price  <derek@ximbiot.com>
58520         and Paul Eggert  <eggert@cs.ucla.edu>
58521
58522         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
58523         * m4/savedir.m4:
58524         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
58525         macros into the GNU _D_EXACT_NAMLEN.
58526
58527 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58528
58529         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
58530         around the absolute name, to work around a problem with the HP-UX
58531         11.23 native C compiler, reported by Bob Proulx.
58532
58533 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58534
58535         * doc/maintain.texi, make-stds.texi: Sync from
58536         <http://savannah.gnu.org/projects/gnustandards>.
58537
58538 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
58539
58540         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
58541
58542 2006-07-09  Jim Meyering  <jim@meyering.net>
58543
58544         * m4/glob.m4: Remove a doubled word in a comment.
58545
58546 2006-07-09  Jim Meyering  <jim@meyering.net>
58547
58548         * lib/argp-pv.c: Remove a doubled word in a comment.
58549         * lib/check-version.c (check_version): Likewise.
58550         * lib/javacomp.c (compile_java_class): Likewise.
58551
58552 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
58553
58554         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
58555         for the benefit of people using Autoconf 2.60.  If you want to
58556         support older Autoconf versions you can copy m4/onceonly_2_57.m4
58557         (or m4/onceonly.m4, if pre-2.57) manually.
58558
58559 2006-07-08  Jim Meyering  <jim@meyering.net>
58560
58561         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
58562         comment.
58563         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
58564         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
58565         comment.
58566
58567 2006-07-08  Jim Meyering  <jim@meyering.net>
58568
58569         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
58570
58571 2006-07-07  Simon Josefsson  <jas@extundo.com>
58572
58573         * tests/test-crc.c: Change expected crc value, the test vector
58574         were probably computed using the old broken crc.c?
58575
58576 2006-07-06  Simon Josefsson  <jas@extundo.com>
58577
58578         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
58579         now the canonical place for the M4 file).
58580
58581         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
58582         from the sys_socket dependency now.
58583
58584         * modules/inet_pton (Files): Ditto.
58585
58586         * modules/inet_ntop (Files): Ditto.
58587
58588 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58589
58590         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
58591         not gl_PREREQ_GETUSERSHELL.
58592
58593 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58594
58595         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
58596         with only one argument, for Autoconf 2.60.
58597         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
58598         expand to nothing, so add a shell command to avoid syntax error.
58599         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
58600
58601 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58602
58603         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
58604
58605 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58606
58607         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
58608         no longer needed.  Check for isblank decl.
58609         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
58610         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
58611         of existence.
58612
58613 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58614
58615         * lib/getloadavg.c: Use __VMS, not VMS.
58616         * lib/getopt.c: Likewise.
58617         * lib/getpagesize.h: Likewise.
58618         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
58619         and probably does not work.
58620
58621 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
58622
58623         * lib/.cppi-disable: Add wcwidth.
58624         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
58625         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
58626         (ISGRAPH): Remove.  All uses changed to isgraph.
58627         (FOLD) [!defined _LIBC]: Remove special case.
58628         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
58629         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
58630         HAVE_ISBLANK.
58631         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
58632         case.
58633
58634 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
58635
58636         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
58637         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
58638         brackets.  Other minor changes to suppress some compiler
58639         warnings.
58640
58641 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58642         and Paul Eggert  <eggert@cs.ucla.edu>
58643
58644         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
58645         of invoking obsolescent AC_HEADER_DIRENT macro.
58646         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
58647         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
58648         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
58649         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58650         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
58651         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58652         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
58653         * m4/readdir.m4: Remove; no longer needed.
58654
58655 2006-07-06  Derek R. Price  <derek@ximbiot.com>
58656         and Paul Eggert  <eggert@cs.ucla.edu>
58657
58658         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
58659         Don't worry about this obsolete case any more.
58660         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
58661         directories.
58662         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
58663         worry about this obsolete case any more.
58664         * lib/fts.c: Likewise.
58665         * lib/getcwd.c: Likewise.
58666         * lib/glob.h: Likewise.
58667         * lib/savedir.c: Likewise.
58668
58669 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58670
58671         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
58672         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
58673         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
58674         needed.
58675         All uses removed.
58676         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58677         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58678         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
58679         needed.
58680         * m4/getdate.m4 (gl_GETDATE): Likewise.
58681         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58682         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58683         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58684         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58685         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
58686         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58687         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
58688         needed.
58689
58690 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
58691
58692         * lib/memcasecmp.c: Include <limits.h>.
58693         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
58694         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
58695         Don't assume isdigit succeeds only on '0' through '9'.
58696
58697 2006-07-05  Eric Blake  <ebb9@byu.net>
58698
58699         * modules/getaddrinfo (Depends-on): Add snprintf.
58700
58701 2006-07-05  Eric Blake  <ebb9@byu.net>
58702
58703         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
58704         to avoid 'header present but could not be compiled' on cygwin.
58705
58706 2006-07-05  Eric Blake  <ebb9@byu.net>
58707
58708         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
58709         missing from netdb.h.
58710         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
58711
58712 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58713
58714         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
58715         no longer needed.
58716         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
58717         * m4/getdate.m4 (gl_GETDATE): Likewise.
58718         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
58719         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
58720         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
58721         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
58722         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
58723
58724 2006-07-05  Derek R. Price  <derek@ximbiot.com>
58725
58726         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
58727         All uses of is_space replaced by isspace.
58728         * lib/exit.h: Don't talk about STDC_HEADERS.
58729         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
58730         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
58731         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
58732         replaced by isprint etc.
58733         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
58734         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58735         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
58736         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
58737         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
58738         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
58739
58740 2006-07-05  Bruno Haible  <bruno@clisp.org>
58741
58742         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
58743         the function exists, before testing against AIX.
58744         Reported by Martin Lambers <marlam@marlam.de>.
58745
58746 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58747
58748         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
58749         From Mark D. Baushke.
58750
58751 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
58752
58753         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
58754         to the absolute name, not just one, to bypass Sun C 5.8's
58755         "warning: #include of /usr/include/... may be non-portable".
58756
58757 2006-07-04  Eric Blake  <ebb9@byu.net>
58758
58759         * modules/dirname-tests: New test module.
58760         * tests/test-dirname.c: New file, replacing dirname.c
58761         TEST_DIRNAME section that was recently deleted.
58762
58763 2006-07-04  Bruno Haible  <bruno@clisp.org>
58764
58765         Assume ANSI C header files and <ctype.h> functions.
58766         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
58767         (mbsnwidth): Use isprint, iscntrl instead.
58768
58769 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58770
58771         Merge from coreutils.
58772         * MODULES.html.sh: Add xstrtold.
58773         * modules/xstrtold: New file.
58774         * modules/cycle-check (Files): Add lib/same-inode.h.
58775         * modules/dirname (Files): Add m4/double-slash-root.m4.
58776         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
58777         * modules/mkdir-p (Files): Add lib/same-inode.h.
58778         * modules/same (Files): Add lib/same-inode.h.
58779
58780 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58781
58782         * m4/absolute-header.m4: Renamed from full-header-path.m4.
58783         This is to keep the terminology clean; POSIX talks about
58784         "absolute pathnames", not "full pathnames", but the GNU
58785         Coding Standards say to use "path" for something else;
58786         so use "absolute" to keep both sides happy.
58787         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
58788         Set gl_absolute_header, not gl_full_header_path.
58789         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
58790         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
58791         All uses changed.
58792
58793         Merge from coreutils.
58794
58795         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58796
58797         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
58798         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
58799         want to require the building of c-strtod.o.
58800         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
58801         needs -lm directly.
58802         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
58803
58804         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
58805
58806         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
58807         --as-needed option if available.  Problem reported by Albert Chin in
58808         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
58809         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
58810         cc merely issues a bunch of annoying warnings for --as-needed
58811         (this problem was reported by Bob Proulx).  Also, try linking with
58812         -lm to detect a bug in binutils 2.16 (this problem was reported
58813         by Ralf Wildenhues).
58814
58815         2006-06-18  Jim Meyering  <jim@meyering.net>
58816
58817         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
58818         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
58819         macro.
58820         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
58821         also check for glibc-2.4's abort-inducing bug.
58822
58823         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
58824         Low-probability clean-up should be to use rmdir to get rid of
58825         the just-created directory, not unlink.
58826
58827         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
58828         configure fail, and request a bug report to inform us about it.
58829         Add a comment that, barring reports to the contrary, in 2007 we'll
58830         assume ftruncate is universally available.
58831
58832         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58833
58834         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
58835
58836         2006-03-12  Jim Meyering  <jim@meyering.net>
58837
58838         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
58839         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
58840         * m4/same.m4 (gl_SAME): Likewise.
58841         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
58842
58843         2006-03-11  Eric Blake  <ebb9@byu.net>
58844
58845         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
58846         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
58847         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
58848         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
58849
58850 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
58851
58852         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
58853         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
58854         reported by Mark D. Baushke, one in
58855         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
58856
58857         Merge from coreutils.
58858
58859         * lib/.cppi-disable: Add stdint_.h.
58860         * lib/.cvsignore: Add stdint.h.
58861
58862         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
58863
58864         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
58865         both double and long double versions.
58866         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
58867         * lib/xstrtold.c: New file.
58868         * lib/xstrtod.h (xstrtold): New decl.
58869
58870         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58871
58872         * lib/filemode.c (setst): Remove.
58873         (strmode): Rewrite to avoid setst.  This makes the code shorter,
58874         (arguably) clearer, and the generated code is a bit smaller on my
58875         Debian GNU/Linux stable x86 host.
58876
58877         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
58878
58879         * lib/filemode.c: Include "filemode.h" first, to test the interface.
58880         Assume that filemode.h includes sys/types.h and sys/stat.h.
58881         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
58882         (ftypelet): Reorder to put common cases first, for efficiency.
58883         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
58884         to do 'M'.
58885         (strmode): Renamed from mode_string, and now stores 12 bytes instead
58886         of 10, for compatibility with FreeBSD.  All callers changed.
58887         (filemodestring): Now stores 12 bytes instead of 10, and sets file
58888         types that can't be deduced solely from st_mode.  First arg is now a
58889         const pointer.
58890         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
58891         (strmode): Renamed from mode_string.
58892         (filemodestring): New decl.
58893         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
58894         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
58895         needed.
58896         (S_ISPORT, S_ISWHT): New macros, if not already defined.
58897
58898         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58899
58900         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
58901         fsusage.h now does that.  Include fsusage.h first, to test interface.
58902         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
58903         at most one method (the old code could have generated decls that
58904         didn't conform to C89, not that this was ever exercised).
58905         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
58906
58907         2006-03-19  Jim Meyering  <jim@meyering.net>
58908
58909         Work even in a chroot where d_ino values for entries in "/"
58910         don't match the stat.st_ino values for the same names.
58911         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
58912         number, iterate through all entries again, using lstat instead.
58913         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
58914         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
58915
58916         * lib/getcwd.c (__getcwd): Clarify a comment.
58917         Use memcpy in place of a call to strcpy.
58918
58919         2006-03-12  Jim Meyering  <jim@meyering.net>
58920
58921         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
58922         matches that of the current directory (which we're about to chdir ".."
58923         out of), then save the dev-ino of the parent, instead.
58924
58925         * lib/same-inode.h (SAME_INODE): New file/macro.
58926         * lib/chdir-safer.c (SAME_INODE): Remove definition.
58927         Include "same-inode.h", instead.
58928         * lib/same.c: Likewise.
58929         * lib/cycle-check.h: Include "same-inode.h".
58930         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
58931         * lib/cycle-check.c (SAME_INODE): Remove definition.
58932         * lib/root-dev-ino.h: Include "same-inode.h".
58933
58934         2006-03-11  Eric Blake  <ebb9@byu.net>
58935
58936         * lib/same.c (same_name): s/base_name/last_component/
58937         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
58938         * lib/filenamecat.c (file_name_concat): Likewise.
58939
58940         2006-03-11  Eric Blake  <ebb9@byu.net>,
58941                     Paul Eggert  <eggert@cs.ucla.edu>
58942
58943         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
58944         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
58945         drive prefix.
58946         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
58947         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
58948         (last_component): New method.
58949         * lib/dirname.c (dir_len): Determine when drive letters need a
58950         subsequent slash.  Preserve // when it is special.
58951         (dir_name): Don't append dot when drive letter is absolute.
58952         [TEST_DIRNAME]: Move into a full-blown gnulib test.
58953         * lib/basename.c (base_name): New semantics - malloc the result.
58954         Preserve // when it is special.  Preserve relative files that look
58955         like drive letters.
58956         (base_len): Preserve // when it is special.
58957         (last_component): New method, similar to old base_name semantics.
58958         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
58959         base_name.  Strip redundant slashes from ///.
58960
58961 2006-07-03  Jim Meyering  <jim@meyering.net>
58962
58963         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
58964         macro is used before the first cycle_check call.
58965
58966 2006-07-03  Eric Blake  <ebb9@byu.net>
58967
58968         * modules/dirname (Depends-on): Add xstrndup.
58969
58970 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58971
58972         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
58973         test cases, so that config.log is a bit easier to follow.
58974
58975 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
58976
58977         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
58978         both are 64 bits, since this seems to be the tradition, and this
58979         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
58980         we ever run into a host that prefers long long to long in this
58981         case, we'll need another configure-time test.  Problem reported by
58982         Jim Meyering.
58983
58984 2006-07-02  Eric Blake  <ebb9@byu.net>
58985
58986         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
58987
58988 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
58989
58990         * modules/inttypes (Depends-on): No longer depends on stdint.
58991         * modules/stdint (Description): Say more about assumptions.
58992         Say that the fast types might differ.  Say macros are used.
58993         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
58994         (Makefile.am): Revise list of substituted symbols to match
58995         new stdint.m4.
58996         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
58997         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
58998         * tests/test-stdint.c (verify_same_types)
58999         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
59000         the code conforms to C99/C89.
59001         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
59002         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
59003
59004 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59005
59006         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
59007         but fix a bug, by requiring at least 64 bits.
59008         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59009         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
59010         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
59011         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
59012
59013         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
59014         changes.  Make 2.59 a prerequisite.  Check and substitute for
59015         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
59016         inttypes.h.  Do not use special include files; just use the
59017         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
59018         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
59019         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
59020         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
59021         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
59022         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
59023         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
59024         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
59025         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
59026         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
59027         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
59028         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
59029         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
59030         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
59031         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
59032         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
59033         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
59034         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
59035         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
59036         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
59037         WINT_MAX.  Check for C99 conformance more strictly, by detecting
59038         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
59039         not check for things that C99 does not require, e.g., int8_t.  If
59040         a test isn't needed unless <stdint.h> isn't working, and is
59041         unlikely to be needed for any other reason, then don't do it
59042         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
59043         size_t, since we assume C89 freestanding at least.  Do not check
59044         for sig_atomic_t, wchar_t, or wint_t, since the code now does
59045         the right thing even if the types are not defined.  Instead use:
59046         (gl_STDINT_TYPE_PROPERTIES): New macro.
59047         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
59048         testing whether <sys/types.h> clashes, as Autoconf does this for
59049         us now.  All uses removed.
59050         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
59051         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
59052         (gl_CHECK_TYPE_SAME):
59053         Remove; no longer needed.
59054         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
59055         exists, since we'll return 0 anyway in that case.
59056         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
59057
59058 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
59059
59060         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
59061         possible collision with system files.
59062         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
59063         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
59064         WCHAR_MIN and WCHAR_MAX in this case.
59065         (<stddef.h>): Do not include; no longer needed.
59066         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
59067         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
59068         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
59069         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
59070         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
59071         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
59072         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
59073         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
59074         !defined(__c99))]: Include in this case too, since it's harmless
59075         now.
59076         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
59077         dangerous to do so.
59078         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
59079         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
59080         (_STDINT_MIN, _STDINT_MAX): New macros.
59081         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
59082         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
59083         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
59084         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
59085         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
59086         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
59087         macros, not typedefs; this simplifies things quite a bit.
59088         Use long int for all types narrower than int64_t.
59089         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
59090         Define in terms of long long int or int64_t or long int,
59091         not int64_t or int32_t.  This saves some compile-time testing.
59092         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
59093         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
59094         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
59095         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
59096         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
59097         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
59098         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
59099         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
59100         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
59101         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
59102         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59103         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59104         undef any previous version and define our own version, for
59105         simplicity and consistency with the new macros for types.
59106         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
59107         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
59108         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
59109         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
59110         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
59111         @WINT_T_SUFFIX@ to keep things simple here.
59112         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
59113         Simplify by assuming typical 8/16/32/64 host, since we're
59114         already doing that elsewhere anyway.
59115         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
59116         and assume long long int is 64 bits if available.  This
59117         speeds up 'configure'.
59118
59119 2006-07-01  Eric Blake  <ebb9@byu.net>
59120
59121         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
59122         Reported by Andreas Buening.
59123
59124 2006-07-01  Eric Blake  <ebb9@byu.net>
59125
59126         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
59127
59128 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59129
59130         * lib/getaddrinfo.c: fixed typo
59131
59132 2006-06-29  Jim Meyering  <jim@meyering.net>
59133
59134         * modules/strftime (Maintainer): Add my name, since with the
59135         FPRINTFTIME changes strftime.c has forked from glibc.
59136
59137 2006-06-29  Eric Blake  <ebb9@byu.net>
59138
59139         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
59140
59141 2006-06-29  Eric Blake  <ebb9@byu.net>
59142
59143         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
59144
59145 2006-06-29  Eric Blake  <ebb9@byu.net>
59146
59147         * lib/stat_.h: New file.
59148
59149 2006-06-29  Eric Blake  <ebb9@byu.net>
59150
59151         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
59152         unused static function.
59153
59154 2006-06-29  Eric Blake  <ebb9@byu.net>
59155
59156         * doc/functions.texi (Function Portability): Document missing lstat
59157         on mingw.
59158
59159 2006-06-29  Eric Blake  <ebb9@byu.net>
59160
59161         * MODULES.html.sh: Add sys_stat.
59162         * modules/sys_stat: New module.
59163         * modules/mkstemp (Depends-on): Add sys_stat.
59164
59165 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59166
59167         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
59168
59169 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59170
59171         * m4/c-bs-a.m4: Removed.
59172
59173 2006-06-29  Derek R. Price  <derek@ximbiot.com>
59174
59175         * lib/strftime.c: Assume strftime() exists.
59176
59177 2006-06-29  Derek Price  <derek@ximbiot.com>
59178
59179         * modules/c-bs-a: Removed - \a is C89.
59180         * MODULES.html.sh: Remove c-bs-a.
59181
59182 2006-06-29  Bruno Haible  <bruno@clisp.org>
59183
59184         * modules/wcwidth (License): Change to LGPL.
59185
59186 2006-06-28  Simon Josefsson  <jas@extundo.com>
59187
59188         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
59189         on _WIN32.
59190
59191         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
59192         getnameinfo.
59193
59194 2006-06-28  Simon Josefsson  <jas@extundo.com>
59195
59196         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
59197
59198 2006-06-28  Simon Josefsson  <jas@extundo.com>
59199
59200         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
59201         functions there.  It will succeed on Windows XP, but on Windows
59202         2000 and (presumably) earlier, it will fail, and use the internal
59203         re-implementation.
59204         (use_win32_p): New function.
59205         (getaddrinfo): Use strtoul on servname, to support numeric ports.
59206         Support AI_NUMERICSERV to disable getservbyname.
59207         (getnameinfo): New function, only supports
59208         NI_NUMERICHOST|NI_NUMERICSERV for now.
59209
59210         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
59211         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
59212         getnameinfo.
59213
59214 2006-06-28  Eric Blake  <ebb9@byu.net>
59215
59216         * modules/wcwidth: New file.
59217         * modules/mbchar (Depends-on): Add wcwidth.
59218         * modules/mbswidth (Depends-on): Add wcwidth.
59219         * MODULES.html.sh: Add wcwidth.
59220
59221 2006-06-28  Eric Blake  <ebb9@byu.net>
59222
59223         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
59224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
59225
59226 2006-06-28  Eric Blake  <ebb9@byu.net>
59227
59228         * lib/xvasprintf.h: Fix comments.
59229
59230 2006-06-28  Eric Blake  <ebb9@byu.net>
59231
59232         * lib/mbchar.h (wcwidth): Include wcwidth.h.
59233         * lib/mbswidth.c (wcwidth): Move from here...
59234         * lib/wcwidth.h: ...to this new file.
59235
59236 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59237
59238         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
59239
59240         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
59241         it's obsolete.
59242         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
59243
59244 2006-06-28  Derek R. Price  <derek@ximbiot.com>
59245
59246         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
59247         Autoconf 2.60 says this stuff was obsolete.
59248
59249 2006-06-28  Bruno Haible  <bruno@clisp.org>
59250
59251         * modules/wcwidth (Files): Add m4/wchar_t.m4.
59252
59253 2006-06-28  Bruno Haible  <bruno@clisp.org>
59254
59255         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
59256         gt_TYPE_WCHAR_T.
59257
59258 2006-06-28  Bruno Haible  <bruno@clisp.org>
59259
59260         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
59261         declaration for wcwidth.
59262         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
59263
59264 2006-06-28  Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/mkdtemp.c [MINGW]: Include <io.h>.
59267         (mkdir): Define using _mkdir.
59268
59269 2006-06-28  Bruno Haible  <bruno@clisp.org>
59270
59271         * lib/getaddrinfo.h: Fix POSIX URL.
59272         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
59273         _WIN32.
59274         (use_win32_p): Make static.
59275         (getaddrinfo): Reject service name if it is empty or does not consist
59276         solely of decimal digits, or if its value is > 65535.
59277         (getnameinfo): Remove useless casts.
59278
59279 2006-06-27  Simon Josefsson  <jas@extundo.com>
59280
59281         * modules/sys_select: New file, suggested by Bruno Haible, Paul
59282         Eggert and Martin Lambers.
59283
59284 2006-06-27  Simon Josefsson  <jas@extundo.com>
59285
59286         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
59287         Eggert and Martin Lambers.
59288
59289 2006-06-27  Bruno Haible  <bruno@clisp.org>
59290
59291         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
59292         result to 0, not to empty.
59293         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
59294
59295 2006-06-27  Bruno Haible  <bruno@clisp.org>
59296
59297         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
59298
59299 2006-06-26  Simon Josefsson  <jas@extundo.com>
59300
59301         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
59302         present.
59303
59304 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
59305
59306         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
59307         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
59308         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
59309
59310 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
59311
59312         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
59313
59314 2006-06-26  Bruno Haible  <bruno@clisp.org>
59315
59316         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
59317
59318 2006-06-26  Bruno Haible  <bruno@clisp.org>
59319
59320         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
59321
59322 2006-06-26  Bruno Haible  <bruno@clisp.org>
59323
59324         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
59325         SGI C compiler in pre-C99 mode.
59326         Suggested by Mark D. Baushke and Larry Jones.
59327
59328 2006-06-26  Bruno Haible  <bruno@clisp.org>
59329
59330         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
59331         WCHAR_MAX.
59332         Reported by Mark D. Baushke and Larry Jones.
59333
59334 2006-06-26  Bruno Haible  <bruno@clisp.org>
59335
59336         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
59337         in pre-C99 mode.
59338         Suggested by Mark D. Baushke and Larry Jones.
59339
59340 2006-06-23  Simon Josefsson  <jas@extundo.com>
59341             Bruno Haible  <bruno@clisp.org>
59342
59343         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
59344         Emit mostlyclean-local rule.
59345         (func_emit_tests_Makefile_am): Likewise.
59346         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
59347
59348 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
59349
59350         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
59351
59352 2006-06-23  Bruno Haible  <bruno@clisp.org>
59353
59354         * tests/test-stdint.c: Update to match ISO C 99 Technical
59355         Corrigendum 1.
59356
59357 2006-06-23  Bruno Haible  <bruno@clisp.org>
59358
59359         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
59360
59361 2006-06-23  Bruno Haible  <bruno@clisp.org>
59362
59363         * lib/stdint_.h: Treat IRIX like OpenBSD.
59364
59365 2006-06-23  Bruno Haible  <bruno@clisp.org>
59366
59367         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
59368         ISO C 99 Technical Corrigendum 1.
59369
59370 2006-06-22  Simon Josefsson  <jas@extundo.com>
59371
59372         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
59373         MinGW.
59374
59375 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59376
59377         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
59378         needed.  Some compiler complained about some of them.  Problem reported
59379         by Larry Jones in
59380         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
59381
59382 2006-06-21  Simon Josefsson  <jas@extundo.com>
59383
59384         * tests/test-getaddrinfo.c: New file.
59385
59386         * modules/getaddrinfo-tests: New file.
59387
59388         * MODULES.html.sh: Add inet_pton.
59389
59390         * modules/inet_pton: New file.
59391
59392 2006-06-21  Simon Josefsson  <jas@extundo.com>
59393
59394         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
59395         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
59396         of using the (limited) gnulib implementation on Windows XP.
59397
59398         * m4/inet_pton.m4: New file.
59399
59400 2006-06-21  Simon Josefsson  <jas@extundo.com>
59401
59402         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
59403         variable.
59404
59405         * lib/socket_.h: Don't define WINVER.
59406
59407         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
59408         slightly modified to work in gnulib.
59409
59410 2006-06-21  Simon Josefsson  <jas@extundo.com>
59411
59412         * doc/gnulib.texi (Windows sockets): Add.
59413
59414 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
59415
59416         * lib/read-file.c (fread_file): Start with buffer allocation of
59417         0 bytes rather than 1 byte; this simplifies the code.
59418         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
59419         code to free buffer and save/restore errno.
59420         (internal_read_file): Remove unused local.
59421
59422 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
59423
59424         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
59425         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
59426         Problem reported by Denis Excoffier in
59427         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
59428
59429 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59430
59431         * modules/sys_socket, modules/socklen: Include sys/types since
59432         FreeBSD 4.x's sys/socket.h needs it.
59433
59434 2006-06-19  Simon Josefsson  <jas@extundo.com>
59435
59436         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
59437
59438 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
59439
59440         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
59441
59442 2006-06-19  Bruno Haible  <bruno@clisp.org>
59443
59444         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
59445         and FULL_PATH_INTTYPES_H in angle brackets.
59446         Reported by Mark D. Baushke <mdb@gnu.org>.
59447
59448 2006-06-17  Eric Blake  <ebb9@byu.net>
59449
59450         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
59451         errno.
59452
59453 2006-06-17  Bruno Haible  <bruno@clisp.org>
59454
59455         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
59456         <sys/inttypes.h>.
59457
59458 2006-06-17  Bruno Haible  <bruno@clisp.org>
59459
59460         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
59461         whether errno is declared. Assume <errno.h> declares errno.
59462
59463 2006-06-17  Bruno Haible  <bruno@clisp.org>
59464
59465         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
59466
59467 2006-06-17  Bruno Haible  <bruno@clisp.org>
59468
59469         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
59470         problem on Solaris 2.5.1.
59471
59472 2006-06-16  Eric Blake  <ebb9@byu.net>
59473
59474         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
59475         * lib/unicodeio.c [!defined errno]: Likewise.
59476         * lib/strtol.c [!defined errno]: Likewise.
59477         * lib/strtod.c [!defined errno]: Likewise.
59478
59479 2006-06-15  Eric Blake  <ebb9@byu.net>
59480
59481         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
59482
59483 2006-06-15  Eric Blake  <ebb9@byu.net>
59484
59485         * config/srclist.txt (ssize_t.m4): Lose sync.
59486
59487 2006-06-15  Bruno Haible  <bruno@clisp.org>
59488
59489         * modules/stdint (Files): Include m4/full-header-path.m4,
59490         m4/size_max.m4, m4/wchar_t.m4.
59491         (Makefile.am): Many more substitutions.
59492         * modules/stdint-tests: New file.
59493         * tests/test-stdint.c: New file.
59494
59495 2006-06-15  Bruno Haible  <bruno@clisp.org>
59496
59497         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
59498         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
59499         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
59500         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
59501         gl_CHECK_TYPE_SAME): New macros.
59502
59503 2006-06-15  Bruno Haible  <bruno@clisp.org>
59504
59505         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
59506
59507 2006-06-15  Bruno Haible  <bruno@clisp.org>
59508
59509         * lib/stdint_.h: Rewritten to be fully auto-configured.
59510         Fixes bug on HP-UX/IA64.
59511
59512 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
59513
59514         * lib/getdate.y (__attribute__): Don't define if already defined.
59515         Problem reported by Larry Jones.
59516         * lib/utimens.c (__attribute__): Likewise.
59517
59518 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
59519
59520         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
59521         reported by Andreas Schwab.
59522
59523 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59524             Bruno Haible  <bruno@clisp.org>
59525
59526         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
59527         check for the declaration of strnlen and a run test that exposes the
59528         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
59529         rpl_strndup.
59530
59531 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59532             Bruno Haible  <bruno@clisp.org>
59533
59534         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
59535
59536 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59537
59538         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
59539         compile test, for Tru64 4.0D.
59540
59541 2006-05-28  Karl Berry  <karl@gnu.org>
59542
59543         * config/srclist.txt (printf-args.c): lose sync.
59544
59545 2006-05-26  Martin Lambers  <marlam@marlam.de>
59546
59547         * lib/getpass.c: Updates the test for the native W32 API, and adds
59548         missing includes, thus fixing compilation warnings.
59549
59550 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
59551
59552         * lib/exclude.c (exclude_fnmatch): New function.
59553         (excluded_file_name): Call exclude_fnmatch.
59554         * lib/exclude.h (excluded_file_name): New prototype
59555
59556 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
59557
59558         * lib/tempname.c (small_open, large_open): New macros.
59559         (__open, __open64) [!_LIBC]: Remove.
59560         (__gen_tempname): Use small_open and large_open instead of __open
59561         and __open64.  This fixes a portability bug on HP-UX 11.11i
59562         reported by Simon Wing-Tang in
59563         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
59564
59565 2006-05-24  Bruno Haible  <bruno@clisp.org>
59566
59567         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
59568         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
59569         Reported by Thorsten Maerz <torte@netztorte.de> via
59570         Aaron Stone <aaron@serendipity.cx>.
59571
59572 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59573
59574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
59575         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
59576         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
59577         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
59578         not really conditional on the cache.
59579         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
59580
59581 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59582
59583         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
59584         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
59585         (my_usleep): Don't mishandle maximum value.
59586
59587 2006-05-19  Jim Meyering  <jim@meyering.net>
59588
59589         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
59590
59591 2006-05-17  Bruno Haible  <bruno@clisp.org>
59592
59593         Cygwin portability.
59594         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
59595
59596 2006-05-17  Bruno Haible  <bruno@clisp.org>
59597
59598         * lib/stdint_.h: Fix recognition of Cygwin.
59599
59600 2006-05-15  Bruno Haible  <bruno@clisp.org>
59601
59602         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
59603         on libtool patch by Ralf Wildenhues.
59604
59605 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
59606
59607         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
59608         test for C99 conformance; (bool) 0.5 is an integer constant
59609         expression, but (bool) -0.5 is not.  Problem reported by Fedor
59610         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
59611
59612 2006-05-11  Simon Josefsson  <jas@extundo.com>
59613
59614         * m4/xvasprintf.m4: Fix obvious typo.
59615
59616 2006-05-11  Jim Meyering  <jim@meyering.net>
59617
59618         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
59619         James Lemley.
59620
59621 2006-05-10  Simon Josefsson  <jas@extundo.com>
59622
59623         * lib/md4.c: Typo fix, update copyright years.
59624         (K1, K2): Don't use L because it turn computations into 64-bit on
59625         64-bit platforms.
59626
59627 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
59628
59629         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
59630         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
59631         unwanted sign propagation, e.g., on hosts with 64-bit int.
59632         There still are some problems with reeelly weird theoretical hosts
59633         (e.g., 33-bit int) but it's not worth worrying about now.
59634         * lib/sha1.c (rol): Likewise.
59635         (K1, K2, K3, K4): Remove unnecessary L suffix.
59636
59637 2006-05-10  Bruno Haible  <bruno@clisp.org>
59638
59639         * lib/des.c: Cast to avoid warnings.
59640
59641 2006-05-09  Bruno Haible  <bruno@clisp.org>
59642
59643         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
59644         (Depends-on): Depend also on xsize, stdarg.
59645         (configure.ac): Add gl_XVASPRINTF.
59646
59647 2006-05-09  Bruno Haible  <bruno@clisp.org>
59648
59649         * m4/xvasprintf.m4: New file.
59650
59651 2006-05-09  Bruno Haible  <bruno@clisp.org>
59652
59653         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
59654         (EOVERFLOW): Define fallback value.
59655         (xstrcat): New function.
59656         (xvasprintf): Recognize the special case of a string concatenation.
59657
59658 2006-05-08  Eric Blake  <ebb9@byu.net>
59659
59660         * gnulib-tool (func_version): Base copyright year on CVS date.
59661         (func_emit_copyright_notice): New function.
59662         (func_emit_lib_Makefile_am): Use it.
59663         (func_emit_tests_Makefile_am): Likewise.
59664         (func_import): Likewise.
59665
59666 2006-05-08  Bruno Haible  <bruno@clisp.org>
59667
59668         * modules/stdarg: New file.
59669         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
59670
59671 2006-05-08  Bruno Haible  <bruno@clisp.org>
59672
59673         * m4/stdarg.m4: New file, from GNU gettext.
59674
59675 2006-05-08  Bruno Haible  <bruno@clisp.org>
59676
59677         * config/srclist.txt (build-aux/config.rpath): different from latest
59678         release.
59679
59680 2006-05-08  Bruno Haible  <bruno@clisp.org>
59681
59682         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
59683
59684 2006-05-05  Jim Meyering  <jim@meyering.net>
59685
59686         * m4/warning.m4: New file, derived from bison's file by the same name.
59687
59688 2006-05-03  Bruno Haible  <bruno@clisp.org>
59689
59690         * lib/stdint_.h: Shorter URL.
59691         * lib/inttypes.h: Likewise.
59692
59693 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59694
59695         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
59696
59697 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59698
59699         * lib/verify.h: Document the internals better.  Most of this change
59700         was written by Bruno Haible.
59701
59702 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
59703
59704         * doc/verify.texi: New file, partly based on a proposal by
59705         Bruno Haible.
59706
59707 2006-05-02  Bruno Haible  <bruno@clisp.org>
59708
59709         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
59710         test from here...
59711         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
59712
59713 2006-04-29  Bruno Haible  <bruno@clisp.org>
59714
59715         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
59716         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
59717
59718 2006-04-29  Bruno Haible  <bruno@clisp.org>
59719
59720         * gnulib-tool: Make --update option actually work.
59721
59722 2006-04-29  Bruno Haible  <bruno@clisp.org>
59723
59724         * doc/gcd.texi: New file.
59725         * doc/gnulib.texi: Include it.
59726
59727 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
59728
59729         * lib/getdate.y (get_date): When adding relative date, start with the
59730         initial time, not with the result of the first mktime call.
59731
59732 2006-04-25  Bruno Haible  <bruno@clisp.org>
59733
59734         * gnulib-tool (func_import): Output the include directives in three
59735         blocks, sorted separately.
59736         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59737
59738 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59739
59740         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
59741         to define main with arguments, for C++.  Reported by Eric Blake.
59742         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
59743         Prefer 'int main ()' to 'int main (void)', for C++.
59744         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
59745         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
59746         for 'main', for C99 and C++.
59747
59748 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
59749
59750         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
59751         Don't assume that exit status -1 is valid.
59752         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59753         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59754         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59755         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
59756         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
59757         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
59758         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
59759         functions can be used without declaring them, or that you can
59760         exit with status -1.
59761         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59762
59763 2006-04-24  Karl Berry  <karl@gnu.org>
59764
59765         * config/srclist.txt (longdouble.m4): sync lost.
59766
59767 2006-04-24  Eric Blake  <ebb9@byu.net>
59768
59769         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
59770
59771 2006-04-24  Bruno Haible  <bruno@clisp.org>
59772
59773         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
59774         poll() implementation in AIX.
59775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59776
59777 2006-04-24  Bruno Haible  <bruno@clisp.org>
59778
59779         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
59780         assigned exactly once.
59781
59782 2006-04-23  Claudio Fontana  <claudio@gnu.org>
59783             Bruno Haible  <bruno@clisp.org>
59784
59785         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
59786         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
59787         for AM_CPPFLAGS.
59788
59789 2006-04-23  Bruno Haible  <bruno@clisp.org>
59790
59791         * modules/copy-file: Depend on unistd.
59792         * modules/execute: Likewise.
59793         * modules/fatal-signal: Likewise.
59794         * modules/findprog: Likewise.
59795         * modules/mkdtemp : Likewise.
59796         * modules/pipe: Likewise.
59797         * modules/wait-process: Likewise.
59798
59799 2006-04-23  Bruno Haible  <bruno@clisp.org>
59800
59801         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
59802         condition was already detected.
59803         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59804
59805 2006-04-23  Bruno Haible  <bruno@clisp.org>
59806
59807         * lib/copy-file.c: Include <unistd.h> unconditionally.
59808         * lib/execute.c: Likewise.
59809         * lib/fatal-signal.c: Likewise.
59810         * lib/findprog.c: Likewise.
59811         * lib/mkdtemp.c: Likewise.
59812         * lib/pipe.h: Likewise.
59813         * lib/pipe.c: Likewise.
59814         * lib/wait-process.h: Likewise.
59815
59816 2006-04-23  Bruno Haible  <bruno@clisp.org>
59817
59818         * gnulib-tool (func_usage): Fix --import description. Document
59819         --update.
59820         (func_import): Create temporary file in a temporary directory, if
59821         --dry-run is specified. Silence errors from 'grep' when there are no
59822         m4 files in $m4dir.
59823         (func_create_testdir): Silence errors from 'grep' when there are no
59824         m4 files in $m4dir.
59825         Reported by Karl Berry <karl@freefriends.org>.
59826
59827 2006-04-20  Bruno Haible  <bruno@clisp.org>
59828
59829         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
59830         one argument, so that the code will be portable to Autoconf 2.60.
59831         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
59832         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59833         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
59834
59835 2006-04-19  Derek Price  <derek@ximbiot.com>
59836             Eric Blake  <ebb9@byu.net>
59837
59838         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
59839         rather than "/full/path.h".  Update comment to match.  Shorten &
59840         generalize m4_translit call via AS_TR_CPP.
59841
59842 2006-04-19  Derek Price  <derek@ximbiot.com>
59843             Eric Blake  <ebb9@byu.net>
59844
59845         * lib/inttypes.h: Correct grammar in comment.
59846
59847 2006-04-18  Derek Price  <derek@ximbiot.com>
59848             Paul Eggert  <eggert@cs.ucla.edu>
59849
59850         * modules/inttypes: New file.
59851         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
59852
59853 2006-04-18  Derek Price  <derek@ximbiot.com>
59854             Paul Eggert  <eggert@cs.ucla.edu>
59855
59856         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
59857         New files.
59858
59859 2006-04-18  Derek Price  <derek@ximbiot.com>
59860             Paul Eggert  <eggert@cs.ucla.edu>
59861
59862         * lib/inttypes.h: New file.
59863         * lib/strtoimax.c: Assume <inttypes.h>.
59864
59865 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
59866
59867         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
59868         isn't mounted.  Problem reported by Kir Kolyshkin.
59869
59870 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
59871
59872         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
59873         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
59874         Derek R. Price.
59875         * lib/regex.h (RE_DUP_MAX): Update comment to match current
59876         implementation.
59877
59878 2006-04-12  Eric Blake  <ebb9@byu.net>
59879
59880         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
59881         is now done automatically by the corresponding Autoconf macro.
59882
59883 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
59884
59885         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
59886         time_r.h.
59887
59888 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
59889
59890         Merge regex changes from libc, removing some of our
59891         POSIX-conformance changes that were rejected and redoing them in a
59892         less-intrusive way.
59893
59894         * lib/regcomp.c (re_compile_internal, init_dfa):
59895         Length arg is now size_t, not Idx.  All uses changed.
59896         (peek_token): Forward decl now says internal_function.
59897         (__re_error_msgid, __re_error_msgid_idx):
59898         Now static rather than extern with attribute_hidden.
59899         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
59900         For some reason libc prefers K&R style defns for external functions.
59901         (regerror) [!defined _LIBC]: Likewise.
59902         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
59903         (seek_collating_symbol_entry, lookup_collation_sequence_value):
59904         (build_range_exp, build_collating_symbol):
59905         Use K&R-style defn.
59906         (re_compile_fastmap): Use '\0' to memset, not 0.
59907         (utf8_sb_map): Make the calculations more obvious.
59908         (init_dfa, parse_bracket_exp, build_charclass_op):
59909         Call calloc and cast result, as glibc does.
59910         (init_word_char, fetch_token, peek_token, peek_token_bracket):
59911         (build_range_exp, build_collating_symbol):
59912         Now internal functions.
59913
59914         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
59915
59916         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
59917         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
59918         Don't depend on VMS; depend on __VMS instead, for POSIX
59919         namespace cleanness.
59920         (regoff_t): Define to ssize_t, not long int.
59921
59922         Remove the REG_ macros named below.  Instead, make the old names
59923         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
59924         __USE_GNU_REGEX.
59925         (REG_BACKSLASH_ESCAPE_IN_LISTS):
59926         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
59927         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
59928         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
59929         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
59930         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
59931         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
59932         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
59933         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
59934         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
59935         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
59936         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
59937         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
59938         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
59939         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
59940         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
59941         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
59942         (REG_NREGS):
59943         Remove.  All uses replaced by the old RE_* names.
59944         (RE_BACKSLASH_ESCAPE_IN_LISTS):
59945         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
59946         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
59947         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
59948         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
59949         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
59950         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
59951         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
59952         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
59953         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
59954         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
59955         Don't bother having these macros be independent of each others'
59956         values, since they no longer exist in the POSIX name space.
59957
59958         Rename the following member names back to their old names,
59959         unless !__USE_GNU_REGEX.  All uses changed back.
59960         (buffer): Renamed from re_buffer.
59961         (allocated): Renamed from re_allocated.
59962         (used): Renamed from re_used.
59963         (syntax): Renamed from re_syntax.
59964         (fastmap): Renamed from re_fastmap.
59965         (translate): Renamed from re_translate.
59966         (can_be_null): Renamed from re_can_be_null.
59967         (regs_allocated): Renamed from re_regs_allocated.
59968         (fastmap_accurate): Renamed from re_fastmap_accurate.
59969         (no_sub): Renamed from re_no_sub.
59970         (not_bol): Renamed from re_not_bol.
59971         (not_eol): Renamed from re_not_eol.
59972         (newline_anchor): Renamed from re_newline_anchor.
59973         (num_regs): Renamed from rm_num_regs.
59974         (start): Renamed from rm_start.
59975         (end): Renamed from rm_end.
59976
59977         (free_state): Move up a bit.
59978
59979         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
59980         #define to be empty.
59981         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
59982         when that is what is intended.
59983         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
59984         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
59985         (MAX): New macro.
59986         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
59987         All uses changed back to re_malloc, etc.  It's now the caller's
59988         responsibility to check for overflow; all callers changed.
59989         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
59990         (re_x2nrealloc): Remove.
59991         (free_state): Remove decl.
59992
59993         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
59994         (re_set_registers, re_exec):
59995         Use K&R-style defn.
59996
59997         2006-01-31  Roland McGrath  <roland@redhat.com>
59998
59999         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
60000         Reported by Mike Frysinger <vapier@gentoo.org>.
60001
60002         2006-01-15  Andreas Jaeger  <aj@suse.de>
60003
60004         [BZ #1950]
60005         * lib/regex_internal.c (re_string_reconstruct): Adjust for
60006         build_wcs_upper_buffer change.
60007         (build_wcs_upper_buffer): Change return type.
60008
60009         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
60010
60011         * lib/regex_internal.h: Include <stdint.h> if available.
60012
60013         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
60014
60015         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
60016
60017         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
60018
60019         * lib/regcomp.c: Adjust for changed secondary hash function.
60020
60021         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
60022
60023         * lib/regex.h: Pretty printing.
60024         Clean up namespace a bit.
60025
60026         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
60027
60028         * lib/regexec.c (update_cur_sifted_state, check_arrival,
60029         check_arrival_add_next_nodes): Avoid using uninitialized variable.
60030
60031         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60032                     Ulrich Drepper  <drepper@redhat.com>
60033
60034         [BZ #1302]
60035         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
60036         changed.
60037         (bitset_word_t): Renamed from bitset_word.  All uses changed.
60038
60039         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
60040
60041         [BZ #281]
60042         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
60043         * lib/regcomp.c: Remove unnecessary uses of
60044         unsigned RE_TRANSLATE_TYPE.
60045         * lib/regex_internal.h: Likewise.
60046         * lib/regex_internal.c: Likewise.
60047         * lib/regexec.c: Likewise.
60048         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
60049
60050         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
60051
60052         * lib/regexec.c (find_recover_state): Remove unnecessary
60053         initialization.
60054         (transit_state_bkref): Make DFA a const pointer.
60055         (get_subexp): Likewise.
60056         (check_arrival): Likewise.
60057         (update_cur_sifted_state): Likewise.
60058         (re_search_internal): Likewise.
60059         (prune_impossible_nodes): Likewise.
60060         (acquire_init_state_context): Likewise.
60061         (proceed_next_node): Likewise.
60062         (set_regs): Likewise.
60063         (free_fail_stack_return): Likewise.
60064         (check_arrival_expand_ecl): Mark DFA parameter as const.
60065         (check_arrival_expand_ecl_sub): Likewise.
60066         (check_subexp_limits): Likewise.
60067         (sub_epsilon_src_nodes):  Likewise.
60068         (add_epsilon_src_nodes):  Likewise.
60069         (merge_state_array): Likewise.
60070         (update_regs): Likewise.
60071         (build_trtable): Likewise.
60072         (sift_states_backward): Mark MCTX parameter as const.
60073         (build_sifted_states): Likewise.
60074         (update_cur_sifted_state): Likewise.
60075         (sift_states_mkref): Likewise.
60076         (check_arrival_expand_ecl): Mark eclosure as const.
60077         (check_dst_limits_calc_pos_1): Likewise.
60078         * lib/regex_internal.h (re_match_context_t): Make dfa a const
60079         pointer.
60080
60081         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
60082
60083         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
60084         (transit_state_sb): Likewise.
60085         (transit_state_mb): Likewise.
60086         (sift_states_iter_mb): Likewise.
60087         (check_arrival_add_next_nodes): Likewise.
60088         (check_node_accept_bytes): Change first parameter to pointer-to-const.
60089         [_LIBC] (re_search_2_stub): Use mempcpy.
60090
60091         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
60092         mbrtowc for very simple UTF-8 case.
60093
60094         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
60095         a pointer-to-const.
60096         (re_acquire_state_context): Likewise.
60097         * lib/regex_internal.h: Adjust prototypes.
60098
60099         * lib/regex.c: Prevent using C++ compilers.
60100
60101         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
60102         (re_acquire_state_context): Likewise.
60103
60104 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60105
60106         * modules/regex (Depends-on): Add ssize_t.
60107
60108 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60109
60110         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
60111         translation table.
60112
60113 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
60114
60115         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
60116
60117 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
60118             Bruno Haible  <bruno@clisp.org>
60119
60120         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
60121         <sys/types.h> and <inttypes.h>.
60122
60123 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60124
60125         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
60126         `__error_t_defined', so argp.h will not typedef the former.
60127
60128 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
60129
60130         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
60131         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
60132         glibc names.  Even if glibc is changed to conform to POSIX, the
60133         traditional names will be available anyway, since regex depends on
60134         the extensions module.  Also, fix a longstanding typo in the
60135         implementation of Spencer ERE test #75 from grep 2.3.  Problems
60136         reported by Emanuele Giaquinta.  Also, change sense of cached
60137         variable, so that the message makes sense.
60138
60139 2006-03-24  Simon Josefsson  <jas@extundo.com>
60140
60141         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
60142         including some doc fixes.
60143         (base64_encode_alloc): Fix +1 bug on allocation failures.
60144
60145 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60146
60147         * lib/base64.c (base64_encode): Do not read past end of array with
60148         unsanitized input on systems with CHAR_BIT > 8.
60149
60150 2006-03-24  Eric Blake  <ebb9@byu.net>
60151
60152         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
60153
60154 2006-03-22  Karl Berry  <karl@gnu.org>
60155
60156         * config/srclist.txt (*setenv.[ch]): get from coreutils.
60157         * config/srclistvars.sh (COREUTILS): new var.
60158
60159 2006-03-17  Jim Meyering  <jim@meyering.net>
60160
60161         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
60162         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
60163
60164 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60165
60166         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
60167         no longer needs it.  Instead, check that regoff_t is as least
60168         as wide as ptrdiff_t.
60169
60170         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
60171         so that our regex.h stays compatible with the installed regex.
60172         This is helpful for installers who configure --without-included-regex.
60173         Problem reported by Emanuele Giaquinta.
60174
60175 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
60176
60177         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
60178         Typedef to long int, not to off_, as POSIX will likely change
60179         in that direction.
60180
60181 2006-03-15  Eric Blake  <ebb9@byu.net>
60182
60183         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
60184
60185 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60186
60187         * lib/argp-help.c (validate_uparams): Fix typo
60188         * lib/argp-parse.c (argp_default_options): Consistently begin help
60189         messages with a lowercase letter.
60190
60191 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
60192
60193         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
60194         overrun buffers and shouldn't be used (much as gets shouldn't be
60195         used).
60196         * lib/time_r.c (asctime_r, ctime_r): Likewise.
60197
60198 2006-03-08  Simon Josefsson  <jas@extundo.com>
60199
60200         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
60201         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60202
60203 2006-03-08  Simon Josefsson  <jas@extundo.com>
60204
60205         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
60206         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60207
60208 2006-03-08  Simon Josefsson  <jas@extundo.com>
60209
60210         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
60211         signal that configure disabled the device.
60212
60213 2006-03-08  Simon Josefsson  <jas@extundo.com>
60214
60215         * build-aux/maint.mk: Fix refresh-po, to handle no translated
60216         languages.
60217
60218 2006-03-07  Simon Josefsson  <jas@extundo.com>
60219
60220         * modules/getopt (Depends-on): Add unistd.
60221
60222         * modules/unistd: New file.
60223
60224 2006-03-07  Simon Josefsson  <jas@extundo.com>
60225
60226         * modules/gc-random: New file.
60227
60228 2006-03-07  Simon Josefsson  <jas@extundo.com>
60229
60230         * m4/unistd_h.m4: New file.
60231
60232 2006-03-07  Simon Josefsson  <jas@extundo.com>
60233
60234         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
60235         test to be side-effect free by storing the result in the cache
60236         variable gl_cv_lib_readline, and moving the assignment of
60237         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
60238         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60239
60240 2006-03-07  Simon Josefsson  <jas@extundo.com>
60241
60242         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
60243         error on missing devices (the functions will return an error).
60244
60245         * m4/gc.m4: Move random stuff to gc-random.m4
60246
60247 2006-03-07  Simon Josefsson  <jas@extundo.com>
60248
60249         * lib/unistd_.h: New file.
60250
60251 2006-03-07  Simon Josefsson  <jas@extundo.com>
60252
60253         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
60254
60255 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60256
60257         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
60258         Problem reported by Juan Manuel Guerrero.
60259
60260 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60261
60262         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
60263         the unistd module.
60264         * lib/getlogin_r.c: Likewise.
60265         * lib/getlogin_r.h: Likewise.
60266         * lib/glob.c: Likewise.
60267         * lib/pagealign_alloc.c: Likewise.
60268         * lib/unistd_.h: Remove; no longer needed.
60269
60270 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
60271
60272         * MODULES.html.sh (Support for systems lacking POSIX:2001):
60273         Add unistd.
60274         * modules/c-stack (Depends-on): Add unistd.
60275         * modules/getlogin_r: Likewise.
60276         * modules/glob: Likewise.
60277         * modules/pagealign_alloc: Likewise.
60278         * modules/unistd (Files): Remove lib/unistd_.h.
60279         (EXTRA_DIST): Remove.
60280         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
60281         need unistd_.h.
60282         (MOSTLYCLEANFILES): Remove unistd.h-t.
60283
60284 2006-03-03  Simon Josefsson  <jas@extundo.com>
60285
60286         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
60287
60288 2006-03-03  Simon Josefsson  <jas@extundo.com>
60289
60290         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
60291         libidn and bison.
60292
60293 2006-03-03  Simon Josefsson  <jas@extundo.com>
60294
60295         * build-aux/maint.mk: Add indent target.
60296
60297 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
60298
60299         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
60300         our replacement poll.h in any case, to avoid a differing
60301         declaration from a system header.  Seen on AIX.
60302
60303 2006-03-01  Simon Josefsson  <jas@extundo.com>
60304
60305         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
60306         <kasal@ucw.cz>.
60307
60308 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         * modules/gettime (Depends-on): Add extensions module.
60311         * modules/nanosleep (Depends-on): Likewise.
60312         * modules/settime (Depends-on): Likewise.
60313
60314 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
60315
60316         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
60317         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
60318         pedantically.
60319         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
60320         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
60321
60322         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
60323         not "==".  Reported by Ralf Wildenhues.
60324
60325 2006-03-01  Karl Berry  <karl@gnu.org>
60326
60327         * doc/Copyright/request-*: new files, synced from gnuorg.
60328
60329 2006-03-01  Karl Berry  <karl@gnu.org>
60330
60331         * config/srclist.txt (Copyright/*): new entries.
60332
60333 2006-02-28  Simon Josefsson  <jas@extundo.com>
60334
60335         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
60336
60337 2006-02-27  Simon Josefsson  <jas@extundo.com>
60338
60339         * lib/base64.h: Indent #define's.  From Jim Meyering
60340         <jim@meyering.net>.
60341
60342 2006-02-27  Jim Meyering  <jim@meyering.net>
60343
60344         Revert the change of 2006-02-24, so these files can continue
60345         to be sync'd from gettext.
60346         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
60347         of `config.h'.
60348
60349 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
60350
60351         * modules/intprops: New file.
60352         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60353         Add intprops.
60354         * modules/getloadavg (Files): Remove lib/intprops.h.
60355         (Depends-on): Add intprops.
60356         * modules/human: Likewise.
60357         * modules/inttostr: Likewise.
60358         * modules/openat: Likewise.
60359         * modules/sig2str: Likewise.
60360         * modules/userspec: Likewise.
60361         * modules/utimecmp: Likewise.
60362         * modules/xnanosleep: Likewise.
60363         * modules/xstrtol: Likewise.
60364
60365 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
60366
60367         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
60368         * modules/lock-tests (TESTS): Use $(EXEEXT).
60369         * modules/tls-tests: Likewise.
60370         * modules/argp-tests: Likewise.
60371         (check_PROGRAMS): New var, replacing...
60372         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
60373
60374 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60375
60376         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
60377         `config.h'.
60378
60379 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
60380
60381         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
60382
60383 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60384
60385         Sync from coreutils.
60386         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
60387         gl_CHDIR_SAFER.
60388
60389 2006-02-22  Jim Meyering  <jim@meyering.net>
60390
60391         Sync from coreutils.
60392         * m4/chdir-safer.m4: New file.
60393
60394 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
60395
60396         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
60397         AT_FDCWD exceeds INT_MAX.
60398         * lib/openat.h (AT_FDCWD): Likewise.
60399
60400 2006-02-17  Eric Blake  <address@hidden>
60401
60402         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
60403
60404 2006-02-16  Simon Josefsson  <jas@extundo.com>
60405
60406         * modules/getaddrinfo (Depends-on): Add sys_socket.
60407
60408 2006-02-15  Simon Josefsson  <jas@extundo.com>
60409
60410         * build-aux/maint.mk: Add dsyntax-check rule.
60411
60412 2006-02-15  Eric Blake  <ebb9@byu.net>
60413
60414         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
60415         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
60416         'present but cannot compile' warnings on cygwin.
60417         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
60418         use ws2tcpip.h if sys/socket.h works.
60419         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
60420         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
60421
60422 2006-02-14  Simon Josefsson  <jas@extundo.com>
60423
60424         * modules/maintainer-makefile (Files): Rename.
60425
60426         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
60427         and (the local) Makefile.cfg to maint-cfg.mk.
60428
60429         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
60430         to the latter.
60431
60432         * modules/maintainer-makefile: New module.
60433
60434         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
60435         severaly stripped to make it possible to build it up from scratch
60436         with reliable tests.
60437
60438         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
60439         fixes to permit overriding the default actions when configure and
60440         makefile are not available.
60441
60442 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
60443
60444         Sync from coreutils.
60445         * modules/lstat (Depends-on): Don't depend on xalloc.
60446         (License): Change from GPL to LGPL, since this is now simply a
60447         replacement for a libc function.
60448
60449 2006-02-14  Jim Meyering  <jim@meyering.net>
60450
60451         Sync from coreutils.
60452
60453         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
60454         failure on deficient systems, and simplify gnulib lgpl dependencies.
60455         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
60456         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
60457
60458         * lib/xalloc-die.c: Remove unused definition of N_.
60459
60460 2006-02-14  Jim Meyering  <jim@meyering.net>
60461
60462         Sync from coreutils.
60463         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
60464         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
60465         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
60466         double-quote uses of that variable, to accommodate the rare case in
60467         which getmntent is available in none of the libraries checked.  This
60468         happens at least on FreeBSD 5.0.
60469
60470 2006-02-13  Simon Josefsson  <jas@extundo.com>
60471
60472         * gnulib-tool (Usage): Fix --import, from
60473         karl@freefriends.org (Karl Berry).
60474
60475 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
60476
60477         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
60478
60479 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
60480
60481         * lib/argp-namefrob.h: Restore changes accidentally lost during the
60482         "autoupdate" on 2005-12-12.
60483
60484 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60485
60486         * modules/closeout (Depends-on): Remove atexit.
60487
60488 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60489
60490         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
60491         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
60492
60493 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60494
60495         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
60496         __EXTENSIONS__ if this causes compilation to fail.  Problem
60497         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
60498         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
60499
60500 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
60501
60502         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
60503         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
60504         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
60505         All uses changed.
60506
60507 2006-01-26  Simon Josefsson  <jas@extundo.com>
60508
60509         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
60510         prototype is visible on mingw32.
60511
60512         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
60513         for mingw32.
60514
60515         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
60516         mingw32).
60517
60518 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
60519
60520         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
60521         attempt to open for write; this always fails, at least on POSIX
60522         hosts.  This reinstates the 2006-01-09 change, which was
60523         inadvertently removed.
60524
60525 2006-01-26  Bruno Haible  <bruno@clisp.org>
60526
60527         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
60528         Reported by Paul Eggert.
60529
60530 2006-01-26  Bruno Haible  <bruno@clisp.org>
60531             Paul Eggert  <eggert@cs.ucla.edu>
60532
60533         * lib/stdbool_.h (_Bool)
60534         [(! (defined __cplusplus || defined __BEOS__)
60535           && !defined __GNUC__
60536           && !(defined __HP_cc || defined __xlc__
60537                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
60538                || defined __sgi))]:
60539         #define to signed char in these cases too; this simplifies
60540         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
60541         etc., separately) and makes it more conservative.
60542
60543 2006-01-25  Simon Josefsson  <jas@extundo.com>
60544
60545         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
60546         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
60547         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
60548
60549 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60550
60551         * lib/argp-namefrob.h: Bugfix. Remove stray #
60552
60553 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60554
60555         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
60556         so that we test the test.
60557         Check for yet another HP-UX cc bug involving *bool |= bool.
60558
60559 2006-01-25  Karl Berry  <karl@gnu.org>
60560
60561         * config/srclist.txt (vasnprintf.c): sync lost.
60562
60563 2006-01-25  Jim Meyering  <jim@meyering.net>
60564
60565         Sync from the stable (b5) branch of coreutils:
60566
60567         * lib/fts.c (fts_children): Don't let close() clobber errno from
60568         failed fchdir().
60569
60570         * lib/fts.c (fts_stat): When following a symlink-to-directory,
60571         don't necessarily interpret stat-fails+lstat-succeeds as indicating
60572         a dangling symlink.  That can also happen at least for ELOOP.
60573         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
60574         FYI, this bug predates the inclusion of fts.c in coreutils.
60575
60576         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
60577         in their own block, so pre-c99 compilers don't object.
60578
60579         Avoid the double-free (first in fts_read, second in fts_close) that
60580         would occur when an `active' directory is made inaccessible (e.g.,
60581         via chmod a-x) during a traversal.
60582         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60583         before returning.  Reproduce this failure by
60584         mkdir -p a/b; cd a; chmod a-x . b
60585         Reported by Stavros Passas.
60586
60587 2006-01-25  Jim Meyering  <jim@meyering.net>
60588
60589         * lib/fileblocks.c: Remove more useless parentheses.
60590         * lib/readutmp.h: Likewise.
60591
60592 2006-01-25  Bruno Haible  <bruno@clisp.org>
60593
60594         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
60595         warnings.
60596         Reported by Paul Eggert.
60597
60598 2006-01-25  Bruno Haible  <bruno@clisp.org>
60599
60600         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
60601         rid of a trap command. For Solaris sh.
60602         Reported by Mark D. Baushke <mdb@gnu.org>.
60603
60604 2006-01-24  Simon Josefsson  <jas@extundo.com>
60605
60606         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
60607         Bruno.
60608
60609 2006-01-24  Karl Berry  <karl@gnu.org>
60610
60611         * config/srclist.txt (argp-namefrob.h): sync lost.
60612
60613 2006-01-24  Jim Meyering  <jim@meyering.net>
60614
60615         * modules/openat (Files): Add lib/intprops.h.
60616         From Mark D. Baushke.
60617
60618 2006-01-24  Jim Meyering  <jim@meyering.net>
60619
60620         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
60621         Reported by Mark D. Baushke.
60622
60623 2006-01-24  Jim Meyering  <jim@meyering.net>
60624
60625         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
60626
60627 2006-01-24  Bruno Haible  <bruno@clisp.org>
60628
60629         * modules/strnlen (Maintainer): Change from glibc to all.
60630
60631 2006-01-24  Bruno Haible  <bruno@clisp.org>
60632
60633         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
60634         Patch by Paul Eggert.
60635
60636 2006-01-24  Bruno Haible  <bruno@clisp.org>
60637
60638         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
60639         already has it.
60640         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
60641         2005-11-26.
60642
60643         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
60644         'signed char' to avoid problems with the built-in _Bool type.
60645         Reported by Paul Eggert on 2005-11-26.
60646
60647 2006-01-24  Bruno Haible  <bruno@clisp.org>
60648
60649         * gnulib-tool (func_import): Avoid constructing complicated sed
60650         expressions inside backquote.
60651         Report and solution by Mark D. Baushke <mdb@gnu.org>.
60652
60653 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
60654
60655         These changes imported from libc.
60656         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
60657         test and two separate function calls.
60658         * lib/strndup.c (__strndup): Add libc_hidden_def.
60659
60660 2006-01-23  Simon Josefsson  <jas@extundo.com>
60661
60662         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
60663         Remove the test_*_SOURCES variable: automake infers it by default.
60664         * modules/tls-tests: Likewise.
60665
60666 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60667
60668         Work around porting bugs reported by Dieter in
60669         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
60670         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
60671         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
60672         Include "getopt.h" first, to check interface.
60673         (getenv): Declare only if defined HAVE_DECL_GETENV &&
60674         !HAVE_DECL_GETENV.
60675         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
60676         (__strndup): Revert to K&R-style function dfns, the glibc style.
60677         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
60678         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
60679         Include strnlen.h first, to get prototype properly.
60680         (strnlen): Renamed from __strnlen.
60681         Remove weak alias.
60682
60683 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60684
60685         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
60686
60687 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
60688
60689         * config/srclist.txt: Adjust to reflect glibc reorganization.
60690         This affects only comments.
60691
60692 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60693
60694          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
60695          Reported by Bruce Korb <bkorb@gnu.org>.
60696
60697 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
60698
60699         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
60700         to pacify gcc -Wswitch-default.
60701
60702 2006-01-22  Bruno Haible  <bruno@clisp.org>
60703
60704         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
60705         temporary buffer for sprintf, take into account the precision also
60706         for 'd', 'i', 'u', 'o', 'x', 'X'.
60707
60708 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60709
60710         * modules/argp-tests: New module
60711         * tests/test-argp.c: New file
60712         * tests/test-argp-2.sh: New file
60713
60714 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
60715
60716         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
60717         (__argp_base_name): Removed
60718         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
60719         typo.
60720         (__argp_base_name): Provide macro definition or extern declaration
60721         depending on the configuration
60722
60723 2006-01-20  Simon Josefsson  <jas@extundo.com>
60724
60725         * modules/inet_ntop (Depends-on): Depend on sys_socket.
60726
60727 2006-01-20  Simon Josefsson  <jas@extundo.com>
60728
60729         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
60730
60731 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
60732
60733         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
60734         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
60735         Suggested by Bruno Haible.
60736
60737 2006-01-20  Karl Berry  <karl@gnu.org>
60738
60739         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
60740         until changes propagate, I guess.
60741
60742 2006-01-19  Simon Josefsson  <jas@extundo.com>
60743
60744         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
60745
60746 2006-01-19  Simon Josefsson  <jas@extundo.com>
60747
60748         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
60749
60750 2006-01-19  Simon Josefsson  <jas@extundo.com>
60751
60752         * gnulib-tool: Set check_PROGRAMS.
60753
60754         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60755         modules/des-tests, modules/gc-arcfour-tests,
60756         modules/gc-arctwo-tests, modules/gc-des-tests,
60757         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60758         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60759         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60760         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60761         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60762         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
60763         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
60764         test_*_SOURCES.
60765
60766 2006-01-18  Simon Josefsson  <jas@extundo.com>
60767
60768         * modules/socklen (Depends-on): Depend on sys_socket.
60769
60770 2006-01-18  Simon Josefsson  <jas@extundo.com>
60771
60772         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
60773         modules/des-tests, modules/gc-arcfour-tests,
60774         modules/gc-arctwo-tests, modules/gc-des-tests,
60775         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
60776         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
60777         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
60778         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
60779         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
60780         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
60781         $(EXEEXT) to automake TESTS variable, for mingw32.
60782
60783 2006-01-17  Simon Josefsson  <jas@extundo.com>
60784
60785         * modules/socklen (Include): Need sys/socket.h.
60786
60787 2006-01-17  Bruno Haible  <bruno@clisp.org>
60788
60789         * modules/ssize_t (Include): Add <sys/types.h>.
60790
60791 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
60792
60793         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
60794         it's not portable and it doesn't work with cross-compiles.
60795         Problem reported by Bruno Haible.  Fix missing-$ typo in
60796         'test "gl_cv_ignore_unused_libraries" ...' that prevented
60797         -zignore from being used with Sun's C compiler.
60798
60799 2006-01-12  Simon Josefsson  <jas@extundo.com>
60800
60801         * lib/base64.c: Fix warning, reported by Bruno Haible
60802         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
60803
60804 2006-01-12  Bruno Haible  <bruno@clisp.org>
60805
60806         * modules/ldd: New file.
60807         * build-aux/ldd.sh.in: New file.
60808         * MODULES.html.sh (Support for building libraries and executables): Add
60809         ldd.
60810
60811 2006-01-12  Bruno Haible  <bruno@clisp.org>
60812
60813         * m4/ldd.m4: New file.
60814
60815 2006-01-12  Bruno Haible  <bruno@clisp.org>
60816
60817         * gnulib-tool (func_import, func_create_testdir): Don't go into an
60818         endless loop while replacing $auxdir with build-aux.
60819
60820 2006-01-11  Simon Josefsson  <jas@extundo.com>
60821
60822         * lib/stdint_.h (SIZE_MAX): Add missing (.
60823
60824 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60825
60826         Sync from coreutils.
60827         * lib/md5.c: Fix commentary typos.
60828         (alignof, UNALIGNED_P): No need for a GCC-specific version.
60829         * lib/md5.h (__attribute__): Remove; unused.
60830         * lib/sha1.c: Fix commentary to match md5 better.
60831         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
60832         so that we don't need to worry about alignment.  All uses changed.
60833         This merges the 2005-10-28 md5 change into sha1.
60834
60835 2006-01-11  Jim Meyering  <jim@meyering.net>
60836
60837         Sync from coreutils.
60838         * lib/md5.c (OP): Fix spacing.
60839
60840 2006-01-11  Bruno Haible  <bruno@clisp.org>
60841
60842         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60843         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
60844         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
60845
60846 2006-01-11  Bruno Haible  <bruno@clisp.org>
60847
60848         Ensure automatic ordering between gl_LOCK and gl_ARGP.
60849         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
60850         the "early" section as well.
60851
60852 2006-01-11  Bruno Haible  <bruno@clisp.org>
60853
60854         Avoid "ar: no archive members specified" error on MacOS X.
60855         * gnulib-tool (func_modules_add_dummy): New function.
60856         (func_import, func_create_testdir): Invoke it.
60857
60858 2006-01-11  Bruno Haible  <bruno@clisp.org>
60859
60860         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
60861         with $auxdir in AC_CONFIG_FILES statements.
60862
60863 2006-01-11  Bruno Haible  <bruno@clisp.org>
60864
60865         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60866         Initialize also noinst_HEADERS to empty.
60867
60868 2006-01-11  Bruno Haible  <bruno@clisp.org>
60869
60870         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
60871         variables.
60872         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
60873         autoreconf.
60874
60875 2006-01-11  Bruno Haible  <bruno@clisp.org>
60876
60877         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
60878         overridable by the user.
60879         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60880
60881 2006-01-10  Simon Josefsson  <jas@extundo.com>
60882
60883         * modules/sys_socket: New file.
60884
60885 2006-01-10  Simon Josefsson  <jas@extundo.com>
60886
60887         * m4/sys_socket_h.m4: New file.
60888
60889 2006-01-10  Simon Josefsson  <jas@extundo.com>
60890
60891         * lib/socket_.h: New file.
60892
60893 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60894
60895         * modules/readutmp (Maintainer): Add myself.
60896
60897 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60898
60899         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
60900         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
60901         People who are still concerned with buggy memcmp implementations
60902         can invoke gl_FUNC_MEMCMP themselves.
60903
60904 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60905
60906         * lib/regex_internal.h (BITSET_WORD_BITS):
60907         Work around a bug in 64-bit PGC (before version 6.1-2), where the
60908         preprocessor mishandles large unsigned values as if they were signed.
60909         Problem reported by Claudio Fontana in
60910         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
60911
60912 2006-01-10  Jim Meyering  <jim@meyering.net>
60913
60914         Avoid the double-free (first in fts_read, second in fts_close) that
60915         would occur when an `active' directory is made inaccessible (e.g.,
60916         via chmod a-x) during a traversal.
60917         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
60918         before returning.  Reproduce this failure by
60919         mkdir -p a/b; cd a; chmod a-x . b
60920         Reported by Stavros Passas.
60921
60922         Sync from coreutils.
60923         * lib/sha1.c: Tweak grammar in a comment.
60924
60925 2006-01-10  Jim Meyering  <jim@meyering.net>
60926
60927         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
60928         Patch by Joerg Sonnenberger.
60929
60930 2006-01-10  Bruno Haible  <bruno@clisp.org>
60931
60932         * modules/readutmp: Depend on module free.
60933         * modules/strtok_r: Depend on module restrict.
60934
60935 2006-01-10  Bruno Haible  <bruno@clisp.org>
60936
60937         * modules/gettext (configure.ac): Add an invocation of
60938         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
60939
60940 2006-01-10  Bruno Haible  <bruno@clisp.org>
60941
60942         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
60943         Reported by Werner Lemberg <wl@gnu.org>.
60944
60945 2006-01-10  Bruno Haible  <bruno@clisp.org>
60946
60947         * lib/localcharset.c: Update from GNU gettext.
60948
60949 2006-01-10  Bruno Haible  <bruno@clisp.org>
60950
60951         * lib/argp.h (__const): Remove macro. Use const instead.
60952         * lib/argp-fmtstream.h (__const): Likewise.
60953         * lib/glob_.h (__const): Remove macro.
60954         * lib/glob-libc.h: Use const instead of __const.
60955
60956 2006-01-10  Bruno Haible  <bruno@clisp.org>
60957
60958         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
60959         variable.
60960         Needed to avoid an automake error regarding the 'gettext' module.
60961
60962 2006-01-09  Simon Josefsson  <jas@extundo.com>
60963
60964         * modules/inet_ntop (Depends-on): Add restrict.
60965
60966 2006-01-09  Simon Josefsson  <jas@extundo.com>
60967
60968         * modules/gc-rijndael-tests (License): Put under LGPL.
60969
60970         * modules/gc-des-tests (License): Likewise.
60971
60972         * modules/gc-arcfour-tests (License): Likewise.
60973
60974         * modules/gc-arctwo-tests (License): Likewise.
60975
60976         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
60977
60978         * modules/gc-hmac-sha1-tests (Files): Likewise.
60979
60980         * modules/gc-hmac-md5-tests (License): Likewise.
60981
60982         * modules/gc-sha1-tests (License): Likewise.
60983
60984         * modules/gc-md5-tests (License): Likewise.
60985
60986         * modules/gc-md4-tests (License): Likewise.
60987
60988         * modules/gc-md2-tests (License): Likewise.
60989
60990         * modules/gc-tests (License): Likewise.
60991
60992         * modules/des-tests (License): Likewise.
60993
60994         * modules/md4-tests (License): Likewise.
60995
60996         * modules/md2-tests (License): Likewise.
60997
60998 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60999
61000         Sync from coreutils:
61001
61002         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
61003         * modules/lib-ignore: New file.
61004         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
61005         chdir-safer.m4, lchmod.m4.
61006         * modules/openat: Add mkdirat.c, openat-priv.h.
61007
61008 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61009
61010         Sync from coreutils.
61011         * m4/lib-ignore.m4: New file.
61012         * m4/lchmod.m4: New file.
61013
61014 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61015
61016         Sync from coreutils.
61017         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
61018         for write access: POSIX says that must fail.
61019         * lib/fts.c (diropen): Likewise.
61020         * lib/save-cwd.c (save_cwd): Likewise.
61021         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
61022         well, for minor improvements on hosts that lack O_DIRECTORY.
61023         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
61024         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
61025         Fall back on chown if open failed with EACCES.
61026
61027         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
61028         Report an error at compile-time if only a 1-second nominal clock
61029         resolution is found.
61030
61031         * lib/lchmod.h: New file.
61032         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
61033         (make_dir_parents): Use lchown rather than chown, and
61034         lchmod rather than chmod.
61035
61036         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
61037         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
61038         "proc" reported by n0dalus.
61039
61040         * lib/mountlist.c: Include <limits.h>.
61041         (dev_from_mount_options)
61042         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
61043         New function.  It no longer assumes "dev=" has the System V meaning
61044         on Linux (since it doesn't).  It also parses "dev=" more carefully.
61045         (read_file_system_list)
61046         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
61047         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
61048         dev= in that case.
61049
61050         * lib/posixtm.h (PDS_PRE_2000): New macro.
61051         * lib/posixtm.c (year): Arg is now syntax_bits rather than
61052         allow_century.  All usages changed.  Reject dates outside the range
61053         1969-1999 if PDS_PRE_2000 is used.
61054
61055 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         Sync from coreutils.
61058         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
61059         (Time of day items): Mention the possibility of leap seconds.
61060         Problem reported by Dr. David Alan Gilbert.
61061
61062 2006-01-09  Jim Meyering  <jim@meyering.net>
61063
61064         Sync from coreutils.
61065
61066         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
61067
61068         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
61069
61070         * lib/modechange.c (mode_compile): Reject an invalid mode string
61071         that starts with an octal digit.  From Andreas Gruenbacher.
61072
61073         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
61074         and dup to open_safer and dup_safer, respectively.
61075         (openat_permissive): Fix typo in comment.
61076
61077         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
61078         "gettext.h"; either no longer needed or are guaranteed by openat.h.
61079         (_): Remove; no longer needed.
61080         (openat): Renamed from rpl_openat; no need for rpl_openat
61081         since openat.h renames openat for us.
61082         Replace most of the body with a call to openat_permissive,
61083         to avoid duplicate code.
61084         Port to (probably hypothetical) environments were mode_t is
61085         wider than int.
61086         (openat_permissive): Require mode arg, so that we can check
61087         types better.  Put it just after flags.  Change cwd failure
61088         indicator from pointer-to-bool to pointer-to-errno-value.
61089         All callers changed.
61090         Invoke openat_save_fail and/or openat_restore_fail if
61091         cwd_errno is null, so that openat can call us.
61092         (openat_permissive, fdopendir, fstatat, unlinkat):
61093         Simplify errno handling to avoid some duplicate code,
61094         as it's OK to set errno on success.
61095         * lib/openat.h: Revamp code so that function macros depend on
61096         __OPENAT_PREFIX only, not also on AT_FDCWD.
61097         (openat_ro): Remove.  Caller changed to use openat_permissive.
61098         (openat_permissive): Now a macro, if not a function.
61099         (openat_restore_fail, openat_save_fail): Now always functions,
61100         since mkdirat needs them even if __OPENAT_PREFIX is defined.
61101
61102         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
61103         and openat.c.
61104         * lib/mkdirat.c: Include openat-priv.h.
61105         Remove definitions of macros defined therein.
61106         * lib/openat.c: Likewise.
61107
61108         * lib/mkdirat.c (mkdirat): New file and function.
61109         * lib/openat.h (mkdirat): Declare.
61110
61111         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
61112
61113         * lib/openat.h (openat_permissive): Declare.
61114         (openat_ro): Define.
61115
61116         * lib/openat.c (EXPECTED_ERRNO): New macro.
61117         (openat_permissive): New function -- used in remove.c rewrite.
61118         (all functions): Set errno just before returning, only if there
61119         was an actual failure.
61120         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
61121
61122         Emulate openat-family functions using Linux's procfs, if possible.
61123         Idea and some code based on Ulrich Drepper's glibc changes.
61124
61125         * lib/openat.c: (BUILD_PROC_NAME): New macro.
61126         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
61127         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
61128         before falling back on save_cwd and restore_cwd.
61129         (fdopendir, fstatat, unlinkat): Likewise.
61130
61131         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
61132         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
61133
61134         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
61135         as second argument to va_arg.  Otherwise, some versions of gcc
61136         warn that `if this code is reached, the program will abort'.
61137
61138 2006-01-09  Jim Meyering  <jim@meyering.net>
61139
61140         Sync from coreutils.
61141         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
61142         Require openat-priv.h.
61143
61144 2006-01-09  Bruno Haible  <bruno@clisp.org>
61145
61146         * modules/strnlen (Include): Use strnlen.h.
61147
61148 2006-01-09  Bruno Haible  <bruno@clisp.org>
61149
61150         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
61151
61152 2006-01-09  Bruno Haible  <bruno@clisp.org>
61153
61154         * lib/sysexit_.h (EX_OK): New macro.
61155         Suggested by Martin Lambers <marlam@marlam.de>.
61156
61157 2006-01-09  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
61160         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
61161
61162 2006-01-09  Bruno Haible  <bruno@clisp.org>
61163
61164         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
61165         numbers.
61166
61167 2006-01-09  Bruno Haible  <bruno@clisp.org>
61168
61169         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
61170         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
61171         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
61172         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
61173
61174 2006-01-09  Bruno Haible  <bruno@clisp.org>
61175
61176         * build-aux/javacomp.sh.in: New file, moved from lib/.
61177         * modules/javacomp-script (Files): Update.
61178         (configure.ac): Add AC_CONFIG_FILES invocation.
61179         (EXTRA_DIST): Remove variable.
61180
61181         * build-aux/javaexec.sh.in: New file, moved from lib/.
61182         * modules/javaexec (Files): Update.
61183         (configure.ac): Add AC_CONFIG_FILES invocation.
61184         (EXTRA_DIST): Remove javaexec.sh.in.
61185
61186         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
61187         * modules/csharpcomp-script (Files): Update.
61188         (configure.ac): Add AC_CONFIG_FILES invocation.
61189         (EXTRA_DIST): Remove variable.
61190
61191         * build-aux/csharpexec.sh.in: New file, moved from lib/.
61192         * modules/csharpexec (Files): Update.
61193         (configure.ac): Add AC_CONFIG_FILES invocation.
61194         (EXTRA_DIST): Remove csharpexec.sh.in.
61195
61196 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61197
61198         Sync from coreutils.
61199
61200         Add POSIX ACL support
61201         * lib/acl.h (copy_acl, set_acl): Add declarations.
61202         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
61203         systems other than Linux.
61204         (chmod_or_fchmod): New function: use fchmod when possible,
61205         and chmod otherwise.
61206         (file_has_acl): Add a POSIX ACL implementation, with a
61207         Linux-specific subcase.
61208         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
61209         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
61210         acls are unsupported.
61211         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
61212         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
61213         are unsupported.
61214
61215 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
61216
61217         Sync from coreutils.
61218         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
61219
61220 2006-01-07  Bruno Haible  <bruno@clisp.org>
61221
61222         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
61223         gl_EARLY.
61224
61225 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61226
61227         * lib/strftime.c (tzname): Don't declare if it is already #defined.
61228         Problem reported for Mingw by Mark Junker.
61229
61230 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
61231
61232         * README: Gnulib normally doesn't generate a tarball.
61233
61234 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
61235
61236         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
61237         long int, not int, for nanosecond counts, so that people who are
61238         used to POSIX struct timespec won't be surprised.  Reported by Jim
61239         Meyering.
61240
61241 2005-12-28  Bruno Haible  <bruno@clisp.org>
61242
61243         * build-aux/config.rpath: Update from GNU gettext.
61244
61245 2005-12-16  Jim Meyering  <jim@meyering.net>
61246
61247         * modules/fprintftime: New module.
61248         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
61249
61250 2005-12-16  Jim Meyering  <jim@meyering.net>
61251
61252         * m4/fprintftime.m4: New file.
61253
61254 2005-12-16  Jim Meyering  <jim@meyering.net>
61255
61256         * lib/fprintftime.c, lib/fprintftime.h: New files.
61257
61258 2005-12-15  Simon Josefsson  <jas@extundo.com>
61259
61260         * modules/socklen (configure.ac): Fix M4 macro name, to align with
61261         new m4/socklen.m4.
61262
61263 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61264
61265         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
61266         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
61267
61268 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61269
61270         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
61271         * lib/argp-help.c (fill_in_uparams): Check if the constructed
61272         struct uparams is valid. Fall back to the default values if it is
61273         not.
61274
61275 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61276
61277         * modules/argp (Files): Add argp-pin.c
61278         (Depends-on): dirname
61279         (lib_SOURCES): Add argp-pin.c
61280
61281 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61282
61283         * m4/argp.m4:  Check if program_invocation_name and
61284         program_invocation_short_name are declared and define appropriate
61285         macros if they are not.
61286
61287 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
61288
61289         * lib/argp-help.c (__argp_base_name): New function
61290         (__argp_short_program_name): Rewrite using __argp_base_name
61291         * lib/argp-namefrob.h: Define program_invocation_name and
61292         program_invocation_short_name if requested
61293         (__argp_base_name): Add prototype
61294         * lib/argp-parse.c (argp_def): Use gettext wrappers
61295         (argp_default_parser): Use __argp_base_name
61296         * lib/argp-pin.c: New file. Defines program_invocation_name and
61297         program_invocation_short_name on systems that lack them.
61298
61299 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61300
61301         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
61302         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61303         porting problem reported by Georg Schwarz in
61304         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61305
61306 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
61307
61308         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
61309         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
61310         porting problem reported by Georg Schwarz in
61311         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
61312
61313 2005-12-05  Bruno Haible  <bruno@clisp.org>
61314
61315         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
61316         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
61317         Reported by Mark Junker <mjscod@gmx.de>.
61318
61319 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
61320
61321         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
61322         Use implementation from Albert Chin, with some
61323         comments/corrections by Stepan Kasal and myself.
61324
61325 2005-12-02  Bruno Haible  <bruno@clisp.org>
61326
61327         * gnulib-tool (func_import): Accept GPLed build tool modules when
61328         --lgpl is given.
61329         * modules/csharpcomp-script: New file.
61330         * modules/csharpcomp: Depend on it.
61331         * modules/javacomp-script: New file.
61332         * modules/javacomp: Depend on it.
61333         Suggested by Simon Josefsson.
61334
61335 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
61336
61337         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
61338         statement, to work around an HP-UX 10.20 compiler bug reported by
61339         Peter O'Gorman.
61340
61341 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61342
61343         * modules/savedir (Depends-on): Add openat.
61344
61345 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
61346
61347         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
61348         (uintmax_t) [defined uintmax_t]: Do not declare.
61349         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
61350         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
61351         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
61352         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
61353         sake of portability to weird hosts that C allows (though we don't
61354         know of any practical examples).
61355
61356         * lib/savedir.h (fdsavedir): New decl.
61357         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
61358         contains most of the former guts of savedir.
61359         (savedir): Use savedirstream.
61360         Include "openat.h".
61361
61362 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
61363
61364         * modules/obstack (Files): Add m4/ulonglong.m4.
61365         Problem reported by Davide Angelocola.
61366
61367 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61368
61369         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
61370         coreutils no longer futzes with rounding modes.
61371
61372 2005-11-14  Jim Meyering  <jim@meyering.net>
61373
61374         * lib/mkstemp-safer.c: Include <config.h>, required for possible
61375         replacement of mkstemp.
61376
61377 2005-11-10  Simon Josefsson  <jas@extundo.com>
61378
61379         * lib/readline.c: Remove EOL.
61380
61381 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61382
61383         * modules/gethrxtime (Depends-on): Add gettime.
61384
61385 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61386
61387         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
61388         or gettimeofday; no longer needed.
61389
61390 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
61391
61392         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
61393         time business.
61394         (gethrxtime) [! (HAVE_NANOUPTIME
61395         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
61396         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
61397         our own approximation.
61398
61399 2005-11-08  Eric Blake  <ebb9@byu.net>
61400
61401         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61402
61403 2005-11-08  Eric Blake  <ebb9@byu.net>
61404
61405         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
61406
61407 2005-11-04  Bruno Haible  <bruno@clisp.org>
61408
61409         * gnulib-tool: Implement --update mode.
61410
61411 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61412
61413         Fix porting problem reported by Theodoros V. Kalamatianos.
61414         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
61415         Don't assume that futimes failing means we must fail.
61416
61417 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
61418
61419         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
61420         variables to suggest the intended function of the PATH_MAX check.
61421
61422 2005-10-30  Kean Johnston  <jkj@sco.com>
61423
61424         Trivial changes to support SCO systems.
61425         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
61426         as PATH_MAX.
61427         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
61428         where __ptr is null when no I/O is pending.
61429
61430 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
61431
61432         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
61433         leave errno alone.  Problem reported by Dmitry V. Levin.
61434
61435 2005-10-28  Simon Josefsson  <jas@extundo.com>
61436
61437         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
61438         Test more.
61439
61440         * tests/test-gc-md2.c, tests/test-md2.c: New files.
61441
61442         * modules/md2, modules/md2-tests: New files.
61443
61444 2005-10-28  Simon Josefsson  <jas@extundo.com>
61445
61446         * m4/inet_ntop.m4: More tests.
61447
61448         * m4/gc-md2.m4, md2.m4: New file.
61449
61450 2005-10-28  Simon Josefsson  <jas@extundo.com>
61451
61452         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
61453         "restrict" keywords, as per POSIX.  Protect the function
61454         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
61455         Don't use K&R prototypes.  Check the sprintf return values.
61456         Re-define EAFNOSUPPORT if not present.  Indent.
61457
61458         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
61459         suggested by Bruno Haible <bruno@clisp.org>.
61460
61461         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
61462
61463         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
61464
61465         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
61466         libgcrypt).
61467
61468         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
61469
61470         * lib/md2.h, lib/md2.c: New files.
61471
61472 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
61473
61474         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
61475         errno alone.  Problem reported by Frederic Jolliton.
61476
61477 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61478
61479         * modules/verify (License): Change from GPL to LGPL.  This is a
61480         tiny module and there are apparently near-equivalents that are
61481         under the BSD license.
61482
61483 2005-10-24  Simon Josefsson  <jas@extundo.com>
61484
61485         * modules/sha1: Relicense to LGPL.
61486
61487 2005-10-24  Simon Josefsson  <jas@extundo.com>
61488
61489         * lib/md4.h: Shrink buffer size, now that we changed the type.
61490
61491 2005-10-23  Simon Josefsson  <jas@extundo.com>
61492
61493         * gnulib-tool (func_import): Fix --tests-base.
61494
61495 2005-10-22  Simon Josefsson  <jas@extundo.com>
61496
61497         * modules/arcfour (Depends-on): Need stdint.
61498
61499 2005-10-22  Simon Josefsson  <jas@extundo.com>
61500
61501         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
61502         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
61503
61504 2005-10-22  Simon Josefsson  <jas@extundo.com>
61505
61506         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
61507         suggested by Bruno Haible <bruno@clisp.org>.
61508
61509 2005-10-22  Simon Josefsson  <jas@extundo.com>
61510
61511         * lib/crc.h: Include stddef.h, for size_t.
61512
61513 2005-10-22  Simon Josefsson  <jas@extundo.com>
61514
61515         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
61516         arcfour_context struct (simplify test vector testing in GNU
61517         Shishi).
61518
61519 2005-10-21  Simon Josefsson  <jas@extundo.com>
61520
61521         * modules/des, modules/des-tests: New files.
61522
61523         * modules/gc-des, modules/gc-des-tests: New files.
61524
61525         * tests/test-des.c, tests/test-gc-des.c: New file.
61526
61527 2005-10-21  Simon Josefsson  <jas@extundo.com>
61528
61529         * modules/arctwo, modules/arctwo-tests: New files.
61530
61531         * tests/test-arctwo.c: New file.
61532
61533         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
61534
61535         * tests/test-gc-arctwo.c: New file.
61536
61537 2005-10-21  Simon Josefsson  <jas@extundo.com>
61538
61539         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
61540         Bruno Haible <bruno@clisp.org>.
61541
61542         * m4/gc-des.m4: New file.
61543
61544 2005-10-21  Simon Josefsson  <jas@extundo.com>
61545
61546         * m4/arctwo.m4: New file.
61547
61548         * m4/gc-arctwo.m4: New file.
61549
61550 2005-10-21  Simon Josefsson  <jas@extundo.com>
61551
61552         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
61553         block.
61554
61555 2005-10-21  Simon Josefsson  <jas@extundo.com>
61556
61557         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
61558         <bruno@clisp.org>.
61559
61560         * lib/hmac-sha1.c (hmac_sha1): Likewise.
61561
61562         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
61563         Bruno Haible <bruno@clisp.org>.
61564
61565         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
61566         <bruno@clisp.org>.
61567
61568 2005-10-21  Simon Josefsson  <jas@extundo.com>
61569
61570         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
61571
61572 2005-10-21  Simon Josefsson  <jas@extundo.com>
61573
61574         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
61575
61576 2005-10-21  Simon Josefsson  <jas@extundo.com>
61577
61578         * lib/des.h, lib/des.c: New files.
61579
61580         * lib/gc-gnulib.c: Support DES.c
61581
61582 2005-10-21  Simon Josefsson  <jas@extundo.com>
61583
61584         * lib/arctwo.h, lib/arctwo.c: New files.
61585
61586         * lib/gc-gnulib.c: Support ARCTWO.
61587
61588 2005-10-21  Simon Josefsson  <jas@extundo.com>
61589
61590         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
61591         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61592
61593 2005-10-21  Simon Josefsson  <jas@extundo.com>
61594
61595         * gnulib-tool (func_import, func_create_testdir): Define automake
61596         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
61597         Makefile.am snippet),
61598         suggested by Bruno Haible <bruno@clisp.org>.
61599
61600         * modules/gc (Makefile.am): Use it.
61601
61602 2005-10-21  Bruno Haible  <bruno@clisp.org>
61603
61604         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
61605         patch.
61606
61607 2005-10-19  Simon Josefsson  <jas@extundo.com>
61608
61609         * tests/test-gc-rijndael.c: New file.
61610
61611         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
61612
61613 2005-10-19  Simon Josefsson  <jas@extundo.com>
61614
61615         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
61616         interface too.
61617
61618 2005-10-19  Simon Josefsson  <jas@extundo.com>
61619
61620         * tests/test-gc-arcfour.c: New file.
61621
61622         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
61623
61624 2005-10-19  Simon Josefsson  <jas@extundo.com>
61625
61626         * modules/gc-md4, modules/gc-md4-tests: New file.
61627
61628         * tests/test-gc-md4.c: New file.
61629
61630 2005-10-19  Simon Josefsson  <jas@extundo.com>
61631
61632         * m4/gc-md4.m4: New file.
61633
61634 2005-10-19  Simon Josefsson  <jas@extundo.com>
61635
61636         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
61637         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
61638         <kasal@ucw.cz>.
61639
61640 2005-10-19  Simon Josefsson  <jas@extundo.com>
61641
61642         * m4/gc-arcfour.m4: New file.
61643
61644         * m4/gc-rijndael.m4: New file.
61645
61646 2005-10-19  Simon Josefsson  <jas@extundo.com>
61647
61648         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
61649
61650 2005-10-19  Simon Josefsson  <jas@extundo.com>
61651
61652         * lib/gc-gnulib.c: Support ARCFOUR.
61653
61654 2005-10-19  Simon Josefsson  <jas@extundo.com>
61655
61656         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
61657         support.
61658
61659         * lib/gc.h: Add ECB enum type.
61660
61661         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
61662
61663 2005-10-18  Simon Josefsson  <jas@extundo.com>
61664
61665         * tests/test-md5.c: New file.
61666
61667         * modules/md5-tests: New file.
61668
61669 2005-10-18  Simon Josefsson  <jas@extundo.com>
61670
61671         * tests/test-md4.c: New file.
61672
61673         * modules/md4, modules/md4-tests: New files.
61674
61675 2005-10-18  Simon Josefsson  <jas@extundo.com>
61676
61677         * m4/md4.m4: New file.
61678
61679 2005-10-18  Simon Josefsson  <jas@extundo.com>
61680
61681         * lib/md4.h, lib/md4.c: New files, based on md5.?.
61682
61683 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
61684
61685         * gnulib-tool (func_create_testdir): Omit the second check whether
61686         BUILT_SOURCES in nonempty.
61687
61688 2005-10-17  Simon Josefsson  <jas@extundo.com>
61689
61690         * tests/test-rijndael.c: New file.
61691
61692 2005-10-17  Simon Josefsson  <jas@extundo.com>
61693
61694         * modules/sha1: Depend on stdint instead of md5.
61695
61696         * modules/md5: Depend on stdint, remove uint32_t.
61697
61698 2005-10-17  Simon Josefsson  <jas@extundo.com>
61699
61700         * modules/gc-sha1-tests: New file.
61701
61702         * tests/test-gc-sha1.c: New file.
61703
61704 2005-10-17  Simon Josefsson  <jas@extundo.com>
61705
61706         * m4/md5.m4: Remove call to uint32_t.m4.
61707
61708 2005-10-17  Simon Josefsson  <jas@extundo.com>
61709
61710         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
61711
61712         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
61713         md5.h.
61714
61715         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
61716
61717         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
61718
61719 2005-10-17  Simon Josefsson  <jas@extundo.com>
61720
61721         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
61722
61723 2005-10-17  Simon Josefsson  <jas@extundo.com>
61724
61725         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
61726
61727 2005-10-17  Simon Josefsson  <jas@extundo.com>
61728
61729         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
61730
61731         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
61732
61733 2005-10-17  Bruno Haible  <bruno@clisp.org>
61734
61735         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
61736         that it can also be used in a test.
61737
61738 2005-10-16  Bruno Haible  <bruno@clisp.org>
61739
61740         * gnulib-tool (func_emit_tests_Makefile_am): Also define
61741         TESTS_ENVIRONMENT, so that individual tests can augment it.
61742
61743         * gnulib-tool (func_create_testdir): Use an intermediate target for
61744         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
61745         macros, like $(ALLOCA_H), which cannot be passed through the command
61746         line.
61747
61748 2005-10-15  Simon Josefsson  <jas@extundo.com>
61749
61750         * modules/rijndael-tests: New file.
61751
61752         * modules/rijndael: New file.
61753
61754 2005-10-15  Simon Josefsson  <jas@extundo.com>
61755
61756         * m4/rijndael.m4: New file.
61757
61758 2005-10-15  Simon Josefsson  <jas@extundo.com>
61759
61760         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
61761
61762         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
61763
61764 2005-10-14  Simon Josefsson  <jas@extundo.com>
61765
61766         * tests/test-arcfour.c: New file.
61767
61768         * modules/arcfour, modules/arcfour-tests: New files.
61769
61770 2005-10-14  Simon Josefsson  <jas@extundo.com>
61771
61772         * m4/arcfour.m4: New file.
61773
61774 2005-10-14  Simon Josefsson  <jas@extundo.com>
61775
61776         * lib/arcfour.h, lib/arcfour.c: New files.
61777
61778 2005-10-14  Roland McGrath  <roland@redhat.com>
61779
61780         Import from libc.  [BZ #1331]
61781         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
61782         macro argument.
61783         Reported by Matej Vela <vela@debian.org>.
61784
61785 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61786
61787         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
61788         include <wchar.h>; no longer needed.
61789
61790 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
61791
61792         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
61793
61794 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
61795         and  Ulrich Drepper  <drepper@redhat.com>
61796
61797         Import from libc.
61798         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
61799         instead of inline stream orientation test and two separate
61800         function calls.  Pay no attention to USE_IN_LIBIO.
61801
61802 2005-10-13  Simon Josefsson  <jas@extundo.com>
61803
61804         * modules/gc-hmac-md5-tests: New file.
61805
61806         * tests/test-gc-hmac-sha1.c: New file.
61807
61808         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
61809
61810         * modules/gc-hmac-md5-tests: New file.
61811
61812         * tests/test-gc-md5.c: New file.
61813
61814         * modules/gc-md5-tests: New file.
61815
61816 2005-10-13  Simon Josefsson  <jas@extundo.com>
61817
61818         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
61819         Move memory allocation outside of loop.
61820
61821 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
61822
61823         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
61824         intermediate directory is in a read-only file system.  Problem
61825         reported by Eric Blake.
61826
61827 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
61828
61829         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
61830
61831 2005-10-12  Simon Josefsson  <jas@extundo.com>
61832
61833         * tests/test-hmac-sha1.c: New file.
61834
61835         * modules/hmac-sha1-tests: New file.
61836
61837         * modules/hmac-sha1: New file.
61838
61839 2005-10-12  Simon Josefsson  <jas@extundo.com>
61840
61841         * modules/gc-sha1: New file.
61842
61843 2005-10-12  Simon Josefsson  <jas@extundo.com>
61844
61845         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
61846
61847         * tests/test-gc-pbkdf2-sha1.c: New file.
61848
61849 2005-10-12  Simon Josefsson  <jas@extundo.com>
61850
61851         * modules/gc-md5, modules/gc-hmac-md5: New files.
61852
61853         * modules/gc (Files): Remove md5, memxor and hmac files.
61854
61855 2005-10-12  Simon Josefsson  <jas@extundo.com>
61856
61857         * m4/gc-pbkdf2-sha1.m4: New file.
61858
61859         * m4/gc-hmac-sha1.m4: New file.
61860
61861         * m4/gc-sha1: New file.
61862
61863         * m4/hmac-sha1.m4: New file.
61864
61865 2005-10-12  Simon Josefsson  <jas@extundo.com>
61866
61867         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
61868
61869         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
61870
61871 2005-10-12  Simon Josefsson  <jas@extundo.com>
61872
61873         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
61874         suggested by Bruno Haible <bruno@clisp.org>.
61875
61876 2005-10-12  Simon Josefsson  <jas@extundo.com>
61877
61878         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
61879
61880 2005-10-12  Simon Josefsson  <jas@extundo.com>
61881
61882         * lib/gc-pbkdf2-sha1.c: New file.
61883
61884         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
61885
61886 2005-10-12  Simon Josefsson  <jas@extundo.com>
61887
61888         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
61889
61890         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
61891
61892 2005-10-12  Simon Josefsson  <jas@extundo.com>
61893
61894         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
61895         GC_USE_HMAC_MD5, respectively.
61896
61897         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
61898         (gc_md5): Fix typo.
61899
61900         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
61901
61902         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
61903
61904         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
61905
61906 2005-10-12  Bruno Haible  <bruno@clisp.org>
61907
61908         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
61909         Reported by Stepan Kasal <kasal@ucw.cz>.
61910
61911 2005-10-11  Simon Josefsson  <jas@extundo.com>
61912
61913         * tests/test-crc.c: New file.
61914
61915         * modules/crc, modules/crc-tests: New files.
61916
61917 2005-10-11  Simon Josefsson  <jas@extundo.com>
61918
61919         * m4/crc.m4: New file.
61920
61921 2005-10-11  Simon Josefsson  <jas@extundo.com>
61922
61923         * lib/gc.h: Add gc_hash and gc_hash_buffer.
61924
61925         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
61926
61927         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
61928
61929 2005-10-11  Simon Josefsson  <jas@extundo.com>
61930
61931         * lib/crc.h, lib/crc.c: New files.
61932
61933         * lib/gc.h (gc_hash_buffer): Add doc.
61934
61935 2005-10-11  Bruno Haible  <bruno@clisp.org>
61936
61937         * modules/c-strcasestr: New file.
61938         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
61939
61940 2005-10-11  Bruno Haible  <bruno@clisp.org>
61941
61942         * modules/c-strcase: New file.
61943         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
61944
61945 2005-10-11  Bruno Haible  <bruno@clisp.org>
61946
61947         * lib/strcasecmp.c: Include limits.h.
61948         (strcasecmp): Avoid integer overflow on exotic platforms.
61949         * lib/strncasecmp.c: Include limits.h.
61950         (strncasecmp): Avoid integer overflow on exotic platforms.
61951         Reported by Paul Eggert.
61952
61953 2005-10-11  Bruno Haible  <bruno@clisp.org>
61954
61955         * lib/c-strcasestr.h: New file, from GNU gettext.
61956         * lib/c-strcasestr.c: New file, from GNU gettext.
61957
61958 2005-10-11  Bruno Haible  <bruno@clisp.org>
61959
61960         * lib/c-strcase.h: New file, from GNU gettext.
61961         * lib/c-strcasecmp.c: New file, from GNU gettext.
61962         * lib/c-strncasecmp.c: New file, from GNU gettext.
61963
61964 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61965
61966         * modules/mempcpy (License): GPL -> LGPL.
61967         * modules/strchrnul (License): Likewise.
61968         * modules/sysexits (License): Likewise.
61969
61970 2005-10-08  Simon Josefsson  <jas@extundo.com>
61971
61972         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
61973
61974 2005-10-07  Simon Josefsson  <jas@extundo.com>
61975
61976         * m4/memxor.m4: Remove gl_C_RESTRICT call.
61977
61978 2005-10-06  Simon Josefsson  <jas@extundo.com>
61979
61980         * tests/test-hmac-md5.c: New file.
61981
61982         * modules/hmac-md5-tests: New file.
61983
61984         * modules/hmac-md5: New file.
61985
61986 2005-10-06  Simon Josefsson  <jas@extundo.com>
61987
61988         * m4/hmac-md5.m4: New file.
61989
61990         * m4/memxor.m4: Require gl_C_RESTRICT.
61991
61992 2005-10-06  Simon Josefsson  <jas@extundo.com>
61993
61994         * lib/memxor.c (memxor): Avoid casts and warnings.
61995
61996 2005-10-06  Simon Josefsson  <jas@extundo.com>
61997
61998         * lib/hmac-md5.c: New file.
61999
62000         * lib/hmac.h: New file.
62001
62002 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62003
62004         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
62005         promotes to int, not unsigned int, to catch the AIX 5.3
62006         compiler bug.
62007
62008 2005-10-05  Simon Josefsson  <jas@extundo.com>
62009
62010         * modules/memxor: New file.
62011
62012         * modules/iconv (Files): Move config.rpath to havelib, it is used
62013         there.
62014
62015         * modules/havelib (Files): Add config.rpath.
62016
62017 2005-10-05  Simon Josefsson  <jas@extundo.com>
62018
62019         * m4/memxor.m4: New file.
62020
62021 2005-10-05  Simon Josefsson  <jas@extundo.com>
62022
62023         * lib/memxor.c (memxor): Fix compiler error.
62024
62025         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
62026         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
62027
62028         * lib/memxor.h, lib/memxor.c: New files.
62029
62030         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
62031         we assume all systems have it, suggested by Jim Meyering
62032         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
62033         any systems lack sys/socket.h; mingw32 is known to lack it, but we
62034         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
62035         same reasons.
62036
62037 2005-10-05  Simon Josefsson  <jas@extundo.com>
62038
62039         * config/srclist.txt: Add glibc bug 1423 for md5.h.
62040
62041 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
62044         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
62045         needed, since the source code now assumes these .h files.
62046
62047 2005-10-05  Derek Price  <derek@ximbiot.com>
62048
62049         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
62050
62051 2005-10-05  Bruno Haible  <bruno@clisp.org>
62052
62053         * modules/stdint (License): Change to LGPL.
62054
62055 2005-10-04  Simon Josefsson  <jas@extundo.com>
62056
62057         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
62058         D. Baushke" <mdb@gnu.org>.
62059
62060 2005-10-04  Bruno Haible  <bruno@clisp.org>
62061
62062         * lib/verify.h (verify_true): Provide alternative definition for C++.
62063
62064 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
62065
62066         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
62067         (SSIZE_MAX): New macro, if not already defined.
62068         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
62069         than 2 GiB.
62070
62071 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62072
62073         Sync from coreutils.
62074         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
62075         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
62076         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
62077         ULLONG_MAX doesn't work with 2.7.2.1.
62078
62079 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62080
62081         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
62082         From Ben Pfaff.
62083
62084         * modules/exclude (Depends-on): Depend on verify.
62085         * modules/strtoimax (Depends-on): Likewise.
62086         * modules/utimecmp (Depends-on): Likewise.
62087
62088 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
62089
62090         * lib/exclude.c: Include verify.h.
62091         (verify): Remove.  All callers changed to use verify.h's version.
62092         * lib/strtoimax.c: Likewise.
62093         * lib/utimecmp.c: Likewis.e
62094
62095         Sync from coreutils.
62096         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
62097         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
62098         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
62099         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
62100         bother returning ENOSYS if settimeofday or stime fails; just let
62101         them return whatever errno they want to return.
62102         * lib/utimens.c: Include unistd.h, for dup2.
62103         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
62104         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
62105
62106 2005-10-02  Jim Meyering  <jim@meyering.net>
62107
62108         Sync from coreutils.
62109         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
62110         from glibc-2.2.5 that fails for read-only files.
62111
62112 2005-10-02  Jim Meyering  <jim@meyering.net>
62113
62114         Sync from coreutils.
62115         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
62116         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
62117         `#if HAVE_CONFIG_H'.
62118         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
62119         Remove AT_FDCWD test.
62120         Do not consume the fd unless successful.
62121         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
62122         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
62123         block, so that we don't even try to compile it if settimeofday is
62124         available.  This works around a compilation failure on OSF1 V5.1,
62125         due to stime requiring a `long int*' while tv_sec is `int'.
62126
62127 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
62128
62129         Sync from coreutils.
62130         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
62131         against `yes', rather than just testing for nonempty.
62132
62133 2005-10-01  Simon Josefsson  <jas@extundo.com>
62134
62135         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
62136         and Darwin.
62137
62138         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
62139         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
62140         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
62141         freeaddrinfo and gai_strerror are declared by the POSIX headers.
62142         Check if struct addrinfo is declared.
62143
62144 2005-10-01  Simon Josefsson  <jas@extundo.com>
62145
62146         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
62147         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
62148         AI_* and EAI_* definitions.  Protect function declarations.
62149
62150 2005-10-01  Jim Meyering  <jim@meyering.net>
62151
62152         Sync from coreutils.
62153
62154         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
62155         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
62156         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
62157         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62158         in the inet and nsl libraries.  Required on Solaris 5.7.
62159
62160 2005-10-01  Jim Meyering  <jim@meyering.net>
62161
62162         Sync from coreutils.
62163         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
62164         in the inet and nsl libraries.  Required on Solaris 5.7.
62165
62166 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
62167
62168         * lib/getdelim.c (getdelim): Remove unused variables.
62169
62170 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
62171
62172         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
62173         so that the code works even with ancient cpp.  Portability problem
62174         with GCC 2.7.2.1 reported by Thomas M.Ott.
62175
62176 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * modules/regex (Depends-on): Add strcase.
62179
62180         * modules/gethostname (Licence): Change from GPL to LGPL, since
62181         gethostname.c is a trivial implementation of a standard library
62182         function.
62183         * modules/poll (License): Change from GPL to LGPL, since it's
62184         derived from LGPL code.
62185
62186 2005-09-27  Jim Meyering  <jim@meyering.net>
62187
62188         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
62189         HAVE_CONFIG_H.
62190
62191         * lib/intprops.h (signed_type_or_expr__): Define.
62192         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
62193         for unsigned types.
62194
62195 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
62196
62197         * lib/verify.h (verify_expr): Remove, replacing with:
62198         (verify_true): New macro that returns true instead of void.
62199         (verify_type__): Remove.
62200         (verify): Use verify_true rather than verify_type__.
62201
62202 2005-09-26  Bruno Haible  <bruno@clisp.org>
62203
62204         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
62205         is necessary.
62206         (lib_SOURCES): Remove mbchar.c.
62207         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
62208         (Files): Add m4/mbrtowc.m4.
62209         * modules/mbiter: Likewise.
62210         * modules/mbuiter: Likewise.
62211
62212 2005-09-26  Bruno Haible  <bruno@clisp.org>
62213
62214         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
62215         compile mbchar.c if they are not both present.
62216         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
62217         * m4/mbiter.m4 (gl_MBITER): Likewise.
62218         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
62219         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
62220         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
62221
62222 2005-09-25  Jim Meyering  <jim@meyering.net>
62223
62224         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
62225         also uses socklen_t.
62226
62227 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
62228
62229         * lib/utimens.c (ENOSYS): Define if not already defined.
62230         (futimens): Support having a null PATH if the file descriptor
62231         is nonnegative.
62232
62233         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
62234         Remove.
62235         (__attribute): Define to empty unless GCC 3.1 or later.
62236         This works around a core dump on OpenBSD 3.4, which has GCC
62237         2.95.3, which dumps core when given __attribute__(()).  It also
62238         simplifies other tests, since we really don't want to bother with
62239         worrying about which ancient version of GCC supported what.
62240         Original problem reported by Yoann Vandoorselaere, with part of
62241         the fix suggested by Derek Price.
62242
62243 2005-09-24  Jim Meyering  <jim@meyering.net>
62244
62245         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
62246         so we can once again use a positive bitfield width of 1 -- now we
62247         don't have to explain why we were using a bitfield width of 2.
62248
62249 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62250
62251         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
62252         and similarly for the other external symbols.  Problem reported
62253         by James Gallager.
62254
62255         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
62256         bug reported by Jim Meyering.
62257
62258         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
62259         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
62260         not needed, since socklen is a prerequisite module.
62261
62262 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
62263
62264         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
62265         Problem reported by Eric Blake.
62266         (getaddrinfo): Initialize se so that it's not garbage.
62267         Redo internal storage allocation so that it doesn't make unportable
62268         assumptions about alignment.
62269         Fix a memory leak.
62270
62271         * lib/utimens.c (futimens): Use futimesat if available.
62272         Prefer it to futimes since it doesn't have the futimes bug.
62273
62274         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
62275         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
62276         Instead, declare a function that returns a pointer to an array,
62277         and use verify_type__ to declare the size of the array.
62278         Problem and germ of a solution reported by Bruno Haible.
62279         (verify_type__): Use 2, not 1, for bitfield size, to avoid
62280         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
62281
62282 2005-09-23  Jim Meyering  <jim@meyering.net>
62283
62284         Sync from coreutils.
62285         Correct build failure (socklen_t not defined) on at least
62286         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
62287         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
62288
62289 2005-09-23  Jim Meyering  <jim@meyering.net>
62290
62291         * modules/getaddrinfo (Depends-on): Add socklen.
62292
62293 2005-09-23  Bruno Haible  <bruno@clisp.org>
62294
62295         * tests/test-verify.c: New file.
62296
62297 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62298
62299         Sync from coreutils.
62300
62301         * modules/argmatch (Depends-on): Add verify.
62302         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
62303         unistd-safer.
62304         * modules/save-cwd (Depends-on): Likewise.
62305
62306         * modules/openat (Files): Add lib/openat-die.c.
62307         (Depends-on): Remove error, exitfail.
62308         Add dirname.
62309
62310         * modules/verify: New file.
62311         * MODULES.html.sh (Diagnostics <assert.h>): New section,
62312         with "verify" module.
62313
62314 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62315
62316         Sync from coreutils.
62317
62318         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
62319         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
62320         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
62321         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
62322         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
62323         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
62324         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
62325         Don't bother checking for string.h, stdlib.h, unistd.h.
62326         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
62327         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
62328         module's job.
62329         * m4/jm-macros.m4 (gl_MACROS): Likewise.
62330         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
62331
62332         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
62333         (gl_GETDATE): Use it.
62334
62335         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
62336
62337 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62338
62339         Sync from coreutils.
62340
62341         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
62342         stat-time.h.
62343         * lib/argmatch.h: Include verify.h
62344         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
62345         (ARGMATCH_ASSERT): Remove; unused.
62346         * lib/canonicalize.c: Assume STDC_HEADERS.
62347         * lib/exclude.c: Include "strcase.h".
62348         * lib/regex_internal.h [!defined _LIBC]: Likewise.
62349         * lib/getusershell.c: Include stdio--.h rather than stdio.h
62350         and stdio-safer.h.
62351         (getusershell): Call fopen, not fopen_safer.
62352         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
62353         Do not include unistd-safer.h.
62354         (save_cwd): Don't call fd_safer; no longer needed
62355         now that we include fcntl--.h.
62356
62357         * lib/getdate.y (relative_time): New type.
62358         (RELATIVE_TIME_0): New constant.
62359         (parser_control): Use relative_time instead of doing it ourselves.
62360         (%union): Add new relative_time rel member.
62361         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
62362         Now typeless.
62363         (relunit, relunit_snumber): Now of type rel.
62364         (zone, rel, relunit, get_date): Adjust to above changes.
62365
62366         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
62367         Do not include unistd-safer.h.
62368         (getloadavg): Don't call fd_safer; no longer needed
62369         now that we include fcntl--.h.
62370
62371         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
62372         (make_dir_parents): Treat ENOSYS like EEXIST.
62373
62374         Improve quality of diagnostics on restore_cwd failure.
62375         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
62376         (make_dir_parents): Last arg is now int * (for errno), not bool *.
62377         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
62378         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
62379         each time through the loop.  Do not diagnose restore_cwd failure;
62380         that is the caller's job (and perhaps the caller does not care).
62381
62382         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
62383         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
62384         If the file already exists but is not a directory, don't bother
62385         to try to make its parents.
62386         Close potential file descriptor leak if we can't chdir("/") (!).
62387         Don't always return true if chdir($PWD) fails; return true only
62388         if the requested action was done successfully (except for the
62389         chdir($PWD)).
62390         Don't log final directory unless we actually made it.
62391         Refactor to avoid duplicate code to fix up permissions.
62392         Don't attempt to fix up parent permissions if chdir($PWD) fails.
62393
62394         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
62395         to make it a bit faster and (I hope) clearer.
62396         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
62397         Fix bug in formats like %2N.
62398
62399         * lib/verify.h: New file.
62400
62401 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
62402
62403         Sync from coreutils.
62404         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
62405
62406 2005-09-22  Jim Meyering  <jim@meyering.net>
62407
62408         Sync from coreutils.
62409
62410         * m4/lstat.m4 (gl_FUNC_LSTAT):
62411         Use AC_LIBSOURCES to require lstat.c and lstat.h.
62412         Remove obsolete comment.
62413         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
62414         * m4/xstrtod.m4: Likewise.
62415
62416         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
62417
62418 2005-09-22  Jim Meyering  <jim@meyering.net>
62419
62420         Sync from coreutils.
62421
62422         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
62423
62424         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
62425         the .tm_year member, since otherwise gcc-4.0 would now warn about
62426         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
62427
62428         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
62429         order to avoid an unsuppressible warning from gcc on 64-bit systems.
62430
62431         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
62432         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
62433         when run in a time zone for which daylight savings time is in effect
62434         for the starting date.
62435
62436         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
62437         stop us from restricting permissions of just-created absolute-named
62438         directories.
62439         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
62440         to restore initial working directory.
62441         * lib/mkdir-p.c (make_dir_parents): New parameter:
62442         different_working_dir, to tell caller if/when we change the working
62443         directory and are unable to return to the initial one.
62444         * lib/mkdir-p.h (make_dir_parents): Update prototype.
62445         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
62446         `return false'.  This fixes a bug introduced on 2004-07-30.
62447
62448         * lib/openat.c (fdopendir): Be sure to close the supplied
62449         file descriptor before returning.  This makes our replacement
62450         implementation a little closer to Solaris's, where fdopendir
62451         ties the file descriptor to the returned DIR* pointer.
62452         * lib/openat.c (unlinkat): New function.
62453         * lib/openat.h (unlinkat): Add prototype.
62454         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
62455         (openat_restore_fail): Rename from openat_restore_die.
62456         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
62457
62458         Provide an alternative to exiting immediately upon save_cwd or
62459         restore_cwd failure.  Now, an application can arrange e.g.,
62460         to perform a longjump in that case.
62461         * lib/openat.c: Include dirname.h.
62462         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
62463         (rpl_openat, fdopendir, fstatat): Call openat_save_die
62464         and openat_restore_die rather than calling error directly.
62465         Don't include "error.h" or "exitfail.h"; they're no longer needed.
62466
62467         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
62468         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
62469         define.
62470
62471         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
62472         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
62473                             int utc, int nanoseconds);
62474         Background:
62475         date should not have to allocate a megabyte of virtual memory to
62476         handle a format argument like +%1048575T.  When implemented with
62477         strftime, it must allocate such a buffer, use strftime to fill it
62478         in, print it, then free it.
62479         With fprintftime, it simply prints everything and exits.
62480         With no need for memory allocation, that's one fewer way to fail.
62481         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
62482         optional field width, not before, so we accept %9:z, not %:9z.
62483         (my_strftime): Be sure to use L_('x') for literals.
62484
62485         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
62486         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
62487         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
62488         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
62489         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
62490         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
62491         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
62492         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
62493         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
62494         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
62495         * lib/xgethostname.c, lib/xreadlink.c:
62496         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
62497
62498         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
62499         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
62500         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
62501         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62502         and don't include <sys/file.h>).
62503
62504 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
62505
62506         Sync from coreutils.
62507
62508         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
62509         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
62510         [!LDAV_DONE]: Avoid unused variable warning.
62511
62512 2005-09-21  Bruno Haible  <bruno@clisp.org>
62513
62514         * lib/unicodeio.h (unicode_to_mb): New declaration.
62515
62516 2005-09-20  Derek Price  <derek@ximbiot.com>
62517
62518         * lib/getaddrinfo.c: Don't include <netdb.h> included from
62519         getaddrinfo.h.
62520
62521 2005-09-20  Bruno Haible  <bruno@clisp.org>
62522
62523         * gnulib-tool: Remove trailing slashes from the values specified for
62524         --source-base, --m4-base, --tests-base, --aux-dir.
62525         Suggested by Simon Josefsson <jas@extundo.com>.
62526
62527 2005-09-20  Bruno Haible  <bruno@clisp.org>
62528
62529         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
62530         func_modules_to_filelist, func_import, func_create_testdir): Make all
62531         sorting results locale-independent, so that gnulib-cache.m4 doesn't
62532         change when gnulib-tool is invoked in a different locale.
62533
62534 2005-09-19  Simon Josefsson  <jas@extundo.com>
62535
62536         * m4/socklen.m4: Fix typo.
62537
62538 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62539
62540         Use a consistent style for including <config.h>.
62541         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
62542         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
62543         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
62544         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
62545         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
62546         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
62547         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
62548         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
62549         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
62550         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
62551         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
62552         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
62553         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
62554         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
62555         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
62556         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
62557         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
62558         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
62559         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
62560         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
62561         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
62562         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
62563         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
62564         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
62565         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
62566         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
62567         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
62568         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
62569         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
62570         lib/xstrtoumax.c, lib/yesno.c:
62571         Standardize inclusion of config.h.
62572         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
62573         lib/inttostr.h:  Removed inclusion of config.h from header files.
62574         * lib/inttostr.c:  Adjusted in-tree users.
62575         * lib/timespec.h: Remove superfluous warning to include config.h.
62576         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
62577         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
62578         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
62579         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
62580         config.h with HAVE_CONFIG_H.
62581
62582 2005-09-19  Jim Meyering  <jim@meyering.net>
62583
62584         * modules/pathmax (License): Change to LGPL.
62585
62586 2005-09-19  Derek Price  <derek@ximbiot.com>
62587
62588         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
62589
62590 2005-09-19  Bruno Haible  <bruno@clisp.org>
62591
62592         * gnulib-tool (import): Provide default for --tests-base.
62593
62594 2005-09-19  Bruno Haible  <bruno@clisp.org>
62595
62596         * doc/quote.texi: New file, extracted from gnulib.texi.
62597         * doc/ctime.texi: New file, extracted from gnulib.texi.
62598         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
62599         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
62600         * doc/gnulib.texi: Include them.
62601
62602 2005-09-18  Bruno Haible  <bruno@clisp.org>
62603
62604         Portability fix.
62605         * gnulib-tool (func_readlink): New function.
62606         (func_ln_if_changed): Use it.
62607
62608 2005-09-18  Bruno Haible  <bruno@clisp.org>
62609
62610         * gnulib-tool: Support --with-tests also with --import.
62611         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
62612         (func_import): Use variables $testsbase and $inctests. Emit a
62613         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
62614         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
62615         SUBDIRS += $testsdir.
62616         (func_create_testdir): Update.
62617
62618 2005-09-18  Bruno Haible  <bruno@clisp.org>
62619
62620         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
62621         instead of $dry_run.
62622         (func_cp_if_changed, func_mv_if_changed): Remove functions.
62623         (func_ln_if_changed): Don't handle dry-run here.
62624         (func_import): In dry-run mode, detect more precisely which actions
62625         would be performed, and don't use "...ing" verbs.
62626
62627 2005-09-18  Bruno Haible  <bruno@clisp.org>
62628
62629         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
62630         (func_import): Use join on two temporary files instead of three nested
62631         loops, in order to determine which files are new or old.
62632
62633 2005-09-18  Bruno Haible  <bruno@clisp.org>
62634
62635         * gnulib-tool (func_import): Comment out code that spits out the
62636         new files with --dry-run.
62637
62638 2005-09-18  Bruno Haible  <bruno@clisp.org>
62639
62640         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
62641
62642 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62643
62644         * lib/stat-time.h: New file.
62645         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
62646         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
62647         in a different way.
62648         (timespec_cmp): New function.
62649         * lib/utimecmp.c: Include stat-time.h.
62650         (SYSCALL_RESOLUTION): Depend on whether various struct stat
62651         members exist, not on the obsolescent ST_MTIM_NSEC.
62652         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
62653
62654 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62655
62656         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
62657
62658 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
62659
62660         * MODULES.html.sh (File system functions): Add stat-time.
62661         * modules/stat-time: New file.
62662         * modules/timespec (Files): Remove m4/st_mtim.m4; this
62663         is now done in a different way, by the stat-time module.
62664         * modules/utimecmp (Depends-on): Add stat-time.
62665
62666 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
62667
62668         * m4/st_mtim.m4: Remove.  Superseded by...
62669         * m4/stat-time.m4: New file.
62670         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
62671         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
62672
62673 2005-09-15  Derek Price  <derek@ximbiot.com>
62674
62675         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
62676
62677 2005-09-15  Derek Price  <derek@ximbiot.com>
62678
62679         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
62680         * lib/regex_internal.c: Ditto, using this...
62681         (__GNUC_PREREQ): ...new macro.
62682         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
62683         using...
62684         (__GNUC_PREREQ): ...this new macro.
62685
62686         * lib/strstr.h: Include string.h. Define strstr as a macro here.
62687
62688 2005-09-15  Derek Price  <derek@ximbiot.com>
62689             Paul Eggert  <eggert@cs.ucla.edu>
62690
62691         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
62692         changes, consolidating in...
62693         * lib/regex_internal.h: ...this file.
62694
62695 2005-09-13  Jim Meyering  <jim@meyering.net>
62696
62697         * lib/canon-host.c: Filter through gnu indent and reword comments
62698         slightly.
62699         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
62700
62701 2005-09-13  Derek Price  <derek@ximbiot.com>
62702
62703         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
62704         failure.
62705         Reported by Jim Meyering  <jim@meyering.net>.
62706
62707 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62708
62709         * lib/base64.c: Typo.
62710         (base64_encode): Put b64str in initialized data section.
62711
62712 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
62713
62714         Merge glibc and coreutils changes into gnulib, plus a few
62715         extra fixes.
62716         * lib/md5.c: Use #error rather than a string.
62717         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
62718         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
62719         (__attribute__): Define to empty for non recent-GCC.
62720         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
62721         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
62722         Renamed from their non-__ counterparts, with new macros replacing
62723         them if not _LIBC.  Add __THROW attribute.
62724         (rol): Remove.
62725         (struct md5_ctx): Align buffer if using GCC.
62726         * lib/sha1.h (struct sha1_ctx): Likewise.
62727         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
62728         The old name was backwards.
62729         (NOTSWAP): Remove; not used.
62730         (rol): New macro, moved here from md5.h.
62731         (sha1_process_block): Remove a FIXME that doesn't make sense.
62732
62733 2005-09-12  Derek Price  <derek@ximbiot.com>
62734
62735         Return usable errors from canon-host.
62736         * lib/canon-host.h: New file.
62737         * lib/canon-host.c (canon_host): Wrap...
62738         (canon_host_r): ...this new function, which now relies exclusively on
62739         getaddrinfo.
62740         (ch_strerror): New function.
62741         (last_cherror): New global.
62742         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
62743         interface.
62744         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
62745         void *.
62746         (freeaddrinfo): Free ai->ai_canonname when set.
62747
62748 2005-09-12  Derek Price  <derek@ximbiot.com>
62749
62750         Make canon-host require getaddrinfo.
62751         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
62752         AC_LIBSOURCE canon-host.h.  Call...
62753         (gl_PREREQ_CANON_HOST): ...this new function, which requires
62754         gl_GETADDRINFO.
62755         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
62756
62757 2005-09-12  Derek Price  <derek@ximbiot.com>
62758
62759         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
62760         LGPL.
62761         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
62762
62763 2005-09-12  Derek Price  <derek@ximbiot.com>
62764
62765         * lib/gai_strerror.c: Include config.h when available.  Include
62766         getaddrinfo.h before other headers to test interface.
62767         Reported by Larry Jones <lawrence.jones@ugs.com>.
62768
62769 2005-09-12  Derek Price  <derek@ximbiot.com>
62770             Paul Eggert  <eggert@cs.ucla.edu>
62771
62772         * modules/glob (Files): Add glob-libc.h.
62773
62774 2005-09-12  Derek Price  <derek@ximbiot.com>
62775             Paul Eggert  <eggert@cs.ucla.edu>
62776
62777         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
62778         glob_.h, glob-libc.h.
62779         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
62780
62781 2005-09-12  Derek Price  <derek@ximbiot.com>
62782             Paul Eggert  <eggert@cs.ucla.edu>
62783
62784         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
62785         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
62786         protecting things that should be done only in gnulib contexts.
62787         * lib/glob_.h: New file, containing only the glob things needed for
62788         gnulib.
62789         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
62790         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
62791         (glob, globfree, glob_pattern_p): Now defined simply in terms of
62792         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
62793         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
62794         and to respect the namespace rules better.
62795
62796 2005-09-08  Simon Josefsson  <jas@extundo.com>
62797
62798         * modules/socklen: New file.
62799
62800 2005-09-08  Simon Josefsson  <jas@extundo.com>
62801
62802         * m4/socklen.m4: New file.
62803
62804 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62805
62806         * modules/utimens (Files): Add m4/utimbuf.m4, since
62807         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
62808         Reported by Sergey Poznyakoff.
62809
62810 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62811
62812         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
62813         definitions, since that's the preferred style in glibc.
62814         Fix a minor spacing issue, and update copyright notice to match
62815         glibc's.
62816
62817 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62818
62819         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
62820
62821 2005-09-06  Simon Josefsson  <jas@extundo.com>
62822
62823         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
62824         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
62825
62826 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62827
62828         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
62829         warning.
62830
62831 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62832
62833         * config/srclist.txt: Add glibc bug 1302.
62834
62835 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
62836
62837         Change bitset word type from unsigned int to unsigned long int,
62838         as this has better performance on typical 64-bit hosts.
62839         Port bitset code to hosts with unusual word sizes.
62840         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
62841         (build_collating_symbol):
62842         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
62843         argument is a bitset.  This is merely a style issue, but it makes
62844         it clearer that an entire array is expected.
62845         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
62846         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
62847         Port to the case where bitset_word is not the same as unsigned int.
62848         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
62849         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
62850         Likewise.
62851         * lib/regexec.c (check_dst_limits_calc_pos_1,
62852         check_subexp_matching_top):
62853         (build_trtable, group_nodes_into_DFAstates):
62854         Likewise.
62855         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
62856         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
62857         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
62858         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
62859         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
62860         * lib/regcomp.c (optimize_subexps, lower_subexp):
62861         Work even if bitset_word has holes in its bitwise representation.
62862         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
62863         * lib/regexec.c (check_dst_limits_calc_pos_1,
62864         check_subexp_matching_top):
62865         Likewise.
62866         * lib/regex_internal.c (re_string_reconstruct):
62867         Don't assume UCHAR_MAX == 255.
62868         * lib/regex_internal.h (bitset_set_all): Likewise.
62869         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
62870         All uses changed.
62871         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
62872         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
62873         All uses changed.
62874         (BITSET_WORD_MAX): New macro.
62875         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
62876         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
62877         (bitset_empty, bitset_copy):
62878         Prefer sizeof (bitset) to multiplying it out ourselves.
62879         (bitset_not_merge): Remove; unused.
62880         (bitset_contain): Return bool, not unsigned int with one bit on.
62881         All callers changed.
62882         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
62883         alignment than re_node_set; do this by defining a new internal
62884         type struct dests_alloc and using it to allocate memory.
62885
62886 2005-09-05  Bruno Haible  <bruno@clisp.org>
62887
62888         * gnulib-tool (func_import): Fix comparison in handling of symbolic
62889         links.
62890
62891 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
62892
62893         * modules/size_max (Makefile.am): Add size_max.h
62894
62895 2005-09-04  Derek Price  <derek@ximbiot.com>
62896
62897         * gnulib-tool (func_import): Fix reversed $symbolic logic.
62898
62899 2005-09-03  Simon Josefsson  <jas@extundo.com>
62900
62901         * gnulib-tool: Fix typo.
62902
62903 2005-09-03  Simon Josefsson  <jas@extundo.com>
62904
62905         * config/srclist.txt: Add glibc bug 1293.
62906
62907 2005-09-03  Derek Price  <derek@ximbiot.com>
62908
62909         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
62910         From Larry Jones <lawrence.jones@ugs.com>.
62911
62912 2005-09-02  Simon Josefsson  <jas@extundo.com>
62913
62914         * modules/socklen: New file.
62915
62916 2005-09-02  Simon Josefsson  <jas@extundo.com>
62917
62918         * modules/havelib: New module.
62919
62920         * modules/gettext, modules/iconv, modules/lock, modules/readline:
62921         Use havelib.
62922
62923 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62924
62925         Check for arithmetic overflow when calculating sizes, to prevent
62926         some buffer-overflow issues.  These patches are conservative, in the
62927         sense that when I couldn't determine whether an overflow was possible,
62928         I inserted a run-time check.
62929         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
62930         macros.
62931         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
62932         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
62933         (re_xnrealloc, re_x2nrealloc): New inline functions.
62934         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
62935         parse_bracket_exp):
62936         (build_equiv_class, build_charclass): Check for arithmetic overflow
62937         in size expression calculations.
62938         * lib/regex_internal.c (re_string_realloc_buffers):
62939         (build_wcs_upper_buffer, re_node_set_add_intersect):
62940         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
62941         (re_dfa_add_node, register_state): Likewise.
62942         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
62943         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
62944         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
62945         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
62946
62947 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
62948
62949         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
62950         m4/ulonglong.m4.  Problem reported by Martin Lambers.
62951
62952 2005-09-02  Bruno Haible  <bruno@clisp.org>
62953
62954         Support for lib vs. lib64 distinction on biarch platforms.
62955         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
62956         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
62957         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
62958
62959 2005-09-02  Bruno Haible  <bruno@clisp.org>
62960
62961         * gnulib-tool (import): In the other first-use case, provide defaults
62962         as well.
62963
62964 2005-09-02  Bruno Haible  <bruno@clisp.org>
62965
62966         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
62967         patches not yet found in the latest gettext release.
62968
62969 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62970
62971         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
62972         to avoid a collision with bits/local_lim.h in glibc.
62973         All uses changed.  Problem reported by Dmitry V. Levin in
62974         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
62975
62976         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
62977         bugs in int versus size_t comparisons.
62978         (re_string_context_at): Fix bug where the code assumed that
62979         Idx is signed.
62980
62981         Use bool where appropriate.
62982         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
62983         All callers changed.
62984         (calc_eclosure_iter): Likewise, for ROOT arg.
62985         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
62986         (build_charclass_op): Likewise, for NON_MATCH arg.
62987         * lib/regex_internal.c (re_string_allocate, re_string_construct):
62988         (re_string_construct_common): Likewise, for ICASE arg.
62989         * lib/regexec.c (re_search_2_stub, re_search_stub):
62990         Likewise, for RET_LEN arg.
62991         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
62992         (set_regs): Likewise, for FL_BACKTRACK arg.
62993         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
62994         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
62995         (calc_eclosure_iter, parse_bracket_exp):
62996         Use bool for internal variables that are booleans.
62997         * lib/regexec.c (re_search_internal, check_matching,
62998         proceed_next_node):
62999         (set_regs, build_sifted_states, sift_states_bkref):
63000         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
63001         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63002         (find_collation_sequence_value):
63003         Likewise.
63004         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
63005         (re_node_set_compare):
63006         Return bool, not int. All callers changed.
63007         * lib/regexec.c (check_halt_node_context, check_dst_limits):
63008         (build_trtable, check_node_accept): Likewise.
63009         * lib/regex_internal.h: Include stdbool.h.
63010
63011         Fix bugs uncovered when converting to bool.
63012         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
63013         failure instead of charging ahead blindly.
63014         * lib/regex_internal.c (register_state): Likewise.
63015         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
63016         for freeing internal storage.
63017         (group_nodes_into_DFA_states): Use unsigned int, not int, for
63018         bitset pieces used as boolean, to avoid undefined behavior
63019         on hosts that do int overflow checking.
63020
63021 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63022
63023         * config/srclist.txt: Add glibc bugs 1285-1287.
63024
63025 2005-09-01  Jim Meyering  <jim@meyering.net>
63026
63027         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
63028         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
63029         Require gl_STAT_MACROS, too.
63030
63031 2005-09-01  Bruno Haible  <bruno@clisp.org>
63032
63033         * gnulib-tool (import): In the first-use case, provide defaults.
63034
63035 2005-09-01  Bruno Haible  <bruno@clisp.org>
63036
63037         * gnulib-tool (func_import): Remove the .tmp files.
63038
63039 2005-09-01  Bruno Haible  <bruno@clisp.org>
63040
63041         * gnulib-tool (func_import): Fix handling of symbolic links.
63042
63043 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63044
63045         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
63046         old glibc regex code mishandles strings longer than 2**31 bytes.
63047         This patch fixes this when the regex code is used in gnulib
63048         (i.e., outside glibc).
63049
63050         This patch should not affect the use of the regex code inside
63051         glibc.  No doubt this problem also needs to be handled for glibc
63052         as well, but the result will be an incompatible change to the
63053         glibc ABI, and the old ABI will have to be supported too.  That
63054         can be the the subject for another patch.
63055
63056         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
63057         governing whether the rest of this patch is active.  By default,
63058         the macro is disabled and the patch has no effect.
63059         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
63060         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
63061         (struct re_pattern_buffer, re_search, re_search_2, re_match):
63062         (re_match_2, re_set_registers): Use the new types.
63063         * lib/regex_internal.h (Idx, re_hashval_t): New types.
63064         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
63065         New macros.
63066         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
63067         (re_string_context_at, bin_tree_t, re_dfastate_t):
63068         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
63069         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
63070         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
63071         (re_string_char_size_at, re_string_wchar_at):
63072         (re_string_elem_size_at):
63073         Use the new types and macros to port to 64-bit hosts.
63074         Use unsigned types for internal values, so that the code
63075         mostly works even for arrays larger than SSIZE_MAX.
63076         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
63077         (search_duplicated_node, calc_eclosure_iter, fetch_number):
63078         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
63079         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
63080         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
63081         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
63082         (calc_inveclosure, parse_dup_op, build_range_exp):
63083         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
63084         (fetch_number, create_token_tree, mark_opt_subexp):
63085         Likewise.
63086         * lib/regex_internal.c (re_string_construct_common,
63087         create_ci_newstate):
63088         (create_cd_newstate, re_string_allocate, re_string_construct):
63089         (re_string_realloc_buffers, build_wcs_upper_buffer):
63090         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63091         (re_string_reconstruct, re_string_peek_byte_case):
63092         (re_string_fetch_byte_case, re_string_context_at):
63093         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63094         (re_node_set_init_copy, re_node_set_add_intersect):
63095         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63096         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63097         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63098         (re_acquire_state, re_acquire_state_context, register_state):
63099         Likewise.
63100         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
63101         search_cur_bkref_entry):
63102         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
63103         (re_search_internal, re_search_2_stub, re_search_stub)
63104         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
63105         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
63106         (update_cur_sifted_state, check_dst_limits):
63107         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63108         (check_subexp_limits, sift_states_bkref, merge_state_array):
63109         (check_subexp_matching_top, get_subexp, get_subexp_sub):
63110         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
63111         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63112         (expand_bkref_cache, check_node_accept_bytes):
63113         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
63114         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
63115         (acquire_init_state_context, check_halt_node_context):
63116         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
63117         (sift_states_backward, clean_state_log_if_needed):
63118         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
63119         (find_recover_state, transit_state_sb, transit_state_mb):
63120         (transit_state_bkref, build_trtable, match_ctx_clean):
63121         Likewise.
63122         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
63123         to work around an assumption that REG_MISSING is negative.
63124
63125         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
63126         (seek_collating_symbol_entry) [defined _LIBC]:
63127         (lookup_collation_sequence_value) [defined _LIBC]:
63128         (build_range_exp, build_collating_symbol) [defined _LIBC]:
63129         Use prototypes rather than old-style function definitions.
63130         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
63131         (transit_state_sb) [0]:
63132         (find_collation_sequence_value) [defined _LIBC]: Likewise.
63133
63134         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
63135         rm_eo.
63136
63137         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
63138         (optimize_subexps, lower_subexp):
63139         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
63140         since the signed shift might overflow.  Use 1u<<31 instead.
63141         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
63142         Likewise.
63143         * lib/regexec.c (check_dst_limits_calc_pos_1,
63144         check_subexp_matching_top): Likewise.
63145
63146         * lib/regcomp.c (optimize_subexps, lower_subexp):
63147         Use CHAR_BIT rather than 8, for clarity.
63148         * lib/regexec.c (check_dst_limits_calc_pos_1):
63149         (check_subexp_matching_top): Likewise.
63150         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
63151         have to worry about portability issues when shifting it left.
63152         Remove no-longer-needed test for table_size > 0.
63153         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
63154         in a word, as the resulting behavior is undefined.
63155         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
63156         in one case, a <= should have been an <, and in another case the
63157         whole test was missing.
63158         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
63159         the standard name CHAR_BIT.
63160         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
63161         this is not true on one's complement and signed-magnitude hosts.
63162
63163         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
63164         next_last_offset.
63165         (struct re_dfa_t): Remove unused member states_alloc.
63166         * lib/regcomp.c (init_dfa): Don't initialize unused members.
63167
63168 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63169
63170         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
63171         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
63172         and large-file glibc and in 32-bit large-file Solaris.
63173
63174 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63175
63176         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
63177         lengths fit in regoff_t; this isn't true if regoff_t is the same
63178         width as size_t.
63179         * lib/regex.c (re_search_internal): 5th arg is LAST_START
63180         (= START + RANGE) instead of RANGE.  This avoids overflow
63181         problems when regoff_t is the same width as size_t.
63182         All callers changed.
63183         (re_search_2_stub): Check for overflow when adding the
63184         sizes of the two strings.
63185         (re_search_stub): Check for overflow when adding START
63186         to RANGE; if it occurs, substitute the extreme value.
63187
63188 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63189
63190         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
63191
63192 2005-08-31  Jim Meyering  <jim@meyering.net>
63193
63194         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
63195         a pointer-to-const.
63196         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
63197         (register_state): Likewise.
63198         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
63199         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
63200         (group_nodes_into_DFAstates): Likewise.
63201
63202 2005-08-31  Jim Meyering  <jim@meyering.net>
63203
63204         * check-module: Add a FIXME comment.
63205
63206 2005-08-31  Eric Blake  <ebb9@byu.net>
63207
63208         * modules/unistd-safer (Files): Add unistd--.h.
63209         * modules/stdio-safer (Files): Add stdio--.h.
63210
63211 2005-08-31  Derek Price  <derek@ximbiot.com>
63212
63213         * lib/getdelim.c (getdelim): Return EOF on EOF.
63214         Reported by Larry Jones <lawrence.jones@ugs.com>.
63215
63216 2005-08-31  Bruno Haible  <bruno@clisp.org>
63217
63218         Avoid unnecessary diffs in the generated lib/Makefile.am.
63219         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
63220         the generated files.
63221         (func_import): Don't set cmd.
63222
63223 2005-08-31  Bruno Haible  <bruno@clisp.org>
63224
63225         * lib/strstr.c: Include <stddef.h>, for NULL.
63226         * lib/strcasestr.c: Likewise.
63227         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63228
63229 2005-08-31  Bruno Haible  <bruno@clisp.org>
63230
63231         * gnulib-tool: New option --macro-prefix.
63232         (func_import): Use macro_prefix.
63233         (import): Handle option --macro-prefix.
63234
63235 2005-08-31  Bruno Haible  <bruno@clisp.org>
63236
63237         * gnulib-tool (import): Rename most ac_* variables to cached_*.
63238         Also use new variables cached_lgpl, cached_libtool.
63239
63240 2005-08-31  Bruno Haible  <bruno@clisp.org>
63241
63242         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
63243         always instantiating them.
63244
63245 2005-08-31  Bruno Haible  <bruno@clisp.org>
63246
63247         * gnulib-tool (func_import): Read the previous cached settings
63248         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
63249         earlier added by gnulib but are now dropped. Warn when a gnulib file
63250         overwrites a non-gnulib file.
63251
63252 2005-08-31  Bruno Haible  <bruno@clisp.org>
63253
63254         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
63255         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
63256         projects that don't keep autogenerated files in CVS. Put into
63257         actioncmd only the specified modules, not the transitive closure.
63258
63259 2005-08-31  Bruno Haible  <bruno@clisp.org>
63260
63261         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
63262         Create directories that shall be filled.
63263         (import): Don't look for gl_* macros in configure.ac. Recurse across
63264         all directories containing a gnulib-cache.m4 files, if meaningful.
63265
63266 2005-08-31  Bruno Haible  <bruno@clisp.org>
63267
63268         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
63269         (import): Set seen_libtool when we see gl_LIBTOOL.
63270
63271 2005-08-31  Bruno Haible  <bruno@clisp.org>
63272
63273         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
63274         declaration macro definitions from generated gnulib.m4.
63275
63276 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
63277
63278         * lib/iconvme.h: Add prototype for iconv_alloc.
63279
63280 2005-08-29  Simon Josefsson  <jas@extundo.com>
63281
63282         * lib/iconvme.c: Fix errno.
63283
63284 2005-08-29  Bruno Haible  <bruno@clisp.org>
63285
63286         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
63287         that it works when the directory contains spaces.
63288
63289 2005-08-29  Bruno Haible  <bruno@clisp.org>
63290
63291         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
63292
63293 2005-08-29  Bruno Haible  <bruno@clisp.org>
63294
63295         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
63296         Emit more advice.
63297
63298 2005-08-29  Bruno Haible  <bruno@clisp.org>
63299         and Stepan Kasal  <kasal@ucw.cz>
63300
63301         * check-module: If more parameters are given, check each of them
63302         separately; add more exceptions, as noted by Jim Meyering.
63303         (check_module): New procedure.
63304         (%exempt_header): Now contains all exceptions.
63305
63306 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
63307
63308         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
63309
63310 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63311
63312         * lib/iconvme.c: Split iconv_string into iconv_alloc.
63313
63314 2005-08-28  Bruno Haible  <bruno@clisp.org>
63315
63316         * m4/gnulib-tool.m4: New file.
63317
63318 2005-08-27  Jim Meyering  <jim@meyering.net>
63319
63320         * modules/unistd-safer (Files): Add pipe-safer.c.
63321         * modules/fcntl-safer (Files): Add creat-safer.c.
63322
63323 2005-08-27  Jim Meyering  <jim@meyering.net>
63324
63325         * m4/stdlib-safer.m4: New file.  From coreutils.
63326         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
63327         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
63328         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
63329         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
63330         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
63331
63332 2005-08-27  Jim Meyering  <jim@meyering.net>
63333
63334         * lib/fopen-safer.c: Merge minor changes from coreutils.
63335         * lib/dup-safer.c: Likewise.
63336         * lib/fd-safer.c: Likewise.
63337
63338         Merge from coreutils.
63339         * lib/stdio--.h: New file.
63340         * lib/stdlib--.h: New file.
63341         * lib/mkstemp-safer.c: New file.
63342
63343         GNU tar needs these.
63344         * lib/pipe-safer.c: New file.
63345         * lib/creat-safer.c: New file.
63346         * lib/fcntl--.h (creat): Define to creat_safer.
63347         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
63348         * lib/unistd--.h (pipe): Define to pipe_safer.
63349         * lib/unistd-safer.h: Declare pipe_safer.
63350
63351 2005-08-26  Simon Josefsson  <jas@extundo.com>
63352
63353         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
63354         Haible <bruno@clisp.org>.
63355
63356 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
63357
63358         * lib/regex_internal.h: Remove all references to
63359         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
63360         or better.
63361         (bitset_not, bitset_merge, bitset_not_merge):
63362         (bitset_mask, re_string_allocate, re_string_construct):
63363         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
63364         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
63365         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
63366         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
63367         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63368         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63369         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
63370         (re_acquire_state_context):
63371         Remove unnecessary forward decls.
63372         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
63373         Put __attribute at function definition,
63374         now that the function decl has been removed.
63375         * lib/regex_internal.c (re_string_peek_byte_case):
63376         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
63377         Likewise.
63378
63379 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
63380
63381         * m4/regex.m4: Add AC_PREREQ(2.50).
63382         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
63383
63384 2005-08-25  Simon Josefsson  <jas@extundo.com>
63385
63386         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
63387         __fsetlocking.
63388
63389 2005-08-25  Simon Josefsson  <jas@extundo.com>
63390
63391         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
63392         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
63393         GLIBC specific code.
63394
63395 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63396
63397         Make regex safe for g++.  This fixes one real bug (an "err"
63398         that should have been "*err").  g++ problem reported by
63399         Sam Steingold.
63400         * lib/regex_internal.h (re_calloc): New macro, consistent with
63401         re_malloc etc.  All callers of calloc changed to use re_calloc.
63402         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
63403         not int.  All callers changed.
63404         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
63405         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
63406         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
63407         (find_recover_state): Change "err" to "*err"; this fixes what
63408         appears to be a real bug.
63409         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
63410         versus int.
63411
63412 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63413
63414         * modules/regex (Depends-on): Add malloc, since the code
63415         assumes that !malloc(0) means failure.
63416
63417 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63418
63419         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
63420
63421         alloca modernization/simplification for regex.
63422         * lib/regex.c: Remove portability cruft for alloca.  This no longer
63423         needs to be at the start of the file, and can be moved into
63424         regex_internal.h and simplified.
63425         * lib/regex_internal.h: Include <alloca.h>.
63426         (__libc_use_alloca) [!defined _LIBC]: New macro.
63427         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
63428         now works outside glibc.
63429
63430 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
63431
63432         * config/srclist.txt: Add glibc bugs 1241, 1245.
63433
63434 2005-08-25  Jim Meyering  <jim@meyering.net>
63435
63436         * lib/open-safer.c: Include <config.h>.
63437         Otherwise, we'd lose LARGEFILE support in any file using
63438         e.g. "fcntl--.h"
63439
63440 2005-08-25  Bruno Haible  <bruno@clisp.org>
63441
63442         * m4/minmax.m4: Require autoconf 2.52.
63443         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
63444         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
63445         alternatives of translit over the alphabet.
63446         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
63447
63448 2005-08-24  Simon Josefsson  <jas@extundo.com>
63449
63450         * tests/test-getpass.c: New file.
63451
63452 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63453
63454         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
63455         for GNU regex features.
63456
63457 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63458
63459         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
63460         * lib/regex.h (regerror): Likewise.
63461
63462         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
63463         requires this.  (The code never needed it.)
63464
63465         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
63466         All uses of recently-renamed identifiers changed to use the new,
63467         POSIX-compliant names.  The code will build and run just fine
63468         without these changes, but it's better to eat our own dog food
63469         and use the standard-conforming names.
63470
63471         * lib/regex.h: Fix a multitude of POSIX name space violations.
63472         These changes have an effect only for programs that define
63473         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
63474         do not change anything for programs compiled in the normal way.
63475         Also, there is no effect on the ABI.
63476
63477         (_REGEX_SOURCE): New macro.
63478         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
63479         defined and _GNU_SOURCE is not; this fixes a name space violation.
63480
63481         Rename the following macros to obey POSIX requirements.
63482         The old names are still visible as macros if _REGEX_SOURCE is defined.
63483         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
63484         RE_BACKSLASH_ESCAPE_IN_LISTS.
63485         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
63486         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
63487         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
63488         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
63489         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
63490         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
63491         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
63492         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
63493         (REG_INTERVALS): renamed from RE_INTERVALS.
63494         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
63495         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
63496         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
63497         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
63498         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
63499         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
63500         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
63501         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
63502         RE_UNMATCHED_RIGHT_PAREN_ORD.
63503         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
63504         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
63505         (REG_DEBUG): renamed from RE_DEBUG.
63506         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
63507         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
63508         unusual, since we can't clash with the POSIX REG_ICASE.
63509         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
63510         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
63511         (REG_NO_SUB): renamed from RE_NO_SUB.
63512         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
63513         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
63514         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
63515         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
63516         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
63517         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
63518         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
63519         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
63520         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
63521         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
63522         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
63523         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
63524         RE_SYNTAX_POSIX_MINIMAL_BASIC.
63525         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
63526         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
63527         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
63528         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
63529         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
63530         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
63531         (REG_FIXED): Renamed from REGS_FIXED.
63532         (REG_NREGS): Renamed from RE_NREGS.
63533
63534         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
63535         of other REG_* macros, since POSIX says the user is allowed to
63536         #undef these macros selectively.
63537
63538         (reg_errcode_t): Update comment stating what other tables need
63539         to be consistent.
63540
63541         Rename the following enum values to obey POSIX requirements.
63542         The old names are still visible as macros.
63543         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
63544         is not defined, since GNU is supposed to be a superset of POSIX as
63545         much as possible, and since we want reg_errcode_t to be a signed
63546         type for implementation consistency.
63547         (_REG_NOERROR): Renamed from REG_NOERROR.
63548         (_REG_NOMATCH): Renamed from REG_NOMATCH.
63549         (_REG_BADPAT): Renamed from REG_BADPAT.
63550         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
63551         (_REG_ECTYPE): Renamed from REG_ECTYPE.
63552         (_REG_EESCAPE): Renamed from REG_EESCAPE.
63553         (_REG_ESUBREG): Renamed from REG_ESUBREG.
63554         (_REG_EBRACK): Renamed from REG_EBRACK.
63555         (_REG_EPAREN): Renamed from REG_EPAREN.
63556         (_REG_EBRACE): Renamed from REG_EBRACE.
63557         (_REG_BADBR): Renamed from REG_BADBR.
63558         (_REG_ERANGE): Renamed from REG_ERANGE.
63559         (_REG_ESPACE): Renamed from REG_ESPACE.
63560         (_REG_BADRPT): Renamed from REG_BADRPT.
63561         (_REG_EEND): Renamed from REG_EEND.
63562         (_REG_ESIZE): Renamed from REG_ESIZE.
63563         (_REG_ERPAREN): Renamed from REG_ERPAREN.
63564         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
63565         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
63566         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
63567         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
63568
63569         (_REG_RE_NAME, _REG_RM_NAME): New macros.
63570         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
63571         changed.  But support the old name if the new one is not defined
63572         and if _REGEX_SOURCE.
63573
63574         Change the following member names in struct re_pattern_buffer.
63575         The old names are still supported if !_REGEX_SOURCE.
63576         The new names are always supported, regardless of _REGEX_SOURCE.
63577         (re_buffer): Renamed from buffer.
63578         (re_allocated): Renamed from allocated.
63579         (re_used): Renamed from used.
63580         (re_syntax): Renamed from syntax.
63581         (re_fastmap): Renamed from fastmap.
63582         (re_translate): Renamed from translate.
63583         (re_can_be_null): Renamed from can_be_null.
63584         (re_regs_allocated): Renamed from regs_allocated.
63585         (re_fastmap_accurate): Renamed from fastmap_accurate.
63586         (re_no_sub): Renamed from no_sub.
63587         (re_not_bol): Renamed from not_bol.
63588         (re_not_eol): Renamed from not_eol.
63589         (re_newline_anchor): Renamed from newline_anchor.
63590
63591         Change the following member names in struct re_registers.
63592         The old names are still supported if !_REGEX_SOURCE.
63593         The new names are always supported, regardless of _REGEX_SOURCE.
63594         (rm_num_regs): Renamed from num_regs.
63595         (rm_start): Renamed from start.
63596         (rm_end): Renamed from end.
63597
63598         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
63599         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
63600         Prepend __ to parameter names.
63601
63602         Undo yesterday's changes.
63603
63604 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
63605
63606         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
63607         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
63608         lib/regex.c.
63609
63610 2005-08-24  Jim Meyering  <jim@meyering.net>
63611
63612         Sync from coreutils.
63613         * m4/fcntl-safer.m4: New file.
63614
63615         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
63616         and object files for this module.
63617
63618 2005-08-24  Jim Meyering  <jim@meyering.net>
63619
63620         Sync from coreutils.
63621         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
63622
63623 2005-08-24  Jim Meyering  <jim@meyering.net>
63624
63625         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
63626         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
63627
63628 2005-08-24  Jim Meyering  <jim@meyering.net>
63629
63630         * modules/fcntl-safer: New module.
63631         * modules/fts (Depends-on): Add fcntl-safer.
63632         * MODULES.html.sh (File descriptor based Input/Output):
63633         Add fcntl-safer.
63634
63635 2005-08-24  Bruno Haible  <bruno@clisp.org>
63636
63637         Support for unit test modules.
63638         * modules/README: Mention tests modules.
63639         * modules/TEMPLATE-TESTS: New file.
63640         * gnulib-tool: New options --extract-tests-module, --with-tests and
63641         --tests-base (unused for the moment).
63642         (testsbase, inctests): New variables.
63643         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
63644         (func_verify_module): Exclude TEMPLATE-TESTS.
63645         (func_verify_nontests_module, func_verify_tests_module): New functions.
63646         (func_get_dependencies): Add implicit dependency for tests modules.
63647         (func_get_tests_module): New function.
63648         (func_modules_transitive_closure): When --with-tests was specified,
63649         include the unit tests as well, unless explicitly avoided.
63650         (func_emit_lib_Makefile_am): Ignore the tests modules here.
63651         (func_emit_tests_Makefile_am): New function.
63652         (func_create_testdir): When --with-tests was specified, emit a
63653         tests/ directory.
63654         * MODULES.html.sh (Future developments): Update.
63655
63656 2005-08-24  Bruno Haible  <bruno@clisp.org>
63657
63658         * modules/tls-tests: New file.
63659         * tests/test-tls.c: New file, from GNU gettext.
63660
63661 2005-08-24  Bruno Haible  <bruno@clisp.org>
63662
63663         * modules/lock-tests: New file.
63664         * tests/test-lock.c: New file, from GNU gettext.
63665
63666 2005-08-24  Bruno Haible  <bruno@clisp.org>
63667
63668         * lib/lock.h: Add multiple inclusion guard.
63669         * lib/tls.h: Add multiple inclusion guard.
63670
63671 2005-08-24  Bruno Haible  <bruno@clisp.org>
63672
63673         * gnulib-tool: Add support for the --aux-dir option to
63674         --create-testdir, --create-megatestdir, --test, --megatest.
63675         (func_create_testdir, func_create_megatestdir): Optionally emit a
63676         AC_CONFIG_AUX_DIR directive.
63677         (create-testdir, create-megatestdir, test, megatest): Provide a
63678         default value for $auxdir.
63679
63680 2005-08-24  Bruno Haible  <bruno@clisp.org>
63681
63682         * gnulib-tool (import): Use compound statement instead of subshell
63683         where possible.
63684
63685 2005-08-24  Bruno Haible  <bruno@clisp.org>
63686
63687         * gnulib-tool (import): Change --aux-dir default to "build-aux".
63688
63689 2005-08-24  Bruno Haible  <bruno@clisp.org>
63690
63691         * gnulib-tool (func_version): Update.
63692
63693 2005-08-24  Bruno Haible  <bruno@clisp.org>
63694
63695         * gnulib-tool (func_import, func_create_testdir,
63696         func_create_megatestdir): Quote all autoconf macro arguments.
63697
63698 2005-08-24  Bruno Haible  <bruno@clisp.org>
63699
63700         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
63701         option --force, because --force causes the aclocal.m4 of each
63702         subdirectory to be newer than the corresponding config.h.in.
63703
63704 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63705
63706         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
63707         All contents moved to gl_REGEX.
63708         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
63709         assume that it does.
63710
63711 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63712
63713         * lib/regex.h (REG_NOSYS)
63714         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
63715         Define, since POSIX requires it as of 2001.
63716         (_REG_ENOSYS)
63717         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
63718         New private symbol, used to keep the enum signed in all cases.
63719         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
63720         Youngman in
63721         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
63722
63723         * lib/regex_internal.c (re_string_skip_chars, register_state):
63724         (calc_state_hash):
63725         Remove forward decls; no longer needed now that we use prototypes.
63726         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
63727         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
63728         (clean_state_log_if_needed): Likewise.
63729
63730 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
63731
63732         * config/srclist.txt: Add glibc bugs 1231-1233.
63733
63734 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63735
63736         Fix problems reported by Sam Steingold in
63737         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
63738         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
63739         assumed that reg_errcode_t is a signed type, which is not
63740         necessarily true if _XOPEN_SOURCE is not defined.
63741         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
63742         since some compilers warn about it otherwise.
63743
63744 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63745
63746         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
63747         (init_word_char, create_initial_state, duplicate_node_closure):
63748         (fetch_token, peek_token_bracket, build_range_exp):
63749         (build_collating_symbol): Remove forward decls; no longer needed
63750         now that we use prototypes.
63751
63752         * lib/regcomp.c:
63753         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
63754         (re_compile_fastmap_iter, regcomp, regerror, regfree):
63755         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
63756         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
63757         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
63758         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
63759         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
63760         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
63761         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
63762         (build_range_exp, build_collating_symbol, parse_bracket_exp):
63763         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
63764         (build_charclass, build_charclass_op, fetch_number, create_tree):
63765         (create_token_tree, mark_opt_subexp, duplicate_tree):
63766         Use prototypes rather than old-style definitions.
63767
63768         * lib/regex_internal.c:
63769         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
63770         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
63771         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
63772         (re_string_reconstruct, re_string_peek_byte_case):
63773         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
63774         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
63775         (re_node_set_init_copy, re_node_set_add_intersect):
63776         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
63777         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
63778         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
63779         (re_acquire_state, re_acquire_state_context, register_state):
63780         (create_ci_newstate, create_cd_newstate, free_state):
63781         Likewise.
63782         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
63783         re_search_2):
63784         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
63785         (re_search_internal, prune_impossible_nodes):
63786         (acquire_init_state_context, check_matching, static):
63787         (check_halt_node_context, check_halt_state_context, proceed_next_node):
63788         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
63789         (update_regs, sift_states_backward, build_sifted_states):
63790         (clean_state_log_if_needed, merge_state_array):
63791         (update_cur_sifted_state, add_epsilon_src_nodes):
63792         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
63793         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
63794         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
63795         (find_recover_state, check_subexp_matching_top, transit_state_mb):
63796         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
63797         (check_arrival, check_arrival_add_next_nodes):
63798         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
63799         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
63800         (check_node_accept_bytes, check_node_accept, extend_buffers):
63801         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
63802         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
63803         (sift_ctx_init):
63804         Likewise.
63805
63806         * lib/regex_internal.h:
63807         (re_string_allocate, re_string_construct, re_string_reconstruct):
63808         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
63809         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
63810         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
63811         (re_string_context_at, re_string_peek_byte_case):
63812         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
63813         is defined, since we now use prototypes always.
63814
63815         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
63816         C89 or better.  All uses removed.
63817
63818 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63819
63820         * config/srclist.txt: Add glibc bugs 1220-1227.
63821
63822 2005-08-20  Jim Meyering  <jim@meyering.net>
63823
63824         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
63825         of unused local, dfa.
63826
63827 2005-08-20  Bruno Haible  <bruno@clisp.org>
63828
63829         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
63830
63831 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63832
63833         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
63834         (re_node_set_insert_last, re_dfa_add_node):
63835         Rename local variables to avoid GCC shadowing warnings.
63836
63837 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63838
63839         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
63840         [defined lint]: Suppress bogus uninitialized-variable warnings.
63841
63842         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
63843         and let the caller return REG_ESPACE if out of space.  This
63844         removes an uninitialied-variable warning with GCC 4.0.1, and also
63845         avoids taking the address of a local variable.  All callers
63846         changed.
63847
63848 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63849
63850         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
63851         $LIBCSRC/posix/regexec.c.
63852         Add glibc bug 1217 for regcomp.c.
63853
63854 2005-08-19  Jim Meyering  <jim@meyering.net>
63855
63856         * lib/regexec.c (proceed_next_node): Redo local variables to
63857         avoid GCC shadowing warnings.
63858
63859 2005-08-18  Bruno Haible  <bruno@clisp.org>
63860
63861         * lib/strstr.c (strstr): Fix return value in multibyte case.
63862         * lib/strcasestr.c (strcasestr): Likewise.
63863
63864 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63865
63866         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
63867
63868 2005-08-17  Jim Meyering  <jim@meyering.net>
63869
63870         Make the %s format (seconds since the epoch) work for a negative
63871         number and when used with a zero-padded field width, e.g. %015s.
63872
63873         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
63874         label so that it precedes the code to set `digits'.  Otherwise,
63875         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
63876         print `00-22'.  Now, it prints `-0022', as it should.
63877
63878 2005-08-17  Bruno Haible  <bruno@clisp.org>
63879
63880         * modules/strstr (Files): Add m4/mbrtowc.m4.
63881         (Depends-on): Add mbuiter.
63882
63883 2005-08-17  Bruno Haible  <bruno@clisp.org>
63884
63885         * modules/strcasestr: New file.
63886         * MODULES.html.sh (String handling, based on ANSI C 89): Add
63887         strcasestr.
63888
63889 2005-08-17  Bruno Haible  <bruno@clisp.org>
63890
63891         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
63892
63893 2005-08-17  Bruno Haible  <bruno@clisp.org>
63894
63895         * modules/mbuiter: New file.
63896         * MODULES.html.sh (Extended multibyte and wide character utilities):
63897         Add mbuiter.
63898
63899 2005-08-17  Bruno Haible  <bruno@clisp.org>
63900
63901         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
63902         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
63903
63904 2005-08-17  Bruno Haible  <bruno@clisp.org>
63905
63906         * m4/strcasestr.m4: New file.
63907
63908 2005-08-17  Bruno Haible  <bruno@clisp.org>
63909
63910         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
63911         * lib/strstr.c: Completely rewritten, with multibyte locale support.
63912
63913 2005-08-17  Bruno Haible  <bruno@clisp.org>
63914
63915         * lib/strcasestr.h: New file.
63916         * lib/strcasestr.c: New file.
63917
63918 2005-08-17  Bruno Haible  <bruno@clisp.org>
63919
63920         * lib/strcasecmp.c: Use mbuiter.h.
63921
63922 2005-08-17  Bruno Haible  <bruno@clisp.org>
63923
63924         * lib/mbuiter.h: New file.
63925
63926 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63927
63928         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
63929         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
63930         and gl_GETOPT are both invoked via different paths (as happens
63931         with GNU tar CVS because it uses both argp and getopt), the former
63932         wins.
63933
63934 2005-08-16  Bruno Haible  <bruno@clisp.org>
63935
63936         * modules/tls: New file.
63937         * MODULES.html.sh (Multithreading): Add tls.
63938
63939 2005-08-16  Bruno Haible  <bruno@clisp.org>
63940
63941         * modules/strnlen1: New file.
63942         * MODULES.html.sh (String handling): Add strnlen1.
63943
63944 2005-08-16  Bruno Haible  <bruno@clisp.org>
63945
63946         * modules/strcase (Files): Add m4/mbrtowc.m4.
63947         (Depends-on): Add strnlen1, mbchar.
63948
63949 2005-08-16  Bruno Haible  <bruno@clisp.org>
63950
63951         * modules/mbiter: New file.
63952         * MODULES.html.sh (Extended multibyte and wide character utilities):
63953         Add mbiter.
63954
63955 2005-08-16  Bruno Haible  <bruno@clisp.org>
63956
63957         * modules/mbfile: New file.
63958         * MODULES.html.sh (Extended multibyte and wide character utilities):
63959         Add mbfile.
63960
63961 2005-08-16  Bruno Haible  <bruno@clisp.org>
63962
63963         * modules/mbchar: New file.
63964         * MODULES.html.sh (Extended multibyte and wide character utilities):
63965         New section.
63966
63967 2005-08-16  Bruno Haible  <bruno@clisp.org>
63968
63969         * m4/tls.m4: New file, from GNU gettext.
63970
63971 2005-08-16  Bruno Haible  <bruno@clisp.org>
63972
63973         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
63974         always.
63975         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
63976
63977 2005-08-16  Bruno Haible  <bruno@clisp.org>
63978
63979         * m4/mbiter.m4: New file.
63980
63981 2005-08-16  Bruno Haible  <bruno@clisp.org>
63982
63983         * m4/mbfile.m4: New file.
63984
63985 2005-08-16  Bruno Haible  <bruno@clisp.org>
63986
63987         * m4/mbchar.m4: New file.
63988
63989 2005-08-16  Bruno Haible  <bruno@clisp.org>
63990
63991         * lib/tls.h: New file, from GNU gettext.
63992         * lib/tls.c: New file, from GNU gettext.
63993
63994 2005-08-16  Bruno Haible  <bruno@clisp.org>
63995
63996         * lib/strnlen1.h: New file.
63997         * lib/strnlen1.c: New file.
63998
63999 2005-08-16  Bruno Haible  <bruno@clisp.org>
64000
64001         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
64002         (mbi_init): Update.
64003         (mbi_avail, mbi_advance): Let the iteration end before the terminating
64004         NUL byte, not after it.
64005
64006 2005-08-16  Bruno Haible  <bruno@clisp.org>
64007
64008         * lib/strcase.h (strcasecmp): Add note in comments.
64009         * lib/strncasecmp.c: Use code from strcasecmp.c.
64010         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
64011         (strcasecmp): Work correctly in multibyte locales.
64012
64013 2005-08-16  Bruno Haible  <bruno@clisp.org>
64014
64015         * lib/mbiter.h: New file.
64016
64017 2005-08-16  Bruno Haible  <bruno@clisp.org>
64018
64019         * lib/mbfile.h: New file.
64020
64021 2005-08-16  Bruno Haible  <bruno@clisp.org>
64022
64023         * lib/mbchar.h: New file.
64024         * lib/mbchar.c: New file.
64025
64026 2005-08-16  Bruno Haible  <bruno@clisp.org>
64027
64028         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
64029         the valid ones. Makes the comparison operations transitive:
64030         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
64031         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
64032
64033 2005-08-15  Simon Josefsson  <jas@extundo.com>
64034
64035         * modules/ssize_t (License): Change to 'unlimited'.
64036
64037         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
64038
64039 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64040
64041         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
64042         Add comments for each pending glibc patch.
64043
64044 2005-08-15  Bruno Haible  <bruno@clisp.org>
64045
64046         * lib/regex.h (__restrict_arr): Don't define to __restrict if
64047         __cplusplus is defined.
64048
64049 2005-08-14  Jim Meyering  <jim@meyering.net>
64050
64051         Sync from coreutils.
64052
64053         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
64054         Use the hash-table-based cycle-detection code not just when
64055         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
64056         Reported by James Youngman in
64057         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
64058         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
64059         FTS_TIGHT_CYCLE_CHECK.
64060         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
64061         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
64062         once again.
64063         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
64064         * lib/fts.c (fd_safer): Remove decl.
64065         Include fcntl--.h rather than unistd-safer.h
64066         (fts_safe_changedir): Don't call fd_safer; no longer needed
64067         now that we include fcntl--.h.
64068
64069 2005-08-12  Simon Josefsson  <jas@extundo.com>
64070
64071         * modules/getndelim2: Use ssize_t module.
64072         * modules/getnline: Likewise.
64073         * modules/safe-read: Likewise.
64074         * modules/xreadlink: Likewise.
64075
64076         * modules/ssize_t: New file.
64077
64078 2005-08-12  Simon Josefsson  <jas@extundo.com>
64079
64080         * m4/readline.m4: Look for termcap, curses or ncurses if required.
64081
64082 2005-08-12  Simon Josefsson  <jas@extundo.com>
64083
64084         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64085         ssize_t.
64086
64087 2005-08-12  Simon Josefsson  <jas@extundo.com>
64088
64089         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
64090         readline, getdelim and check_version.
64091         (Support for systems lacking ISO C 99: Sizes of integer types):
64092         Add size_max.
64093
64094 2005-08-12  Bruno Haible  <bruno@clisp.org>
64095
64096         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
64097
64098 2005-08-11  Simon Josefsson  <jas@extundo.com>
64099
64100         * modules/readline: New file.
64101
64102         * modules/strnlen (Files): Add strnlen.h.
64103
64104 2005-08-11  Simon Josefsson  <jas@extundo.com>
64105
64106         * m4/readline.m4: New file.
64107
64108 2005-08-11  Simon Josefsson  <jas@extundo.com>
64109
64110         * lib/readline.h, readline.c: New file.
64111
64112 2005-08-11  Simon Josefsson  <jas@extundo.com>
64113
64114         * doc/gnulib.texi (Initial import, Finishing touches): Mention
64115         gl_AVOID.
64116
64117 2005-08-11  Bruno Haible  <bruno@clisp.org>
64118
64119         * lib/strnlen.h (strnlen): Change parameter name to match comment.
64120
64121 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
64122
64123         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
64124
64125 2005-08-10  Simon Josefsson  <jas@extundo.com>
64126
64127         * tests/test-iconvme.c: New file.
64128
64129 2005-08-10  Simon Josefsson  <jas@extundo.com>
64130
64131         * m4/strnlen.m4: New file.
64132
64133         * m4/strndup.m4: Don't check for strnlen declaration, done in
64134         strnlen.m4.
64135
64136 2005-08-10  Simon Josefsson  <jas@extundo.com>
64137
64138         * lib/strndup.c: Use strnlen.h.
64139
64140         * lib/strnlen.h: New file.
64141
64142 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64143
64144         * README: Typos.
64145
64146 2005-08-02  Simon Josefsson  <jas@extundo.com>
64147
64148         * modules/readline: New file.
64149
64150 2005-08-02  Simon Josefsson  <jas@extundo.com>
64151
64152         * modules/getdelim: New file.
64153
64154         * modules/getline: Rewrite, don't use getndelim2.
64155
64156 2005-08-02  Simon Josefsson  <jas@extundo.com>
64157
64158         * m4/getline.m4: Separate out getdelim stuff into separate module.
64159
64160         * m4/getdelim.m4: New file.
64161
64162 2005-08-02  Simon Josefsson  <jas@extundo.com>
64163
64164         * lib/getline.h, getline.c: Rewrite.
64165
64166         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
64167
64168 2005-07-31  Bruno Haible  <bruno@clisp.org>
64169
64170         * lib/lock.h (gl_lock_initializer): New macro.
64171         (gl_lock_define_initialized): Use it.
64172         (gl_rwlock_initializer): New macro.
64173         (gl_rwlock_define_initialized): Use it.
64174         (gl_recursive_lock_initializer): New macro.
64175         (gl_recursive_lock_define_initialized): Use it.
64176
64177 2005-07-30  Karl Berry  <karl@gnu.org>
64178
64179         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
64180         Report from Ben Pfaff, regarding getopt.
64181
64182 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
64183
64184         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
64185         normal way.
64186         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
64187         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
64188         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
64189         (gl_GETOPT): Use the new macros.  Most of the implementation
64190         is moved to the new macros.  This is for programs like Emacs
64191         that don't want all the functionality of gl_GETOPT.
64192
64193 2005-07-26  Bruno Haible  <bruno@clisp.org>
64194
64195         * m4/lock.m4: Update from GNU gettext.
64196
64197 2005-07-26  Bruno Haible  <bruno@clisp.org>
64198
64199         * lib/lock.h: Update from GNU gettext.
64200         * lib/lock.c: Update from GNU gettext.
64201
64202 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
64203
64204         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
64205         obsolescent AC_TRY_RUN.  Include the default includes files, for
64206         'exit'.
64207
64208 2005-07-24  Bruno Haible  <bruno@clisp.org>
64209
64210         * modules/visibility: New file.
64211         * MODULES.html.sh (Misc): Add visibility.
64212
64213 2005-07-24  Bruno Haible  <bruno@clisp.org>
64214
64215         * m4/visibility.m4: New file.
64216
64217 2005-07-24  Bruno Haible  <bruno@clisp.org>
64218
64219         * doc/visibility.texi: New file.
64220
64221 2005-07-22  Bruno Haible  <bruno@clisp.org>
64222
64223         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
64224         $(ALLOCA_H), redundant through BUILT_SOURCES.
64225         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
64226         redundant through BUILT_SOURCES.
64227         * modules/byteswap (Makefile.am): Remove explicit dependency on
64228         $(BYTESWAP_H), redundant through BUILT_SOURCES.
64229         * modules/fnmatch (Makefile.am): Remove explicit dependency on
64230         $(FNMATCH_H), redundant through BUILT_SOURCES.
64231         * modules/getopt (Makefile.am): Remove explicit dependency on
64232         $(GETOPT_H), redundant through BUILT_SOURCES.
64233         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
64234         redundant through BUILT_SOURCES.
64235         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
64236         redundant through BUILT_SOURCES.
64237         * modules/stdbool (Makefile.am): Remove explicit dependency on
64238         $(STDBOOL_H), redundant through BUILT_SOURCES.
64239         * modules/stdint (Makefile.am): Remove explicit dependency on
64240         $(STDINT_H), redundant through BUILT_SOURCES.
64241         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
64242         Remove explicit dependency on $(SYSEXITS_H).
64243         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
64244
64245 2005-07-18  Simon Josefsson  <jas@extundo.com>
64246
64247         * lib/check-version.c (check_version): Accept identical versions too.
64248
64249 2005-07-18  Bruno Haible  <bruno@clisp.org>
64250
64251         * modules/lock: New file.
64252         * MODULES.html.sh (Multithreading): New section.
64253
64254 2005-07-18  Bruno Haible  <bruno@clisp.org>
64255
64256         * m4/lock.m4: New file, from GNU gettext.
64257
64258 2005-07-18  Bruno Haible  <bruno@clisp.org>
64259
64260         * lib/lock.h: New file, from GNU gettext.
64261         * lib/lock.c: New file, from GNU gettext.
64262
64263 2005-07-18  Bruno Haible  <bruno@clisp.org>
64264
64265         * lib/lock.h (gl_once_t): New type.
64266         (gl_once_define, gl_once): New macros.
64267         * lib/lock.c (fresh_once): New variable.
64268         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
64269         functions.
64270
64271 2005-07-16  Simon Josefsson  <jas@extundo.com>
64272
64273         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
64274         workaround, suggested by Bruno.
64275
64276 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64277
64278         * modules/xalloc (Depends-on): Add xalloc-die.
64279         * modules/xvasprintf (Depends-on): Add xalloc-die.
64280
64281 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
64284         with a minor change.
64285
64286 2005-07-15  Bruno Haible  <bruno@clisp.org>
64287
64288         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
64289         When using lib/poll.c, define poll as rpl_poll.
64290
64291 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
64292
64293         * modules/argp (Depends-on): Remove unlocked-io.
64294
64295 2005-07-14  Derek Price  <derek@ximbiot.com>
64296
64297         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
64298         for glob symlink bug.
64299
64300 2005-07-14  Bruno Haible  <bruno@clisp.org>
64301
64302         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
64303         Instead, test for *_unlocked function declarations directly.
64304
64305 2005-07-11  Simon Josefsson  <jas@extundo.com>
64306
64307         * modules/size_max: New file.
64308
64309         * modules/xsize: Depend on size_max module for size_max.m4.
64310
64311 2005-07-11  Simon Josefsson  <jas@extundo.com>
64312
64313         * lib/size_max.h: New file.
64314
64315 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
64316
64317         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
64318         copyright symbol and the year.
64319         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
64320         (version_etc_va): Use parameterized copyright notice.
64321         Reword to conform to the current GNU coding standards.
64322
64323 2005-07-11  Karl Berry  <karl@gnu.org>
64324
64325         * doc/gnulib.texi (Quoting): new node.
64326         (Initial import): more info, from Patrice.
64327
64328 2005-07-11  Bruno Haible  <bruno@clisp.org>
64329
64330         * gnulib-tool (func_usage): Document option --avoid.
64331         (Command line options): Handle --avoid.
64332         (func_acceptable): New function.
64333         (func_modules_transitive_closure): Use it.
64334
64335 2005-07-11  Bruno Haible  <bruno@clisp.org>
64336
64337         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
64338         Reported by Jim Meyering.
64339
64340 2005-07-10  Bruno Haible  <bruno@clisp.org>
64341
64342         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
64343         Needed when size_t is smaller than 'unsigned int'.
64344         Reported by Paul Eggert.
64345
64346 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64347
64348         * modules/argp (Depends-on): Add unlocked-io
64349
64350 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
64351
64352         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
64353         block of defines.
64354
64355 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64356
64357         * config/srclist.txt: Comment out regcomp.c, since we have a porting
64358         fix now.
64359
64360 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
64361         and Paul Eggert  <eggert@cs.ucla.edu>
64362
64363         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
64364         in wint_t, not wchar_t.  Remove now-unnecessary cast.
64365
64366 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64367
64368         * modules/regex (Files): Add lib/regex_internal.c,
64369         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
64370         (Depends-on): Add extensions.
64371         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
64372
64373 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64374
64375         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
64376         pathconf.
64377         * m4/same.m4 (gl_SAME): Likewise.
64378         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
64379
64380         * m4/regex.m4: Adjust to new libc regex implementation.
64381         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
64382         all the .c and .h parts of (the new) regex.
64383         Quote the m4 stuff better.
64384         Check for RE_ICASE bug of old gnulib.
64385         Check for REG_STARTEND of recent libc.
64386         Rename local variables from jm_* to gl_*.
64387         Quote operand of "test -f".
64388         Say "recent enough" version of libc, not "version 2".
64389         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
64390         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
64391         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
64392         Remove check for btowc, isascii.
64393         Require AM_LANGINFO_CODESET.
64394
64395 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64396
64397         * lib/regex.c, regex.h: Sync from libc.
64398         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
64399         * lib/regexec.c:
64400         New files, synced from libc, except that regex_internal.h
64401         currently has a small porting fix.
64402
64403 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
64404
64405         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
64406         regex_internal.c, regexec.c.
64407         Add regex_internal.h too, but as a comment, since the libc version
64408         is currently broken in gnulib mode.
64409
64410 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64411
64412         Support programs like Emacs that use gnulib but not gettext.
64413         * MODULES.html.sh (Internationalization functions): Add gettext-h.
64414         * modules/gettext-h: New file.
64415         * modules/gettext (Files): Remove lib/gettext.h.
64416         (Depends-on): Add gettext-h.
64417         (Makefile.am): Remove lib_SOURCES.
64418         * modules/argmatch, modules/c-stack, modules/closeout:
64419         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
64420         * modules/execute, modules/file-type, modules/getaddrinfo:
64421         * modules/getopt, modules/human, modules/javacomp:
64422         * modules/javaexec, modules/mkdir-p, modules/obstack:
64423         * modules/openat, modules/pagealign_alloc, modules/pipe:
64424         * modules/quotearg, modules/regex, modules/rpmatch:
64425         * modules/unicodeio, modules/userspec, modules/version-etc:
64426         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
64427         * modules/xsetenv:
64428         Depend on gettext-h, not gettext.
64429
64430 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64431
64432         * gnulib-tool (func_import): Add support for 'public domain' license.
64433         * modules/alloca, modules/atexit, modules/memmove:
64434         Now public domain, not GPL.
64435         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
64436         * modules/realloc, modules/strerror, modules/strtod:
64437         Now LGPL, not GPL.
64438
64439 2005-07-05  Bruno Haible  <bruno@clisp.org>
64440
64441         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
64442         autoconf CVS. Needed for mingw.
64443
64444 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64445
64446         Remove the dependency of the strftime module on the tzset module.
64447         * modules/strftime (Depends-on): Remove dependency on tzset.
64448
64449 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64450
64451         Remove the dependency of the strftime module on the tzset module.
64452         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
64453         gl_FUNC_TZSET_CLOBBER.
64454
64455 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64456
64457         Remove the dependency of the strftime module on the tzset module.
64458         * lib/strftime.c (my_strftime)
64459         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
64460         Copy the input structure, to work around some of the bug with
64461         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
64462         Solaris releases, you should also use the tzset module, but we won't
64463         require it as a dependency any more since we don't want LGPLed code
64464         to depend on GPLed code.
64465
64466 2005-07-02  Jim Meyering  <jim@meyering.net>
64467
64468         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
64469         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
64470         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
64471         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
64472
64473 2005-07-02  Jim Meyering  <jim@meyering.net>
64474
64475         * lib/backupfile.c (backup_args): Change a `0' to NULL.
64476
64477 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64478
64479         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
64480         declares only 'struct timespec;' (!).
64481
64482 2005-07-01  Jim Meyering  <jim@meyering.net>
64483
64484         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
64485         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
64486         * lib/save-cwd.c, tempname.c:
64487         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64488         and don't include <sys/file.h>).
64489
64490 2005-06-29  Jim Meyering  <jim@meyering.net>
64491
64492         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
64493         type name.  Use the variable name instead.
64494         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
64495         Likewise.
64496
64497 2005-06-28  Simon Josefsson  <jas@extundo.com>
64498
64499         * modules/check-version (Files): Add check-version.m4.
64500
64501 2005-06-28  Simon Josefsson  <jas@extundo.com>
64502
64503         * m4/check-version.m4: New file, suggested by Jim Meyering
64504         <jim@meyering.net>.
64505
64506 2005-06-28  Simon Josefsson  <jas@extundo.com>
64507
64508         * lib/check-version.h, lib/check-version.c: New files.
64509
64510 2005-06-28  Simon Josefsson  <jas@extundo.com>
64511
64512         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
64513         collision with global variable.  Better indentation.  Don't
64514         increment buffer pointer beyond buffer end.  Based on comments
64515         from Paul Eggert <eggert@cs.ucla.edu>.
64516
64517         * lib/base64.h: Indent.
64518
64519 2005-06-28  Simon Josefsson  <jas@extundo.com>
64520
64521         * doc/gnulib.texi (Library version handling): New section.
64522
64523 2005-06-28  Jim Meyering  <jim@meyering.net>
64524
64525         * check-module (find_included_lib_files): Hard-code another
64526         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
64527         but modules/fts-lgpl (correctly) does not list those files.
64528
64529         * modules/canonicalize (Files): Add lib/pathmax.h.
64530
64531 2005-06-25  Simon Josefsson  <jas@extundo.com>
64532
64533         * modules/check-version: New file.
64534
64535 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
64536
64537         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
64538         initializer of struct addrinfo, as an indication that we don't
64539         care how many members the structure has.
64540
64541 2005-06-24  Derek Price  <derek@ximbiot.com>
64542         and Bruno Haible  <bruno@clisp.org>
64543
64544         Remove stat module & update lstat.
64545         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
64546         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
64547         * m4/stat.m4: Remove this file.
64548
64549 2005-06-24  Derek Price  <derek@ximbiot.com>
64550         and Bruno Haible  <bruno@clisp.org>
64551
64552         Remove stat module & update lstat.
64553         * lib/stat.c: Remove this file...
64554         (slash_aware_lstat): ...moving this content and its support...
64555         * lib/lstat.c (rpl_lstat): ...into here.
64556         * lib/lstat.h: New file.
64557
64558 2005-06-24  Derek Price  <derek@ximbiot.com>
64559         and Bruno Haible  <bruno@clisp.org>
64560
64561         Remove stat module & update lstat.
64562         * config/srclist.txt (libc sources): Remove stat.
64563
64564 2005-06-24  Derek Price  <derek@ximbiot.com>
64565         and Bruno Haible  <bruno@clisp.org>
64566
64567         Remove stat module & update lstat.
64568         * MODULES.html.sh (stat): Remove.
64569         * MODULES.html: Regenerated.
64570         * modules/lstat (Description): Correct function name.
64571         (Files): Add "lstat.h".
64572         (Depends-on): Remove stat, add xalloc, stat-macros.
64573         * modules/stat: Remove this file.
64574         (Include): Add "lstat.h", remove <sys/stat.h>.
64575
64576 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64577
64578         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
64579         (ranged_convert): Don't save conversion in a temporary struct.
64580         This causes a warning with GCC 4.0.0, and anyway in the typical
64581         case it's not worth the extra 100 bytes or so of code.
64582         (ranged_convert, __mktime_internal): When calling a function via a
64583         pointer P, use P () rather than (*P) (), as we now assume C89 or
64584         better.
64585
64586 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
64587
64588         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
64589         "who -r" failed to give output.  Problem reported by Tim Waugh.
64590
64591         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
64592         (xcalloc): Use it to avoid needless tests.
64593         Problem reported by Jim Meyering.
64594
64595 2005-06-20  Derek Price  <derek@ximbiot.com>
64596
64597         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
64598         unnecessary for Autoconfs > 2.59c.
64599
64600 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64601
64602         * lib/argp.h (__option_is_short): Check upper limit of
64603         __key. Isprint() requires its argument to have the value
64604         of an unsigned char or EOF.
64605
64606 2005-06-16  Jim Meyering  <jim@meyering.net>
64607
64608         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
64609         when either N or S is zero.
64610
64611 2005-06-16  Derek Price  <derek@ximbiot.com>
64612
64613         * m4/bison.m4: Declare YACC & YFLAGS precious.
64614
64615 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
64616
64617         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
64618         multibyte string or pattern, fall back on unibyte matching.
64619         Problem reported by James Youngman.
64620
64621 2005-06-08  Bruno Haible  <bruno@clisp.org>
64622
64623         * modules/csharpcomp: New file.
64624         * MODULES.html.sh (C#): Add csharpcomp.
64625
64626 2005-06-08  Bruno Haible  <bruno@clisp.org>
64627
64628         * m4/csharpcomp.m4: New file, from GNU gettext.
64629
64630 2005-06-08  Bruno Haible  <bruno@clisp.org>
64631
64632         * lib/csharpcomp.h: New file, from GNU gettext.
64633         * lib/csharpcomp.c: New file, from GNU gettext.
64634         * lib/csharpcomp.sh.in: New file, from GNU gettext.
64635
64636 2005-06-08  Bruno Haible  <bruno@clisp.org>
64637
64638         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
64639         warning on mingw.
64640
64641 2005-06-07  Derek Price  <derek@ximbiot.com>
64642
64643         Sync from CVS.
64644         * lib/glob_.h: Indent nested #ifdef.
64645
64646 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64647
64648         Sync from coreutils.
64649         Use "file name" when talking about file names, instead of "filename"
64650         or "path", as per the GNU coding standards.
64651         * lib/mkdir-p.c: Renamed from makepath.c.
64652         (make_dir_parents): Renamed from make_path.  All callers changed.
64653         * lib/mkdir-p.h: Likewise.  All includers changed.
64654         * lib/filenamecat.c: Renamed from path-concat.c.
64655         (file_name_concat): Renamed from path_concat.  All callers changed.
64656         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
64657         * lib/filenamecat.h: Likewise.  All includers changed.
64658         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
64659         in comments or local variable names.
64660         * lib/basename.c: Likewise.
64661         * lib/canonicalize.c, canonicalize.h: Likewise.
64662         * lib/dirname.c, dirname.h: Likewise.
64663         * lib/euidaccess.c: Likewise.
64664         * lib/exclude.c: Likewise
64665         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
64666         * lib/fsusage.c, fsuage.h: Likewise.
64667         * lib/fts.c, fts_.h: Likewise.
64668         * lib/getcwd.c: Likewise.
64669         * lib/getloadavg.c: Likewise.
64670         * lib/mkstemp.c: Likewise.
64671         * lib/mountlist.c, mountlist.h: Likewise.
64672         * lib/openat.c, openat.h: Likewise.
64673         * lib/readlink-stub.c: Likewise.
64674         * lib/readutmp.c, readutmp.h: Likewise.
64675         * lib/rename.c: Likewise.
64676         * lib/rmdir.c: Likewise.
64677         * lib/same.c: Likewise.
64678         * lib/savedir.c: Likewise.
64679         * lib/stripslash.c: Likewise.
64680         * lib/tempname.c: Likewise.
64681         * lib/xreadlink.c: Likewise.
64682         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
64683         All uses changed.
64684         * lib/exclude.h: Likewise.
64685
64686         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
64687         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64688         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
64689         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64690         * lib/pathmax.h: Include <limits.h> unconditionally, since other
64691         files have been getting away with it for years (MORE/BSD 4.3
64692         is extinct now).
64693         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
64694         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
64695
64696         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
64697         Define to 256, not 255, as per modern POSIX.
64698
64699 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64700
64701         Sync from coreutils.
64702         Use "file name" when talking about file names, instead of "filename"
64703         or "path", as per the GNU coding standards.
64704         * MODULES.html.sh: mkdir-p renamed from makepath.
64705         filenamecat renamed from path-concat.
64706         * modules/filenamecat: Renamed from modules/path-concat.
64707         (Files): filenamecat.h and filenamecat.c renamed from
64708         path-concat.h and path-concat.c.
64709         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
64710         (Include): filenamecat.h, not path-concat.h.
64711         * modules/mkdir-p: Renamed from modules/makepath.
64712         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
64713         makepath.c.
64714         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
64715         (Include): mkdir-p.h, not makepath.h.
64716
64717 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         Sync from coreutils.
64720         * m4/mkdir-p.m4: Renamed from makepath.m4.
64721         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
64722         Rename files from makepath.c to mkdir-p.c, and from
64723         makepath.h to mkdir-p.h.
64724         * m4/filenamecat.m4: Renamed from path-concat.m4.
64725         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
64726         Rename files from path-concat.c to filenamecat.c,
64727         and from path-concat.h to filenamecat.h.
64728         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
64729         "file name" in local variables or comments.
64730         * m4/rename.m4: Likewise.
64731
64732 2005-06-01  Bruno Haible  <bruno@clisp.org>
64733
64734         * modules/csharpexec: New file.
64735         * MODULES.html.sh (C#): New section.
64736
64737 2005-06-01  Bruno Haible  <bruno@clisp.org>
64738
64739         * m4/csharp.m4: New file, from GNU gettext.
64740         * m4/csharpexec.m4: New file, from GNU gettext.
64741
64742 2005-06-01  Bruno Haible  <bruno@clisp.org>
64743
64744         * lib/csharpexec.h: New file, from GNU gettext.
64745         * lib/csharpexec.c: New file, from GNU gettext.
64746         * lib/csharpexec.sh.in: New file, from GNU gettext.
64747
64748 2005-05-31  Derek Price  <derek@ximbiot.com>
64749             Paul Eggert  <eggert@cs.ucla.edu>
64750
64751         Sync from cvs.
64752         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64753
64754 2005-05-31  Derek Price  <derek@ximbiot.com>
64755             Paul Eggert  <eggert@cs.ucla.edu>
64756
64757         Sync from cvs.
64758         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
64759
64760 2005-05-29  Derek Price  <derek@ximbiot.com>
64761
64762         * config/srclist.txt (glob_.h, glob.c): Add these files.
64763
64764 2005-05-29  Derek Price  <derek@ximbiot.com>
64765
64766         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
64767         * modules/glob: New file.
64768         * modules/getlogin_r: Add link to POSIX spec in description.
64769
64770 2005-05-29  Derek Price  <derek@ximbiot.com>
64771             Paul Eggert  <eggert@cs.ucla.edu>
64772
64773         * m4/glob.m4: New file.
64774
64775 2005-05-29  Derek Price  <derek@ximbiot.com>
64776             Paul Eggert  <eggert@cs.ucla.edu>
64777
64778         * lib/glob_.h, lib/glob.c: New files.
64779
64780 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64781
64782         * modules/fts (Files): Remove m4/inttypes-pri.m4.
64783         * modules/fts-lgpl (Depends-on): Remove gettext.
64784
64785 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64786
64787         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
64788         and don't require gt_INTTYPES_PRI.
64789
64790 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
64791
64792         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
64793
64794         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
64795         the configuration hassle isn't worth it.
64796         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
64797         (LONGEST_MODIFIER, PRIuMAX): Remove.
64798
64799 2005-05-27  Bruno Haible  <bruno@clisp.org>
64800
64801         * lib/getlogin_r.h: Remove second include of <stddef.h>.
64802
64803 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
64804
64805         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
64806         _POSIX_PTHREAD_SEMANTICS for Solaris.
64807
64808 2005-05-25  Derek Price  <derek@ximbiot.com>
64809
64810         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
64811
64812 2005-05-25  Derek Price  <derek@ximbiot.com>
64813             Paul Eggert  <eggert@cs.ucla.edu>
64814
64815         * modules/getlogin_r, m4/getlogin_r.m4: New files.
64816         * lib/getlogin_r.c, getlogin_r.h: New files.
64817
64818 2005-05-25  Bruno Haible  <bruno@clisp.org>
64819             Derek Price  <derek@ximbiot.com>
64820
64821         * lib/getlogin_r.h: Simplify API documentation.
64822
64823 2005-05-23  Derek Price  <derek@ximbiot.com>
64824
64825         * modules/minmax (Files): Add m4/minmax.m4.
64826         (configure.ac): Add gl_MINMAX.
64827
64828 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64829
64830         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
64831         so that unistd-safer.h (GPL'ed code) need not be included.
64832
64833 2005-05-22  Bruno Haible  <bruno@clisp.org>
64834
64835         * m4/minmax.m4: New file.
64836         Based on a patch by Derek Price <derek@ximbiot.com>.
64837
64838 2005-05-22  Bruno Haible  <bruno@clisp.org>
64839
64840         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
64841         (INT64_MIN): Fix definition.
64842         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
64843
64844         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
64845         NEED_SIGNED_INT_TYPES.
64846
64847         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
64848         HAVE_SYSTEM_INTTYPES.
64849
64850 2005-05-22  Bruno Haible  <bruno@clisp.org>
64851
64852         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
64853         Also include <sys/param.h> if it defines MIN, MAX.
64854         Based on a patch by Derek Price <derek@ximbiot.com>.
64855
64856 2005-05-21  Jim Meyering  <jim@meyering.net>
64857
64858         * modules/fts (Files): Add m4/inttypes-pri.m4.
64859         (Depends-on): Add lstat and remove gettext.  Alphabetize.
64860
64861 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64862
64863         New fts module.
64864         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
64865         (setup_dir, free_dir): New functions.
64866         (enter_dir, leave_dir): Define trivial
64867         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
64868         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
64869         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
64870         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
64871         Move to fts-cycle.c.
64872         (fts_open): Use setup_dir.
64873         (fts_close): Use free_dir.
64874         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
64875         This adds a label and some gotos, but the alternatives were messier.
64876         Check for memory allocation failure when entering a dir.
64877         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
64878         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
64879         (FTS): New member fts_cycle, that is a union that contains the
64880         old active_dir_ht and cycle_state.  All uses changed to mention
64881         fts_cycle.ht and fts_cycle.state.
64882         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
64883         fts.c, with the following changes:
64884         (setup_dir, free_dir): New functions.
64885         (enter_dir): Now returns bool.  Return true if successful, false
64886         if memory exhausted.  All callers changed.
64887         Do not bother partly cleaning up on
64888         memory allocation failure; that is free_dir's job.
64889         However, free ad if hash_insert fails, to avoid memory leak.
64890         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
64891         fts->fts_options to see which union member to use.
64892
64893 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64894
64895         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
64896         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
64897
64898 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
64899
64900         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
64901
64902 2005-05-20  Jim Meyering  <jim@meyering.net>
64903
64904         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
64905         Now a macro, to pacify GCC.
64906
64907 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64908
64909         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
64910         of -1.
64911
64912 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
64913
64914         * lib/chown.c (rpl_chown): Return -1 on failure.
64915
64916 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64917
64918         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
64919         Don't check for stddef.h.
64920         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
64921         don't use its results.
64922         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
64923         since we include them unconditionally.  Don't require
64924         AM_STDBOOL_H, since stdbool is a prerequisite.
64925         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
64926         since we assume C89 or better.
64927         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
64928         as we don't use their results.
64929         Don't check for fchdir, memmove, memset, strrchr, as we use
64930         them unconditionally.
64931         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
64932         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
64933
64934 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
64935
64936         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
64937         Include <stddef.h> unconditionally, since we assume C89 now.
64938         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
64939         * lib/fts.c: Include fts_.h first, to check interface.
64940         Do not include intprops.h; no longer needed.
64941         Include cycle-check.h and hash.h, since fts_.h no longer does.
64942         Remove unnecessary casts of closedir to void.
64943         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
64944         decide whether to decrement nlinks.
64945         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
64946         (FTS): Use struct hash_table * instead of Hash_table, so that
64947         we no longer need to include hash.h here.
64948
64949 2005-05-18  Jim Meyering  <jim@meyering.net>
64950
64951         * modules/dirfd (License): Change to LGPL.  Most of the code
64952         is already in the public domain.
64953
64954 2005-05-18  Jim Meyering  <jim@meyering.net>
64955
64956         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
64957         Reported by Yoann Vandoorselaere.
64958
64959 2005-05-17  Jim Meyering  <jim@meyering.net>
64960
64961         * m4/fts.m4: New file, from coreutils.
64962
64963 2005-05-17  Jim Meyering  <jim@meyering.net>
64964
64965         * lib/fts.c, lib/fts_.h: New files, from coreutils.
64966
64967 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64968
64969         Sync from coreutils.
64970         * m4/unlinkdir.m4: New file.
64971
64972 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64973
64974         Sync from coreutils.
64975         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
64976         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
64977         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
64978         White space changes only.
64979         * lib/makepath.c (make_path): Port to hosts where leading "//" is
64980         special.
64981         * lib/yesno.c: Include getline.h, not ctype.h.
64982         (yesno): Don't remove leading white space; POSIX doesn't allow it.
64983         Use getline to remove arbitrary restriction on response length.
64984
64985 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
64986
64987         * config/srclist-update: Spell out "Street" in FSF postal
64988         mail address; this is the style the FSF seems to prefer.
64989
64990         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
64991         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
64992         this updates FSF postal mail address.
64993
64994         Sync from coreutils.
64995         * modules/unlinkdir: New file.
64996         * modules/yesno (Depends-on): Add getline.
64997         * MODULES.html.sh (File system functions): Add unlinkdir.
64998
64999 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65000
65001         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
65002         lib/strsep.h:
65003         Change the initial comment to refer to GPL, not LGPL.
65004         gnulib-tool will change it to LGPL as needed.
65005
65006         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
65007         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
65008         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
65009         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
65010         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
65011         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
65012         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
65013         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
65014         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
65015         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
65016         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
65017         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
65018         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
65019         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
65020         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
65021         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
65022         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
65023         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
65024         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
65025         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
65026         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
65027         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
65028         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
65029         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
65030         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
65031         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
65032         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
65033         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
65034         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
65035         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
65036         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
65037         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
65038         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
65039         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
65040         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
65041         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
65042         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
65043         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
65044         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
65045         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
65046         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
65047         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
65048         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
65049         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
65050         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
65051         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
65052         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
65053         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
65054         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
65055         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
65056         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65057         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
65058         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
65059         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
65060         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
65061         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
65062         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
65063         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
65064         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
65065         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
65066         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
65067         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
65068         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
65069         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
65070         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
65071         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
65072         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
65073         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
65074         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
65075         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
65076         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
65077         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
65078         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
65079         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
65080         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
65081         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
65082         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
65083         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
65084         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
65085         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
65086         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
65087         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
65088         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
65089         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
65090         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
65091         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
65092         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
65093         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
65094         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
65095         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
65096         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
65097         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
65098         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
65099         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
65100         lib/yesno.c, lib/yesno.h:
65101         Update FSF postal mail address.
65102
65103 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
65104
65105         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
65106         tests/test-memmem.c, tests/test-stpncpy.c:
65107         Update FSF postal mail address.
65108
65109 2005-05-13  Bruno Haible  <bruno@clisp.org>
65110
65111         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
65112         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
65113         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
65114         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
65115         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
65116         Add support for 64-bit integers in the MSVC compiler.
65117
65118 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65119
65120         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
65121
65122 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
65123
65124         * gnulib-tool (func_import): Sort and uniquify recommended includes.
65125
65126 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
65127
65128         * doc/getdate.texi (General date syntax): Don't say that date
65129         date --iso-8601=ns generates acceptable dates; it doesn't yet.
65130         Problem reported by Nic Ferrier.
65131
65132 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65133
65134         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
65135         specified in ai_socktype. Fix invalid ai_protocol
65136         check. ai_protocol is usually set to 0 or depending on
65137         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
65138         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
65139         ai_socktype / ai_protocol in the returned addrinfo structure.
65140
65141 2005-05-10  Simon Josefsson  <jas@extundo.com>
65142
65143         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
65144         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65145
65146 2005-05-10  Karl Berry  <karl@gnu.org>
65147
65148         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
65149         (from http://www.gnu.org/licenses).
65150         * doc/COPYING.LIB: also rename to COPYING.LESSER.
65151         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
65152         fdl.texi suffices.
65153
65154 2005-05-10  Karl Berry  <karl@gnu.org>
65155
65156         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
65157         (COPYING.DOC): remove.
65158
65159         * config/srclist-update: new FSF address.
65160
65161 2005-05-10  Derek Price  <derek@ximbiot.com>
65162
65163         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
65164         possible.
65165
65166 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65167             Bruno Haible  <bruno@clisp.org>
65168
65169         * modules/inet_ntop: New file.
65170         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65171         inet_ntop.
65172
65173 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65174             Bruno Haible  <bruno@clisp.org>
65175
65176         * m4/inet_ntop.m4: New file.
65177
65178 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65179             Bruno Haible  <bruno@clisp.org>
65180
65181         * lib/inet_ntop.h: New file.
65182         * lib/inet_ntop.c: New file, from glibc with modifications.
65183
65184 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
65185
65186         * modules/time_r (License): Change to LGPL.
65187         * modules/extensions (License): Change to LGPL.  Actually,
65188         the license is more permissive than that, but currently gnulib-tool
65189         doesn't know how to handle more-permissive licenses.
65190
65191         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
65192         Problem reported by Dave Love.
65193
65194 2005-05-08  Jim Meyering  <jim@meyering.net>
65195
65196         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
65197         blank.
65198
65199 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
65200
65201         * modules/argmatch (Depends-on): Add stdbool.
65202         * modules/backupfile (Depends-on): Likewise.
65203         * modules/chdir-long (Depends-on): Likewise.
65204         * modules/closeout (Depends-on): Likewise.
65205         * modules/cycle-check (Depends-on): Likewise.
65206         * modules/dirname (Depends-on): Likewise.
65207         * modules/fnmatch (Depends-on): Likewise.
65208         * modules/fsusage (Depends-on): Likewise.
65209         * modules/fwriteerror (Depends-on): Likewise.
65210         * modules/getcwd (Depends-on): Likewise.
65211         * modules/getloadavg (Depends-on): Likewise.
65212         * modules/hard-locale (Depends-on): Likewise.
65213         * modules/makepath (Depends-on): Likewise.
65214         * modules/mountlist (Depends-on): Likewise.
65215         * modules/nanosleep (Depends-on): Likewise.
65216         * modules/posixtm (Depends-on): Likewise.
65217         * modules/quotearg (Depends-on): Likewise.
65218         * modules/readtokens (Depends-on): Likewise.
65219         * modules/readtokens0 (Depends-on): Likewise.
65220         * modules/readutmp (Depends-on): Likewise.
65221         * modules/save-cwd (Depends-on): Likewise.
65222         * modules/strftime (Depends-on): Likewise.
65223         * modules/userspec (Depends-on): Likewise.
65224         * modules/utimecmp (Depends-on): Likewise.
65225         * modules/xgetcwd (Depends-on): Likewise.
65226         * modules/xnanosleep (Depends-on): Likewise.
65227         * modules/xstrtod (Depends-on): Likewise.
65228         * modules/yesno (Depends-on): Likewise.
65229
65230 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
65233         needless checks.
65234
65235 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65236
65237         Merge from coreutils.  Among other things,
65238         add bulletproofing for cases where stdin, stdout, or stderr are closed.
65239         * lib/fd-safer.c: New file.
65240         * lib/fcntl-safer.h, open-safer.c: Remove.
65241         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
65242         * lib/dup-safer.c: Include unistd-safer.h first.
65243         Don't include errno.h.
65244         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
65245         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
65246         * lib/file-type.c: Rely on file-type.h change.
65247         * lib/getloadavg.c: Include unistd-safer.h.
65248         (getloadavg): Use safer open.
65249         * lib/getusershell.c: Include "stdio-safer.h".
65250         (getusershell): Use safer fopen.
65251         * lib/long-options.c (long_options): Use NULL rather than 0.
65252         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
65253         'free'.
65254         * lib/modechange.c: Likewise.
65255         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
65256         (MODE_DONE): New constant.
65257         (struct mode_change): Remove 'next' member.
65258         (make_node_op_equals): New function; like the old one of the
65259         same name, except it allocates an array.
65260         (mode_compile, mode_create_from_ref): Use it.
65261         (mode_compile): Allocate result as an array, not a linked list.
65262         Parse octal string ourself, so that we catch mistakes like "+0".
65263         (mode_adjust): Arg is an array, not a linked list.
65264         * lib/modechange.c: Include stat-macros.h, xalloc.h.
65265         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
65266         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
65267         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
65268         Remove.  This is now stat-macros.h's job.
65269         (talloc): Remove.  All callers replaced by xalloc, so that
65270         our invokers don't have to worry about reporting memory failures.
65271         (make_node_op_equals): Remove.
65272         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65273         New constants.
65274         (struct mode_change): Moved here from modechange.h.
65275         (mode_append_entry): Remove.
65276         (mode_compile): Remove MASKED_OPS arg, since it encouraged
65277         apps to have incorrect behavior.  Use simpler algorithm for head
65278         and tail.  Don't futz with umask; that's now the job of mode_adjust.
65279         Detect more invalid usages rather than having somewhat-random behavior.
65280         Don't insert an "a=" action, as that leads to incorrect behavior.
65281         (mode_compile, mode_create_from_ref): Return NULL on error instead
65282         of an enum, since now there's only one way to have an error.  All
65283         callers changed.
65284         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
65285         at the correct time.  Simplify calculation of "+u" and its ilk.
65286         Don't mishandle "+X".
65287         (mode_free): Remove "register" and localize decls.
65288         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
65289         (struct mode_change): Move to modechange.c; callers don't
65290         need to see this stuff.
65291         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
65292         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
65293         (mode_change, mode_adjust): Reflect the new signatures noted above.
65294         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
65295         that might redefine system include files.
65296         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
65297         (my_usleep): Use NULL rather than (void *) 0.
65298         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
65299         Use siginterrupt to specify that system calls should be interrupted.
65300         (rpl_nanosleep): Move initialization of suspended closer to call of
65301         my_usleep.
65302         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
65303         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
65304         (desirable_utmp_entry): New function.
65305         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
65306         using x2nrealloc, to simplify logic.
65307         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
65308         size calculation.  Do not assume utmp file is a regular file.
65309         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
65310         (READ_UTMP_CHECK_PIDS): New constant.
65311         * lib/save-cwd.c: Include unistd-safer.h.
65312         (save_cwd): Use fd_safer.
65313         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
65314         [!_LIBC] Include "stat-macros.h" instead.
65315         * lib/unistd-safer.h (fd_safer): New decl.
65316
65317 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65318
65319         * modules/getloadavg (Depends-on): Add unistd-safer.
65320         * modules/getusershell (Depends-on): Add stdio-safer.
65321         * modules/lstat (Depends-on): Remove xalloc.
65322         * modules/mkstemp (Depends-on): Add stat-macros.
65323         * modules/modechange (Depends-on): Remove xstrtol.
65324         Add stat-macros, xalloc.
65325         * modules/save-cwd (Depends-on): Add unistd-safer.
65326         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
65327         * modules/unistd-safer (Files): Add lib/fd-safer.c
65328         (Makefile.am): Remove lib_SOURCES.
65329
65330         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
65331         Remove fcntl-safer; unistd-safer supersedes it.
65332
65333 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65334
65335         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
65336         AC_HEADER_STAT.
65337         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
65338         (gl_PREREQ_CHOWN): Remove.
65339         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
65340         it.  Don't require AC_HEADER_STAT.
65341         (gl_PREREQ_LSTAT): Remove.
65342         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
65343         Don't require AC_HEADER_STAT.
65344         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
65345         (gl_PREREQ_RMDIR): Remove.
65346         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
65347         mention stat-macros.h or AC_HEADER_STAT, since we'll make
65348         the stat-macros module a prerequisite.
65349         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
65350         * m4/filemode.m4 (gl_FILEMODE): Likewise.
65351         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
65352         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
65353         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
65354         variable names.
65355         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
65356         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
65357         variable prefixes.
65358         * m4/fcntl-safer.m4: Remove.
65359         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
65360         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
65361         Invoke gl_PREREQ_FD_SAFER.
65362         (gl_PREREQ_FD_SAFER): New macro.
65363         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
65364         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
65365         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
65366         Remove duplicate call to AC_LIBOBJ(readutmp).
65367         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
65368
65369         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
65370         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
65371
65372 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
65373
65374         * MODULES.html.sh (Misc): Add byteswap.
65375
65376 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65377
65378         * modules/getcwd (Depends-on): Add extensions.
65379         * modules/openat (Depends-on): Likewise.
65380
65381 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65382
65383         * modules/byteswap: New file.
65384
65385 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65386
65387         * m4/byteswap.m4: New file.
65388
65389 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
65390
65391         * lib/byteswap_.h: New file.
65392
65393 2005-04-25  Karl Berry  <karl@gnu.org>
65394
65395         * m4/gettext.m4: Update from GNU gettext 0.14.4.
65396
65397 2005-04-25  Albert Chin  <china@thewrittenword.com>
65398
65399         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
65400         Toolkit C bug.
65401
65402 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
65403
65404         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
65405         (func_ln_if_changed) Remove forcibly for no error message
65406         in case file does not exist.
65407
65408 2005-04-19  Simon Josefsson  <jas@extundo.com>
65409
65410         * gnulib-tool (Options): Make --symlink mean --symbolic.
65411
65412 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
65413
65414         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
65415
65416 2005-04-16  Simon Josefsson  <jas@extundo.com>
65417
65418         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
65419
65420 2005-04-15  Simon Josefsson  <jas@extundo.com>
65421
65422         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
65423
65424 2005-04-15  Simon Josefsson  <jas@extundo.com>
65425
65426         * gnulib-tool: Rename --symlink to --symbolic.
65427
65428 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
65429
65430         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
65431         symbolic links to files instead of copying/moving.  Add --aux-dir,
65432         specifying directory relative --dir where auxiliary build tools
65433         are placed.
65434
65435 2005-04-14  Bruno Haible  <bruno@clisp.org>
65436
65437         * modules/allocsa (License): Change to LGPL.
65438         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
65439
65440 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65441
65442         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
65443         that "UTC +1 second" continues to work.  Problem reported
65444         by Dmitry V. Levin.
65445         (relunit_snumber): New rule.
65446         (relunit): Use it.
65447
65448 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
65449
65450         * lib/getdate.y (universal_time_zone_table): New constant.
65451         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
65452         universal_time_zone_table.
65453         (lookup_zone): Prefer universal_time_zone_table to
65454         local_time_zone_table, so that "GMT" time stamps are allowed in
65455         London during the summer.  Problem reported by Ian Abbott.
65456
65457 2005-04-12  Jim Meyering  <jim@meyering.net>
65458
65459         * lib/human.c (humblock): Set *options even when returning due to
65460         xstrtoumax conversion failure.  Thanks to a used-uninitialized
65461         warning from gcc-4.
65462
65463 2005-04-09  Jim Meyering  <jim@meyering.net>
65464
65465         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
65466         -Wuninitialized: initialize tm0.tm_year.
65467
65468 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
65469
65470         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
65471         count, since there's no maximum.  All uses changed.
65472         Add member dsts_seen.
65473         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
65474         not being INT_MAX.
65475         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
65476         Use pc_rels_seen to decide whther a date is absolute.
65477
65478         * lib/getdate.y (number): Don't overwrite year.
65479         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
65480         check.
65481
65482 2005-04-02  Simon Josefsson  <jas@extundo.com>
65483
65484         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
65485         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
65486
65487 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
65488
65489         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
65490         where no absolute path name can be longer than PATH_MAX.
65491
65492 2005-03-27  Jim Meyering  <jim@meyering.net>
65493
65494         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
65495
65496 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
65497
65498         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
65499         "one's complement" -> "ones' complement" in comment, as per Knuth.
65500         "value of type" -> "type or expression" in comment.
65501         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
65502
65503 2005-03-26  Jim Meyering  <jim@meyering.net>
65504
65505         Comment nits.
65506         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
65507         Correct typos: s/or/of/.
65508
65509 2005-03-26  Jim Meyering  <jim@meyering.net>
65510
65511         * modules/check-include-files: Move to ../ and rename to...
65512         * check-module: ...this.
65513
65514 2005-03-25  Jim Meyering  <jim@meyering.net>
65515
65516         * modules/xvasprintf (Files): Add xalloc.h.
65517
65518 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65519
65520         * modules/gettext (Files): config/config.rpath ->
65521         build-aux/config.rpath
65522         * modules/iconv (Files): Likewise.
65523         Problem reported by Oskar Liljeblad.
65524
65525 2005-03-23  Jim Meyering  <jim@meyering.net>
65526
65527         * modules/check-include-files: New script to check for
65528         missing dependencies, multiple includes, etc.
65529
65530         * modules/c-strtold (Depends-on): Add xalloc.
65531         * modules/c-strtod (Depends-on): Add xalloc.
65532         * modules/hash (Depends-on): Add xalloc.
65533         (Files): Remove lib/xalloc.h.
65534
65535         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
65536         * modules/userspec (Files): Add lib/inttostr.h.
65537
65538 2005-03-23  Jim Meyering  <jim@meyering.net>
65539
65540         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
65541
65542 2005-03-22  Jim Meyering  <jim@meyering.net>
65543
65544         * modules/stat-macros: New module.
65545         * modules/canonicalize, modules/euidaccess, modules/file-type,
65546         * modules/filemode, modules/lchown, modules/makepath,
65547         * modules/rmdir, modules/stat: Depend on new stat-macros module
65548         rather than listing lib/stat-macros.h manually.
65549         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
65550
65551 2005-03-22  Jim Meyering  <jim@meyering.net>
65552
65553         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
65554
65555 2005-03-22  Bruno Haible  <bruno@clisp.org>
65556
65557         * config/srclist.txt: Replace target directory 'config' with
65558         'build-aux'.
65559         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
65560         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
65561         ../build-aux/.
65562
65563 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
65564
65565         * modules/chdir-long (Depends-on): Add mempcpy.
65566
65567         * modules/acl, modules/backupfile, modules/c-strtod,
65568         modules/c-strtold, modules/canon-host, modules/canonicalize,
65569         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
65570         modules/exclude, modules/exitfail, modules/file-type,
65571         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
65572         modules/getdate, modules/getline, modules/getpagesize,
65573         modules/getpass, modules/getugroups, modules/group-member,
65574         modules/hard-locale, modules/hash, modules/human, modules/idcache,
65575         modules/inttostr, modules/long-options, modules/makepath,
65576         modules/md5, modules/memcasecmp, modules/memcoll,
65577         modules/modechange, modules/mountlist, modules/path-concat,
65578         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
65579         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
65580         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
65581         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
65582         modules/strftime, modules/strndup, modules/strverscmp,
65583         modules/timespec, modules/unlocked-io, modules/userspec,
65584         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
65585         modules/yesno:
65586         Remove lib_SOURCES line from Makefile.am section, as this is now
65587         done automatically by the corresponding Autoconf macro.
65588
65589 2005-03-21  Jim Meyering  <jim@meyering.net>
65590
65591         Changes imported from coreutils.
65592
65593         * lib/cycle-check.c: Don't include xalloc.h.
65594
65595         * lib/path-concat.c: Don't include assert.h.
65596         (path_concat): Remove assertion that would have triggered
65597         for ABASE starting with more than one slash.
65598         Reported by Andreas Schwab.
65599
65600         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
65601         properly when ABASE is an absolute file name.
65602         Correct the description of this function.
65603         Include <assert.h>.
65604         Add an assertion and a test driver.
65605         This fixes a bug introduced on 2004-07-02.
65606         Andreas Schwab reported the resulting failure of cp --parents:
65607         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
65608
65609 2005-03-21  Jim Meyering  <jim@meyering.net>
65610
65611         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
65612         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
65613
65614 2005-03-21  Jim Meyering  <jim@meyering.net>
65615         and  Paul Eggert  <eggert@cs.ucla.edu>
65616
65617         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
65618         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
65619         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
65620         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
65621         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
65622         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
65623         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
65624         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
65625         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
65626         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
65627         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
65628         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
65629         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
65630         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
65631         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
65632         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
65633         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
65634         for these modules.
65635
65636 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
65637
65638         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
65639         (which shouldn't happen), generate nothing instead of returning 0
65640         immediately, so that nstrftime (NULL, ...) doesn't return 0.
65641
65642 2005-03-16  Bruno Haible  <bruno@clisp.org>
65643
65644         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
65645         HAVE_LONGLONG_64BIT.
65646
65647 2005-03-16  Bruno Haible  <bruno@clisp.org>
65648
65649         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
65650         HAVE_LONGLONG_64BIT.
65651
65652 2005-03-16  Bruno Haible  <bruno@clisp.org>
65653
65654         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
65655         HAVE_LONGLONG_64BIT.
65656
65657 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65658
65659         * lib/strftime.c (my_strftime): Prepend space to format so that we can
65660         reliably distinguish strftime failure from empty output on POSIX
65661         hosts.
65662
65663 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
65664
65665         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
65666         (iconv_string): Don't guess a size-zero buffer, as that might cause
65667         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
65668         result would be 'too large', where 'too large' is (heuristically)
65669         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
65670         overflow concerns.  This will prevent some unwanted malloc failures
65671         when the inputs are very large.
65672
65673 2005-03-15  Karl Berry  <karl@gnu.org>
65674
65675         * config/srclist.txt (config.rpath): from gettext.
65676         * config/config.rpath: update.
65677
65678 2005-03-15  Bruno Haible  <bruno@clisp.org>
65679
65680         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
65681         to 'negate'.
65682
65683         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
65684         variable.
65685
65686         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
65687         results.
65688
65689 2005-03-14  Simon Josefsson  <jas@extundo.com>
65690
65691         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
65692         <fx@gnu.org>.
65693
65694 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
65695
65696         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
65697         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
65698         intprops.h.
65699         * lib/strtol.c: Likewise.
65700
65701 2005-03-14  Jim Meyering  <jim@meyering.net>
65702
65703         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
65704         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
65705         to be nonzero so that we (and caller) can detect the difference
65706         between a valid zero-length expansion and an error return, even
65707         when the underlying strftime fails before writing anything into
65708         that location.
65709
65710 2005-03-14  Bruno Haible  <bruno@clisp.org>
65711
65712         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
65713         Update from GNU gettext 0.14.3.
65714
65715 2005-03-10  Jim Meyering  <jim@meyering.net>
65716
65717         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
65718
65719 2005-03-10  Jim Meyering  <jim@meyering.net>
65720
65721         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
65722         so that this module works on systems without fchdir.
65723
65724 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
65725
65726         Factor int-properties macros into a single file, except for
65727         glibc-related files.
65728         * lib/intprops.h: New file.
65729         * lib/getloadavg.c: Include it instead of limits.h.
65730         (INT_STRLEN_BOUND): Remove.
65731         * lib/human.c: Include intprops.h.
65732         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
65733         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
65734         302/1000.
65735         * lib/inttostr.h: Include intprops.h instead of limits.h.
65736         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
65737         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
65738         for consistency with intprops.h.
65739         (time_t_is_integer, twos_complement_arithmetic): Use them.
65740         * lib/sig2str.h: Include <signal.h>, intprops.h.
65741         (INT_STRLEN_BOUND): Remove.
65742         * lib/strftime.c (TYPE_SIGNED): Remove.
65743         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
65744         * lib/strtol.c: Adjust comments to match intprops.h.
65745         * lib/userspec.c: Include intprops.h.
65746         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
65747         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
65748         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
65749         instead of rolling our own expressions.
65750         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
65751
65752         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
65753         instead of int.
65754         (my_strftime): Do not mishandle years close to INT_MAX, by doing
65755         the right thing even if adding 1900 would overflow.  Similarly
65756         for tm_mon + 1 and tm_yday + 1.
65757         Make %Y always equivalent to %C%y, and similarly for %G and %g.
65758         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
65759         (DO_SIGNED_NUMBER): New macro.
65760         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
65761
65762 2005-03-07  Bruno Haible  <bruno@clisp.org>
65763
65764         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
65765
65766 2005-03-07  Bruno Haible  <bruno@clisp.org>
65767
65768         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
65769
65770 2005-03-04  Derek R. Price  <derek@ximbiot.com>
65771
65772         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
65773         (func_import): Only replace files via --import when they have actually
65774         changed.
65775
65776 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65777
65778         * m4/mmap-anon.m4: New file.
65779         * m4/pagealign_alloc.m4: New file.
65780
65781 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65782             Bruno Haible  <bruno@clisp.org>
65783
65784         * modules/pagealign_alloc: New file.
65785         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
65786
65787 2005-03-03  Derek R. Price  <derek@ximbiot.com>
65788             Bruno Haible  <bruno@clisp.org>
65789
65790         * lib/pagealign_alloc.h: New file.
65791         * lib/pagealign_alloc.c: New file.
65792
65793 2005-03-03  Bruno Haible  <bruno@clisp.org>
65794
65795         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
65796         Use an all-permissive copyright notice, recommended by RMS.
65797
65798 2005-03-02  Bruno Haible  <bruno@clisp.org>
65799
65800         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
65801         of AIX, the replacement has to be done only after <string.h> is
65802         included, therefore not in config.h. stpncpy.h does the replacement,
65803         and stpncpy.c uses it.
65804
65805 2005-03-02  Bruno Haible  <bruno@clisp.org>
65806
65807         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
65808         stpncpy.c uses it.
65809
65810 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65811
65812         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
65813         The workaround isn't strictly needed for POSIX conformance, and
65814         it's too much of a pain to configure and maintain.  We'll ask
65815         people to fix their kernels instead.
65816         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
65817         (NANOSLEEP_BUG_WORKAROUND): Remove.
65818         (xnanosleep): Remove the workaround.
65819
65820 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65821
65822         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
65823         Reported by Derek Price.
65824         (Include): Add "timespec.h".
65825
65826         * modules/xnanosleep (Depends-on): Remove gethrxtime.
65827
65828 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65829
65830         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
65831         to detect nanosleep bug.
65832
65833 2005-03-01  Bruno Haible  <bruno@clisp.org>
65834
65835         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
65836
65837 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
65838
65839         * modules/gethrxtime: New file.
65840         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
65841         (Depends-on): Add gethrxtime.
65842         (configure.ac): Add gl_XNANOSLEEP.
65843         (Makefile.am): Remove lib_SOURCES line.
65844
65845 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65846
65847         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
65848         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
65849
65850 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
65851
65852         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
65853         * lib/timespec.h (gettime): Return void, since it always
65854         succeeds now.  All uses changed.
65855         * lib/gettime.c (gettime) Likewise.
65856         [HAVE_NANOTIME]: Prefer nanotime.
65857         Assume gettimeofday succeeds, as POSIX requires.
65858         Assime time () succeeds, since other code already does.
65859         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
65860         (timespec_subtract): Remove.
65861         (NANOSLEEP_BUG_WORKAROUND): New constant.
65862         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
65863         things considerably.  Use it only on GNU/Linux hosts, since the
65864         workaround shouldn't be needed elsewhere.
65865
65866 2005-02-24  Bruno Haible  <bruno@clisp.org>
65867
65868         * modules/gettext (Files): Add m4/glibc2.m4.
65869
65870 2005-02-24  Bruno Haible  <bruno@clisp.org>
65871
65872         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
65873         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
65874         * m4/progtest.m4:
65875         Update from GNU gettext 0.14.2.
65876         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
65877
65878 2005-02-24  Bruno Haible  <bruno@clisp.org>
65879
65880         * lib/localcharset.c: Update from GNU gettext 0.14.2.
65881         * lib/config.charset: Update from GNU gettext 0.14.2.
65882
65883 2005-02-24  Bruno Haible  <bruno@clisp.org>
65884
65885         * lib/gettext.h: Update from GNU gettext 0.14.2.
65886
65887 2005-02-23  Simon Josefsson  <jas@extundo.com>
65888
65889         * m4/iconvme.m4: New file.
65890
65891 2005-02-23  Jim Meyering  <jim@meyering.net>
65892
65893         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
65894         change.
65895         Thanks to Bruno Haible for catching it.
65896
65897 2005-02-22  Simon Josefsson  <jas@extundo.com>
65898
65899         * modules/iconvme: New file.
65900
65901         * MODULES.html.sh: Add iconvme.
65902
65903 2005-02-22  Simon Josefsson  <jas@extundo.com>
65904
65905         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
65906
65907 2005-02-22  Simon Josefsson  <jas@extundo.com>
65908
65909         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
65910
65911 2005-02-22  Jim Meyering  <jim@meyering.net>
65912
65913         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
65914         s/ifndef/ifdef/.
65915
65916 2005-02-20  Neil Conway  <neilc@samurai.com>
65917
65918         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
65919         returned by OSX/Darwin if the specified buffer is not large
65920         enough for the hostname.
65921
65922 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65923
65924         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
65925         pass it to _help, otherwise the latter coredumps trying to
65926         dereference state.root_argp.
65927
65928 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65929
65930         * modules/chdir-long (Depends-on): Add memrchr.
65931         * modules/memrchr (Files): Add lib/memrchr.h.
65932         (Include): "memrchr.h".
65933
65934 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65935
65936         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
65937
65938 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
65939
65940         * lib/memrchr.h: New file.
65941         * lib/chdir-long.c: Include it.
65942         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
65943         Don't bother including stddef.h.
65944
65945 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65946
65947         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
65948         inclusion.
65949         Include <sys/types.h>, for dev_t.
65950         (ME_DUMMY, ME_REMOTE): Move from here....
65951         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
65952         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
65953         Dmitry V. Levin.
65954         Include mountlist.h first, to test the interface.
65955
65956 2005-01-29  Bruno Haible  <bruno@clisp.org>
65957
65958         * lib/progname.c (program_name): Initialize.
65959         Needed when linking statically on MacOS X.
65960
65961 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65962
65963         Sync from coreutils.
65964         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
65965         (Depends-on): Add c-strtod.
65966         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
65967
65968 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65969
65970         Sync from coreutils.
65971         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
65972
65973         Remove files that are specific to coreutils.
65974         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
65975
65976 2005-01-28  Bruno Haible  <bruno@clisp.org>
65977
65978         * modules/javacomp: New file.
65979         * MODULES.html.sh (Java): Add javacomp.
65980
65981 2005-01-28  Bruno Haible  <bruno@clisp.org>
65982
65983         * m4/javacomp.m4: New file, from GNU gettext.
65984
65985 2005-01-28  Bruno Haible  <bruno@clisp.org>
65986
65987         * lib/javacomp.sh.in: New file, from GNU gettext.
65988         * lib/javacomp.h: New file, from GNU gettext.
65989         * lib/javacomp.c: New file, from GNU gettext.
65990
65991 2005-01-26  Simon Josefsson  <jas@extundo.com>
65992
65993         * lib/gai_strerror.c: Use GPL in header.
65994
65995 2005-01-26  Bruno Haible  <bruno@clisp.org>
65996
65997         * modules/javaexec: New file.
65998         * MODULES.html.sh (Java): Add javaexec.
65999
66000 2005-01-26  Bruno Haible  <bruno@clisp.org>
66001
66002         * m4/javaexec.m4: New file, from GNU gettext.
66003
66004 2005-01-26  Bruno Haible  <bruno@clisp.org>
66005
66006         * lib/javaexec.sh.in: New file, from GNU gettext.
66007         * lib/javaexec.h: New file, from GNU gettext.
66008         * lib/javaexec.c: New file, from GNU gettext.
66009
66010 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66011
66012         * modules/lchown (Depends-on): Remove lchown.h
66013
66014 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66015
66016         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
66017         must be defined if the header file was not found, in order
66018         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
66019
66020 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66021
66022         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
66023         initializers for struct pentry_state.
66024         (__argp_error): Check return value of __asprintf
66025         (__argp_failure): Translate error message
66026
66027         * lib/argp-parse.c: Removed braces around the expansion of N_()
66028
66029 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66030
66031         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
66032         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
66033         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
66034         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
66035         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
66036         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
66037         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
66038         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
66039         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
66040         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
66041         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
66042         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
66043         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
66044         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
66045         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
66046         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
66047         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
66048         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
66049         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
66050         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
66051         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
66052         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
66053         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
66054         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
66055         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
66056         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
66057         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
66058         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
66059         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
66060         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
66061         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
66062         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
66063         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
66064         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
66065         xstrtol.m4, xstrtoumax.m4, yesno.m4:
66066         Use an all-permissive copyright notice, recommended by RMS.
66067
66068 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
66069
66070         * modules/chdir-long (Depends-on): Remove mempcpy.
66071
66072 2005-01-21  Jim Meyering  <jim@meyering.net>
66073
66074         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
66075         same value as for Solaris 9.
66076
66077         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
66078         component length.  This included changing the parameter to be
66079         of type `char *' rather than `char const *'.
66080         * lib/chdir-long.h (chdir_long): Update prototype.
66081
66082         * lib/openat.c (fdopendir, fstatat): New functions.
66083         * lib/openat.h: Include headers required for use of DIR and struct
66084         stat.
66085         [AT_SYMLINK_NOFOLLOW]: Define.
66086         (fdopendir, fstatat): Add prototypes.
66087
66088 2005-01-21  Bruno Haible  <bruno@clisp.org>
66089
66090         * modules/classpath: New file.
66091         * MODULES.html.sh (Java): Add classpath.
66092
66093 2005-01-21  Bruno Haible  <bruno@clisp.org>
66094
66095         * lib/classpath.h: New file, from GNU gettext.
66096         * lib/classpath.c: New file, from GNU gettext.
66097
66098 2005-01-20  Simon Josefsson  <jas@extundo.com>
66099
66100         * modules/version-etc-fsf: New file.
66101
66102 2005-01-20  Simon Josefsson  <jas@extundo.com>
66103
66104         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
66105         * lib/version-etc.c: Remove version_etc_copyright.
66106         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
66107         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
66108
66109 2005-01-20  Simon Josefsson  <jas@extundo.com>
66110
66111         * lib/base64.h (isbase64): Add.
66112
66113         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
66114         using a unsigned prototype, don't inline.
66115         (base64_decode): Use it.
66116
66117 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66118
66119         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
66120         it.
66121
66122 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66123
66124         * lib/save-cwd.c (save_cwd): Remove code to support the case
66125         where fchdir is missing or flaky.
66126
66127 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66128
66129         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
66130
66131 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
66132
66133         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
66134         AC_LIBSOURCES now does this.
66135         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
66136         with new ullong_max module.
66137
66138 2005-01-19  Bruno Haible  <bruno@clisp.org>
66139
66140         * modules/sh-quote: New file.
66141         * MODULES.html.sh (Executing programs): Add sh-quote.
66142
66143 2005-01-19  Bruno Haible  <bruno@clisp.org>
66144
66145         * lib/sh-quote.h: New file, from GNU gettext.
66146         * lib/sh-quote.c: New file, from GNU gettext.
66147
66148 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66149
66150         Merge from coreutils.
66151         * m4/ullong_max.m4: New file.
66152         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
66153         (gl_MACROS): Assume localeconv exists.
66154
66155 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66156
66157         Merge changes from coreutils, as described below in several
66158         changelogs dated today.
66159
66160         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
66161         (O_DIRECTORY): Remove; not needed here, since "." must be
66162         a directory.  All uses removed.
66163         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
66164         universal on Suns, and we also need to test for IRIX.
66165         Revamp code to use 'if' rather than '#if'.
66166         Avoid unnecessary comparison of cwd->desc to 0.
66167
66168         * lib/utimens.c (futimens): Robustify the previous patch, by checking
66169         for known valid error numbers rather than observed invalid ones.
66170
66171 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
66172
66173         * modules/ullong_max: New file.
66174
66175         * modules/chdir-long, modules/openat: New files.
66176         * modules/save-cwd (Depends-on): Depend on chdir-long.
66177         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
66178
66179 2005-01-18  Jim Meyering  <jim@meyering.net>
66180
66181         Merge from coreutils.
66182         * m4/chdir-long.m4, m4/openat.m4: New files.
66183         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
66184         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
66185         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
66186         is sane and DOES follow symlinks.  Besides, testing 20 different
66187         systems found no broken chown implementations.
66188         Prompted by a change in rsync's copy of this macro.
66189         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
66190
66191         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
66192
66193         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
66194         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
66195         NULL-means-set-to-current-time semantics.
66196         Remove temporary file immediately, rather than waiting
66197         for configure's at-exit trap code to do it.
66198
66199 2005-01-18  Jim Meyering  <jim@meyering.net>
66200
66201         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66202
66203         * lib/utimens.c (futimens): Account for the fact that futimes
66204         can also fail with errno == ENOSYS or errno == ENOENT.
66205         Patch from Dmitry V. Levin.
66206
66207         Change the name of the robust chdir function from chdir to chdir_long.
66208         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
66209         (restore_cwd): Use chdir_long, not chdir.
66210         * lib/chdir-long.c: Renamed from chdir.c.
66211         * lib/chdir-long.h: Renamed from chdir.h.
66212         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
66213         Hurd.
66214
66215 2005-01-18  Bruno Haible  <bruno@clisp.org>
66216
66217         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
66218         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
66219         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
66220         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
66221         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
66222         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
66223         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
66224         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
66225         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
66226         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
66227         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
66228         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
66229         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
66230         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
66231         Use an all-permissive copyright notice, recommended by RMS.
66232
66233 2005-01-18  Bob Proulx  <bob@proulx.com>
66234
66235         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
66236         simplify offsetof() macro construct to avoid compile failure with
66237         native HP-UX 11.0 ANSI C compiler.
66238
66239 2005-01-17  Bruno Haible  <bruno@clisp.org>
66240
66241         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
66242         redundant because stpncpy.m4 takes care of it.
66243
66244 2005-01-17  Bruno Haible  <bruno@clisp.org>
66245
66246         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
66247
66248 2005-01-17  Bruno Haible  <bruno@clisp.org>
66249
66250         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
66251         used.
66252
66253 2005-01-17  Bruno Haible  <bruno@clisp.org>
66254
66255         * lib/fwriteerror.h (fwriteerror): Change specification to include
66256         fclose.
66257         * lib/fwriteerror.c: Include <stdbool.h>.
66258         (fwriteerror): At the end, close the file stream. Record whether
66259         stdout was already closed.
66260
66261 2005-01-17  Bruno Haible  <bruno@clisp.org>
66262
66263         * lib/execute.c (environ): Declare if needed.
66264         * lib/pipe.c (environ): Likewise.
66265         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
66266
66267 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66268
66269         * modules/argp: Depend on vsnprintf
66270
66271 2005-01-10  Jim Meyering  <jim@meyering.net>
66272
66273         * modules/closeout (Depends-on): Add atexit.
66274
66275 2005-01-06  Bruno Haible  <bruno@clisp.org>
66276
66277         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
66278
66279 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66280
66281         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
66282         definitions to be after all include files, to avoid collisions.
66283         Problem reported by Bob Proulx.
66284
66285 2005-01-04  Jim Meyering  <jim@meyering.net>
66286
66287         Changes imported from coreutils.
66288         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
66289         as the mkstemp template, use a temporary directory and an
66290         8.3-friendly template to avoid trouble on systems like DJGPP.
66291         Reported by Juan M. Guerrero via Stepan Kasal.
66292         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
66293         close. Remove the temporary directory right away, rather than waiting
66294         for configure's at-exit trap code to do it.
66295         Suggestion from Stepan Kasal.
66296
66297 2005-01-01  Simon Josefsson  <jas@extundo.com>
66298
66299         * gnulib-tool: Print #include directives when --import'ing.
66300
66301 2004-12-28  Simon Josefsson  <jas@extundo.com>
66302
66303         * tests/test-base64.c: Include required header files.  Remove
66304         unused variables.
66305
66306 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66307
66308         * modules/error (Depends-on): Remove gettext.
66309
66310 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66311
66312         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
66313         not needed.  This removes a dependency on the gettext module.
66314         [defined _LIBC]: Do not include <libintl.h>; not needed.
66315
66316 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66317
66318         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
66319         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
66320
66321 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
66322
66323         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
66324         HAVE_DECL_STRTOLD.
66325
66326 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66327
66328         * modules/getdate (Depends-on): Remove alloca-opt.
66329
66330 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
66333
66334 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66335
66336         * lib/argp-parse.c: Include <stddef.h>.
66337         (alignof, alignto): New macros.
66338         (parser_init): Don't assume that void * is aligned sufficiently
66339         for struct option.
66340
66341         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
66342         need to extend the stack.
66343         (YYINITDEPTH): New macro, so that the initial stack isn't overly
66344         large.
66345
66346 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66347
66348         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
66349
66350 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66351
66352         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
66353         (2004-10-24) change.  Apparently this was a false alarm.
66354
66355         * modules/getdate: Depend on alloca-opt, not alloca.
66356
66357 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
66358
66359         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
66360         Remove now-obsolete comment about AIX.
66361         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
66362         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
66363         (YYMAXDEPTH): New macro.
66364
66365 2004-12-18  Simon Josefsson  <jas@extundo.com>
66366
66367         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
66368
66369 2004-12-18  Bruno Haible  <bruno@clisp.org>
66370
66371         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
66372
66373 2004-12-18  Bruno Haible  <bruno@clisp.org>
66374
66375         * lib/fatal-signal.c (fatal_signals): Make non-const.
66376         (init_fatal_signals): New function.
66377         (uninstall_handlers, install_handlers): Ignore signals that were set to
66378         SIG_IGN.
66379         (at_fatal_signal): Call init_fatal_signals.
66380         (init_fatal_signal_set): Likewise. Ignore signals that were set to
66381         SIG_IGN.
66382         Reported by Paul Eggert.
66383
66384 2004-12-18  Bruno Haible  <bruno@clisp.org>
66385
66386         * doc/alloca.texi: New file.
66387         * doc/alloca-opt.texi: New file.
66388
66389 2004-12-17  Jim Meyering  <jim@meyering.net>
66390
66391         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
66392         Otherwise, install-sh could exit with improper exit status when
66393         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
66394
66395 2004-12-16  Simon Josefsson  <jas@extundo.com>
66396
66397         * tests/test-base64.c: Add license.
66398
66399 2004-12-15  Stepan Kasal  <address@hidden>
66400
66401         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
66402
66403 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
66404
66405         * modules/getcwd (Files): Add m4/d-ino.m4.
66406         Suggested by Mark D. Baushke.
66407
66408 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66409
66410         * lib/getdate.y (textint): New member "negative".
66411         (time_zone_hhmm): New function.
66412         Expect 14 shift-reduce conflicts, not 13.
66413         (o_colon_minutes): New rule.
66414         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
66415         (yylex): Set the "negative" member of signed numbers.
66416
66417 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66418
66419         * doc/getdate.texi (Time of day items, Time zone items):
66420         Describe new formats +00:00, UTC+00:00.
66421
66422 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
66423
66424         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
66425         spurious "-l"s.  Problem reported by Stepan Kasal.
66426
66427 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
66428
66429         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
66430         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
66431
66432 2004-12-04  Simon Josefsson  <jas@extundo.com>
66433
66434         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
66435         Vandoorselaere <yoann@prelude-ids.org>.
66436
66437 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66438
66439         Changes imported from coreutils.
66440         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
66441         exist.
66442         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
66443
66444 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66445
66446         Changes imported from coreutils.
66447         * lib/hard-locale.c: Assume <locale.h> exists.
66448         Include "strdup.h".
66449         (GLIBC_VERSION): New macro.
66450         (hard_locale): Assume setlocale exists.
66451         Rewrite to avoid #ifdef.
66452         Use strdup rather than malloc + strcpy.
66453         * lib/human.c: Assume <locale.h> exists.
66454         (human_readable): Assume localeconv exists.
66455
66456 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
66457
66458         * modules/hard-locale (Depends-on): Add strdup.
66459
66460 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
66461
66462         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
66463         convert T2, not T.  (Imported from libc.)
66464
66465 2004-11-30  Simon Josefsson  <jas@extundo.com>
66466
66467         * modules/restrict (License): Change to LGPL.
66468
66469 2004-11-30  Simon Josefsson  <jas@extundo.com>
66470
66471         * m4/restrict.m4: Add copyright and copying conditions.
66472
66473 2004-11-30  Simon Josefsson  <jas@extundo.com>
66474
66475         * m4/base64.m4: New file.
66476
66477 2004-11-30  Simon Josefsson  <jas@extundo.com>
66478
66479         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
66480         base64.
66481
66482         * tests/test-base64.c: New file.
66483
66484         * modules/base64: New file.
66485
66486 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66487
66488         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
66489         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
66490
66491         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
66492
66493 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
66494
66495         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
66496         (__getcwd.c): Don't restore errno; glibc doesn't.
66497         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
66498         first, falling back to our code only if its results look suspicious.
66499         Ensure that the resulting buffer is only as large as necessary.
66500
66501         * lib/readutmp.c: Include readutmp.h first.
66502         Include <errno.h>, since readutmp.h no longer does that.
66503         * lib/readutmp.h: Don't include <errno.h>,
66504         <sys/param.h>, <time.h>; not needed to establish interface.
66505         (errno): Remove decl.
66506         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
66507         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
66508         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
66509
66510 2004-11-28  Simon Josefsson  <jas@extundo.com>
66511
66512         * lib/base64.h, base64.c: New file.
66513
66514 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
66515
66516         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
66517
66518 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
66519
66520         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
66521         (Depends-on): Remove pathmax, same.  Add mempcpy.
66522         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
66523         (Makefile.am): Append getcwd.h to lib_SOURCES.
66524         (Include): Add getcwd.h.
66525         (Maintainer): Change from Jim Meyering to "all, glibc",
66526         since getdate now uses intended-for-glibc code.
66527         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
66528         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
66529
66530 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66531
66532         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
66533         HP's ANSI C compiler.
66534         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
66535         Declaring int functions causes warnings on some modern systems and
66536         shouldn't be needed to compile on ancient ones.
66537         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
66538         defined.
66539
66540         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
66541         with the following changes.
66542         (__set_errno): Parenthesize properly.
66543         Include <stdbool.h>.
66544         (MIN, MAX, MATCHING_INO): New macros.
66545         (__getcwd): Define with prototype, not K&R form.
66546         Use heuristics to allocate default buffer on stack if possible.
66547         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
66548         behavior, and to avoid the PATH_MAX limit when computing
66549         ../../../../...
66550         Use MATCHING_INO to compare inode number to file.
66551         Check for arithmetic overflow in size calculations.
66552         Fix bug in reallocation of dot array that caused getcwd to fail
66553         on directories nested deeper than 75.
66554         Be more careful about saving errno on error.
66555         Do not use realloc; use only free+malloc, as this is a bit
66556         more flexible and avoids a needless copy operation.
66557         Do not inspect st_dev and st_ino for symbolic links; POSIX
66558         doesn't specify the latter.
66559         Check for closedir errors.
66560         Avoid needless casts.
66561         Use "#ifdef weak_alias" around weak_alias, to be like other
66562         glibc code.
66563         The following changes to getcwd.c have effect only when used in
66564         gnulib; they have no effect inside glibc proper.
66565         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
66566         as alloca isn't used.
66567         (alloca, __alloca): Likewise.
66568         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
66569         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
66570         unconditionally, as gnulib assumes C89 or better.
66571         Do not include <sys/param.h>.
66572         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
66573         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
66574         better.
66575         (NULL) [!defined NULL]: Remove; we assume C89 or better.
66576         Include <dirent.h> in a way that is compatible with modern Autoconf.
66577         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
66578         New macros, if not already defined.
66579         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
66580         Use "_LIBC", not "defined _LIBC", for consistency.
66581         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
66582         a mempcpy module.
66583         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
66584         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
66585         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
66586         credit only to Jim Meyering and adjust the copyright dates.
66587         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
66588         <stdlib.h>, <unistd.h>, "pathmax.h".
66589         Instead, include "xgetcwd.h" (first) and "getcwd.h".
66590         (INITIAL_BUFFER_SIZE): Remove.
66591         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
66592
66593 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
66594
66595         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
66596         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
66597         Use the _ONCE methods, for efficiency.
66598         Check for fcntl.h.  In test program, include <errno.h>
66599         and <fcntl.h> if available.  Remove old K&R cruft from
66600         test program.  Check for common errors in GNU/Linux,
66601         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
66602         don't do AC_LIBOBJ, as that's getcwd.m4's job.
66603         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
66604         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
66605         name accordingly.
66606         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
66607         accommodate new getcwd.c.
66608         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
66609         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
66610         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
66611         that's all we need now.
66612
66613 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66614
66615         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
66616         argp-parse.c depends on getopt internals, that means we should
66617         always use our getopt, to be on the safe side.
66618         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
66619         order not to spoil the result of an eventual previous invocation
66620         of gl_GETOPT_SUBSTITUTE.
66621
66622 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66623
66624         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
66625         redefinition warnings. To avoid them, include the defines
66626         in `#if !defined __need_getopt ... #endif'. The only place
66627         where __getopt_argv_const is used is in definitions
66628         of getopt_long and getopt_long_only below, which are as well
66629         protected by `#ifndef __need_getopt'.
66630         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
66631         __need_getopt after including <stdio.h> and <unistd.h> These
66632         headers might have defined it.
66633
66634 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66635
66636         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
66637
66638 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
66639
66640         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
66641         (futimens): New function, which uses futimes if available.
66642         (futimens, utimens): Support timespec==NULL, with same semantics
66643         as utime and utimens.
66644         * lib/utimens.h (futimens): New decl.
66645
66646 2004-11-23  Jim Meyering  <jim@meyering.net>
66647
66648         * lib/getopt_.h: Remove trailing blanks.
66649
66650 2004-11-23  Jim Meyering  <jim@meyering.net>
66651
66652         * lib/__fpending.c: Add comment.
66653
66654 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
66655
66656         * modules/canonicalize (Depends-on): Add xreadlink.
66657         Problem reported by James Youngman.
66658
66659 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
66660
66661         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
66662         New macros.
66663         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
66664         optopt): Use them instead of invoking ## directly; otherwise, the
66665         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
66666
66667 2004-11-19  Bruno Haible  <bruno@clisp.org>
66668
66669         * lib/strtok_r.c: Move comments from here...
66670         * lib/strtok_r.h: ... to here.
66671
66672 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66673
66674         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
66675         implementations that mishandle size_t overflow.
66676
66677 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
66678
66679         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
66680         might fail.  Problem reported by Yoann Vandoorselaere.
66681         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
66682         implementations that mishandle size_t overflow.
66683
66684 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66685
66686         * modules/canon-host (Depends-on): Add strdup.
66687
66688 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66689
66690         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
66691
66692 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66693
66694         * lib/canon-host.c: Include "strdup.h".
66695         (canon_host): Use getaddrinfo if available, so that IPv6 works.
66696         Use strdup instead of malloc/strcpy to duplicate strings.
66697
66698         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
66699         (human_space_before_unit): New constant.
66700         * lib/human.c (human_readable): Support it.
66701
66702         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
66703         (xgetcwd): Set errno correctly when failing.
66704         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
66705         the failure is actually due to a PATH_MAX problem.
66706
66707         Further getopt changes to make it more likely that glibc will
66708         buy the changes back.
66709         * lib/getopt.c (POSIXLY_CORRECT): New constant.
66710         (getopt): Use it, so to preserve glibc semantic
66711         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
66712         when compiling for libc.
66713         * lib/getopt_.h (__getopt_argv_const): Bring it back.
66714         (getopt_long, getopt_long_only): Use it.
66715
66716         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66717         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
66718         (getopt): Argv is now char * const *, as per standard.
66719         (_getopt_internal_r, _getopt_internal): Argv is now char **,
66720         not char *__getopt_argv_const *.
66721         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66722         _getopt_long_only_r): Likewise.
66723         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
66724         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66725         _getopt_long_r, _getopt_long_only_r): Likewise.
66726         * lib/getopt_.h (__getopt_argv_const): Remove.
66727         (getopt): Argv is now char * const *, as per standard.
66728
66729         * lib/getdate.y (tORDINAL): New token.
66730         (day, relunit): Allow it for relative times.
66731         (relative_time_table): Use tORDINAL for ordinals.
66732
66733 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
66734
66735         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
66736         Document that "second" isn't allowed as an ordinal number.
66737
66738 2004-11-16  Jim Meyering  <jim@meyering.net>
66739
66740         * modules/closeout (Depends-on): Add fpending.
66741
66742 2004-11-15  Jim Meyering  <jim@meyering.net>
66743
66744         * lib/closeout.c: Include "__fpending.h" once again.
66745         Include <stdbool.h>.
66746         (close_stdout): Don't fail just because stdout was closed initially,
66747         since some programs don't write to stdout in the normal course of
66748         operation (other than --version and --help), and we don't want this
66749         function to make e.g. `touch file >&-' fail.
66750         But do fail if it was closed and someone has tried to write to it.
66751         E.g., `printf foo >&-' must fail.
66752
66753 2004-11-13  Jim Meyering  <jim@meyering.net>
66754
66755         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
66756
66757 2004-11-12  Simon Josefsson  <jas@extundo.com>
66758
66759         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
66760         small doc fix is still pending.
66761
66762 2004-11-11  Simon Josefsson  <jas@extundo.com>
66763
66764         * modules/strtok_r: New file.
66765
66766         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66767         strtok_r.
66768
66769 2004-11-11  Simon Josefsson  <jas@extundo.com>
66770
66771         * m4/strtok_r.m4: New file.
66772
66773         * m4/getopt.m4: Replace opterr.
66774
66775 2004-11-11  Simon Josefsson  <jas@extundo.com>
66776
66777         * lib/strtok_r.h, strtok_r.c: New file.
66778
66779 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66780
66781         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
66782         of replacing opterr, getopt, etc.  This should handle the
66783         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
66784
66785 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
66786
66787         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
66788         we can stop lying to compilers about the constness of argv when we
66789         are compiled outside glibc.
66790         (getopt, getopt_long, getopt_long_only): Use it.
66791         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
66792         _getopt_internal, getopt): Likewise.
66793         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
66794         _getopt_long_only_r): Likewise.
66795         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
66796         _getopt_long_r, _getopt_long_only_r): Likewise.
66797
66798         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
66799         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
66800         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
66801         the other external symbols.
66802         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
66803         declaration, since the above renaming now works around collisions.
66804
66805 2004-11-11  Jim Meyering  <jim@meyering.net>
66806
66807         * lib/linebreak.c: Remove trailing blanks.
66808         * lib/alloca_.h: Likewise.
66809         * lib/acosl.c: Likewise.
66810         * lib/euidaccess.c: Likewise.
66811         * lib/allocsa.h: Likewise.
66812
66813 2004-11-10  Simon Josefsson  <jas@extundo.com>
66814
66815         * m4/getaddrinfo.m4: New file.
66816
66817 2004-11-10  Simon Josefsson  <jas@extundo.com>
66818
66819         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
66820
66821 2004-11-10  Simon Josefsson  <jas@extundo.com>
66822
66823         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66824         getaddrinfo.
66825
66826         * modules/getaddrinfo: New file.
66827
66828 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66829
66830         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
66831
66832 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
66833
66834         * lib/mktime.c (SHR): New macro, which is a portable
66835         substitute for >> that should work even on Crays.
66836         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
66837         Problem reported by Mark D. Baushke in
66838         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
66839         * lib/getdate.y (SHR): Likewise.
66840         (tm_diff): Use it.
66841         * lib/strftime.c (SHR): Likewise.
66842         (tm_diff): Use it.
66843         * lib/quotearg.c (struct quoting_options): Use unsigned int for
66844         quote_these_too, so that right shifts are well defined.  All uses
66845         changed.
66846
66847 2004-11-10  Jim Meyering  <jim@meyering.net>
66848
66849         Ensure that no close failure goes unreported.
66850         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
66851         return early when it seems there's nothing to flush.
66852         Don't include __fpending.h.
66853
66854 2004-11-10  Jim Meyering  <jim@meyering.net>
66855
66856         * modules/closeout (Depends-on): Remove fpending.
66857
66858 2004-11-10  Jim Meyering  <jim@meyering.net>
66859
66860         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
66861
66862 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66863
66864         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
66865         gl_FUNC_STRFTIME.
66866         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
66867         and AC_REQUIRE when possible, to avoid duplicate checks.
66868         Check for <wchar.h>.
66869
66870 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
66871
66872         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
66873
66874 2004-11-09  Bruno Haible  <bruno@clisp.org>
66875
66876         * m4/sockpfaf.m4: New file.
66877
66878 2004-11-05  Bruno Haible  <bruno@clisp.org>
66879
66880         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
66881         Reported by Mark D. Baushke <mdb@cvshome.org>.
66882
66883 2004-11-04  Bruno Haible  <bruno@clisp.org>
66884
66885         2004-09-11  Bruno Haible  <bruno@clisp.org>
66886                 * allocsa.valgrind: New file.
66887         2004-02-06  Bruno Haible  <bruno@clisp.org>
66888                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
66889                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
66890                 Reported by Christopher Seip <chris.seip@hp.com>.
66891
66892 2004-11-04  Bruno Haible  <bruno@clisp.org>
66893
66894         * modules/allocsa (Files): Add lib/allocsa.valgrind.
66895         (Makefile.am): Distribute it.
66896
66897 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
66898
66899         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
66900         with errno == ERANGE if the buffer is too small.
66901         Problem reported by Mark D. Baushke.
66902
66903 2004-11-03  Albert Chin  <china@thewrittenword.com>
66904             Paul Eggert  <eggert@cs.ucla.edu>
66905
66906         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
66907         equivalent, substitute $ac_type for equivalent type rather than
66908         blindly using uint32_t *always* which won't work if uint32_t is not
66909         available.  Define _UINT32_T to work around typedef of uint32_t if
66910         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
66911         2.5.1.
66912
66913 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66914
66915         * m4/jm-macros.m4: Sync from coreutils.
66916         (gl_MACROS): Check for mbrlen, for pathchk.
66917         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
66918
66919 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66920
66921         * lib/xreadlink.c (MAXSIZE): New macro.
66922         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
66923         size does not exceed MAXSIZE.  Avoid cast.
66924         As suggested by Mark D. Baushke in
66925         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
66926         if readlink fails with buffer size just under MAXSIZE, try again
66927         with MAXSIZE.
66928
66929 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
66930
66931         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
66932
66933 2004-11-02  Derek R. Price  <derek@ximbiot.com>
66934         and  Paul Eggert  <eggert@cs.ucla.edu>
66935
66936         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
66937         (get_date): Overparenthesize to avoid GCC warning.
66938
66939 2004-11-02  Bruno Haible  <bruno@clisp.org>
66940
66941         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
66942         returns void.
66943
66944 2004-11-02  Bruno Haible  <bruno@clisp.org>
66945
66946         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
66947         function returns void.
66948
66949 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66950
66951         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
66952         fflush_unlocked, flockfile, funlockfile, funlockfile,
66953         fputs_unlocked, putc_unlocked.
66954
66955 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
66956
66957         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
66958         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
66959         already declared.
66960
66961 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66962
66963         * modules/getdate (Files): Add doc/getdate.texi.
66964         (Depends-on): Add setenv, xalloc.
66965
66966 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66967
66968         * lib/getdate.y: Add support for TZ="foo" within a date string.
66969         Fix some bugs near time_t boundaries.  Reject dates with
66970         out-of-range components, e.g., "Sept 31".
66971         Include <stdlib.h>, "setenv.h", "xalloc.h".
66972         (ISDIGIT_LOCALE): Remove; unused.
66973         Note that the TZ and time functions used here are not reentrant.
66974         (mktime_ok, get_tz): New functions.
66975         (TZBUFSIZE): New constant.
66976         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
66977         This requires that we sometimes generate our own TZ="XXX..." setting.
66978
66979 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
66980
66981         * doc/getdate.texi: New file, from coreutils with modifications for
66982         the new TZ parsing.
66983
66984 2004-10-27  Derek R. Price  <derek@ximbiot.com>
66985
66986         * lib/mktime.c (not_equal_tm): Remove redundant check.
66987
66988 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66989
66990         * modules/regex (lib_SOURCES): Add regex.c.
66991         Reported by James Youngman in
66992         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
66993
66994 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
66995
66996         * lib/getdate.y: Use Bison 1.875 features, and some minor
66997         code cleanups.  This change does not affect semantics.
66998         Don't include <stdlib.h>; no longer needed.
66999         Don't include unlocked-io.h; only the "#if TEST" code uses
67000         stdio, and performance isn't crucial there.
67001         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
67002         Bison 1.875 features as described below.
67003         All uses of "PC." replaced by "pc->".
67004         (YYSTYPE): Add a forward declaration.
67005         (yylex, yyerror): Use full prototypes in forward decls.
67006         Use "%pure-parser" rather than obsolescent "%pure_parser".
67007         Use %parse-param and %lex-param instead of obsolescent
67008         YYPARSE_PARAM and YYLEX_PARAM.
67009         (meridian_table, month_and_day_table, time_units_table,
67010         relative_time_table, time_zone_table, military_table,
67011         lookup_zone, lookup_word, get_date):
67012         Use NULL instead of 0 where appropriate.
67013         (to_hour): Avoid abort (), to avoid a dependency on
67014         stdlib.h.
67015         (yyerror, yylex): Now accepts parser_control * arg.
67016         (main) [TEST]: Use '\0' rather than 0 for char.
67017
67018 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67019
67020         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
67021
67022 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
67023
67024         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
67025         It's now the caller's responsibility to handle the case where
67026         !HAVE_GETPAGESIZE && !defined getpagesize.
67027
67028         * lib/mktime.c (leapyear): Arg is long int, not int.
67029
67030 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
67031
67032         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
67033
67034 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67035
67036         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
67037         missing.  Problem reported by James Youngman.
67038
67039 2004-10-16  Simon Josefsson  <jas@extundo.com>
67040
67041         * gnulib-tool: Fix comments.  Fix parse problem.
67042         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
67043
67044 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
67045
67046         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
67047         implementation of getopt_long.  Problem reported by Alexander Taler in:
67048         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
67049
67050 2004-10-15  Bruno Haible  <bruno@clisp.org>
67051
67052         * gnulib-tool: Untabify. Initialize supplied_libname.
67053         (func_usage): More homogenous output.
67054         (func_modules_transitive_closure, func_modules_to_filelist,
67055         func_emit_lib_Makefile_am): New functions.
67056         (func_import): New function, extracted from big case statement. Use
67057         func_get_license, func_modules_transitive_closure,
67058         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
67059         opt_lgpl. Don't use test -a, as it's not portable.
67060         (func_create_testdir): Use func_modules_transitive_closure,
67061         func_modules_to_filelist, func_emit_lib_Makefile_am.
67062
67063 2004-10-15  Bruno Haible  <bruno@clisp.org>
67064
67065         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
67066
67067 2004-10-15  Bruno Haible  <bruno@clisp.org>
67068
67069         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
67070         the portions belonging to each module.
67071         Suggested by Derek Robert Price <derek@ximbiot.com>.
67072
67073 2004-10-12  Simon Josefsson  <jas@extundo.com>
67074
67075         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
67076         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
67077         to real functions.
67078
67079 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67080
67081         * modules/vsnprintf: New file.
67082
67083 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67084
67085         * m4/vsnprintf.m4: New file.
67086
67087 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67088
67089         * lib/vsnprintf.h: New file.
67090         * lib/vsnprintf.c: New file.
67091
67092 2004-10-11  Bruno Haible  <bruno@clisp.org>
67093
67094         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
67095         vsnprintf.
67096
67097 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67098
67099         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
67100
67101 2004-10-07  Bruno Haible  <bruno@clisp.org>
67102
67103         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
67104         fits into the provided buffer.
67105
67106 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67107
67108         * lib/diacrit.c, diacrit.h: Add GPL notice.
67109
67110         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
67111         notice.
67112         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
67113         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
67114         This avoids a potential constant-folding bug.
67115
67116 2004-10-05  Bruno Haible  <bruno@clisp.org>
67117
67118         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
67119         for the declaration of strsep.
67120
67121 2004-10-05  Bruno Haible  <bruno@clisp.org>
67122
67123         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
67124
67125 2004-10-04  Simon Josefsson  <jas@extundo.com>
67126
67127         * modules/memmem: New file.
67128         * tests/test-memmem.c: New file.
67129         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
67130
67131 2004-10-04  Simon Josefsson  <jas@extundo.com>
67132
67133         * m4/memmem.m4: New file.
67134
67135 2004-10-04  Simon Josefsson  <jas@extundo.com>
67136
67137         * lib/memmem.h: New file.
67138         * lib/memmem.c: New file, taken from glibc.
67139
67140 2004-10-04  Simon Josefsson  <jas@extundo.com>
67141
67142         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
67143         '#ifdef USE_UNLOCKED_IO'.
67144
67145 2004-10-04  Simon Josefsson  <jas@extundo.com>
67146
67147         * config/srclist.txt: Add memmem from glibc.
67148
67149 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67150
67151         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
67152
67153         * modules/argmatch, modules/argp, modules/closeout, modules/error,
67154         modules/exclude, modules/getdate, modules/getline,
67155         modules/getndelim2, modules/getpass, modules/getpass-gnu,
67156         modules/getusershell, modules/linebuffer, modules/md5,
67157         modules/mountlist, modules/posixtm, modules/readtokens,
67158         modules/readutmp, modules/regex, modules/sha1,
67159         modules/version-etc, modules/yesno:
67160         Remove dependency on unlocked-io.
67161
67162 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67163
67164         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
67165
67166         * m4/unlocked-io.m4: Add copyright notice.
67167         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
67168
67169 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67170
67171         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
67172         * lib/xmalloc.c (xmemdup): Likewise.
67173         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
67174         XFREE): Remove these long-obsolescent macros.
67175         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
67176         * lib/xstrdup.c: Remove.
67177
67178         * lib/regex.c (re_comp): Cast gettext return value to char *,
67179         Problem reported by Martin Neitzel via Mark D. Baushke.
67180
67181 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
67182
67183         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
67184         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
67185         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
67186         regex.c, sha1.c, version-etc.c, yesno.c:
67187         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
67188         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
67189         the includer's responsibility.
67190
67191         Sync from coreutils.
67192
67193         * lib/modechange.c (mode_compile): Don't decrement a pointer that
67194         points to the start of a string, as the C Standard says the
67195         resulting behavior is undefined.
67196
67197         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
67198         simple -> simple_backups, numbered_existing ->
67199         numbered_existing_backups, numbered -> numbered_backups
67200         to avoid shadowing problems.  All uses changed.
67201         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
67202         * lib/backupfile.c (check_extension, numbered_backup):
67203         Rename locals to avoid shadowing 'basename'.
67204         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
67205         once.
67206
67207         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
67208         * lib/.cvsignore: Add getopt.h.
67209
67210 2004-10-04  Bruno Haible  <bruno@clisp.org>
67211
67212         * modules/README: New file.
67213         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
67214         not a module.
67215
67216 2004-10-02  Jim Meyering  <jim@meyering.net>
67217
67218         * lib/dirfd.h, getpagesize.h: Add copyright notice.
67219
67220 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67221
67222         * modules/strsep: New file.
67223
67224 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67225
67226         * m4/strsep.m4: New file.
67227
67228 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67229
67230         * lib/strsep.h: New file.
67231         * lib/strsep.c: New file.
67232
67233 2004-10-01  Simon Josefsson  <jas@extundo.com>
67234
67235         * lib/snprintf.c (snprintf): Handle size==0.
67236
67237 2004-10-01  Simon Josefsson  <jas@extundo.com>
67238             Bruno Haible  <bruno@clisp.org>
67239
67240         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
67241         (snprintf): Declare 'args'.
67242
67243 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
67244
67245         * lib/snprintf.c: Remove comments as to why each header is needed.
67246
67247 2004-10-01  Bruno Haible  <bruno@clisp.org>
67248
67249         * MODULES.html.sh: Add strsep.
67250
67251 2004-09-30  Simon Josefsson  <jas@extundo.com>
67252
67253         * modules/snprintf: New file.
67254
67255 2004-09-30  Simon Josefsson  <jas@extundo.com>
67256
67257         * m4/snprintf.m4: New file.
67258
67259 2004-09-30  Simon Josefsson  <jas@extundo.com>
67260
67261         * lib/snprintf.h, lib/snprintf.c: New files.
67262
67263 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67264
67265         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
67266         (hol_entry_help): Never translate an empty string.
67267         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
67268         * lib/argp.h (OPTION_NO_TRANS): New option.
67269
67270 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67271
67272         * modules/argp (Maintainer): Replace Simon Josefsson
67273         by Sergey Poznyakoff.
67274
67275 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67276
67277         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
67278         changes merged back into glibc.
67279
67280 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
67281
67282         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
67283
67284 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
67285
67286         * lib/xvasprintf.c: Include xalloc.h.
67287         (xvasprintf): Use xalloc_die, not xmalloc_die.
67288
67289 2004-09-29  Bruno Haible  <bruno@clisp.org>
67290
67291         * modules/alloca-opt: New file, derived from modules/alloca.
67292         * modules/allocsa: Depend on alloca-opt instead of alloca.
67293         * modules/setenv: Likewise.
67294         * modules/vasnprintf: Likewise.
67295         * MODULES.html.sh: Add alloca-opt.
67296
67297 2004-09-28  Simon Josefsson  <jas@extundo.com>
67298
67299         * gnulib-tool: New parameter --lgpl, to asseert that modules are
67300         LGPL, and to replace license template from GPL to LGPL.
67301
67302 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67303
67304         * modules/dummy: Change license to LGPL.
67305
67306 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
67309
67310 2004-09-24  Simon Josefsson  <jas@extundo.com>
67311
67312         * modules/minmax (License): Change from GPL to LGPL.
67313
67314 2004-09-23  Simon Josefsson  <jas@extundo.com>
67315
67316         * gnulib-tool (--import): Typo.
67317
67318 2004-09-23  Simon Josefsson  <jas@extundo.com>
67319
67320         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
67321
67322 2004-09-22  Bruno Haible  <bruno@clisp.org>
67323
67324         * modules/*: Add 'License' field.
67325         * gnulib-tool: Accept --extract-license option.
67326         (func_get_license): New function.
67327
67328 2004-09-21  Bruno Haible  <bruno@clisp.org>
67329
67330         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
67331         Reported by Simon Josefsson.
67332
67333 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67334
67335         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
67336         gl_AC_TYPE_LONG_LONG.
67337
67338 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
67339
67340         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
67341
67342 2004-09-18  Simon Josefsson  <jas@extundo.com>
67343         and  Paul Eggert  <eggert@cs.ucla.edu>
67344
67345         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
67346         calls with autoreconf.  Define GL_LIB.
67347
67348 2004-09-14  Karl Berry  <karl@gnu.org>
67349
67350         * config/srclist.txt: unsync setenv.c, sigh.
67351
67352 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67353
67354         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
67355         Problem reported by Bruno Haible in:
67356         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
67357
67358 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
67359
67360         * config/srclist.txt: Comment out argp-pvh.c.
67361
67362 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
67363
67364         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
67365         in case some system header has #define'd it.  Problem reported by
67366         Soeren D. Schulze in
67367         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
67368
67369 2004-09-09  Karl Berry  <karl@gnu.org>
67370
67371         * regex.[ch]: delete from the root.  These were supposed to be
67372                 synced with emacs cvs, but this has not happened for about
67373                 a year, and anyway nothing else uses emacs regex.[ch].
67374                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
67375                 lib/regex[.ch] is untouched.
67376
67377 2004-09-09  Bruno Haible  <bruno@clisp.org>
67378
67379         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
67380
67381 2004-09-09  Bruno Haible  <bruno@clisp.org>
67382
67383         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
67384         modifications.
67385         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
67386
67387 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67388
67389         * modules/xvasprintf: New file.
67390         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
67391
67392 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
67393
67394         * lib/xvasprintf.h: New file.
67395         * lib/xvasprintf.c: New file.
67396         * lib/xasprintf.c: New file.
67397
67398 2004-09-08  Bruno Haible  <bruno@clisp.org>
67399
67400         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
67401
67402 2004-09-08  Bruno Haible  <bruno@clisp.org>
67403
67404         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
67405         length is > INT_MAX.
67406         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
67407         more.
67408
67409 2004-09-08  Bruno Haible  <bruno@clisp.org>
67410
67411         * lib/stdint_.h: New file, taken from GNU clisp.
67412
67413 2004-09-08  Bruno Haible  <bruno@clisp.org>
67414             Oskar Liljeblad  <oskar@osk.mine.nu>
67415
67416         * modules/stdint: New file.
67417         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
67418
67419 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67420
67421         Import from coreutils.
67422         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
67423         strings on unbounded length.  alloca's performance benefits aren't
67424         that important here.
67425         (V_STRDUP): Remove.
67426         (parse_with_separator): New function, with most of the internals
67427         of the old parse_user_spec.  Allow user to omit both user and group,
67428         for compatibility with FreeBSD.
67429         Clone only the user name, not the entire spec.
67430         Do not set *uid, *gid unless entirely successful.
67431         Avoid memory leak in some failing cases.
67432         Fix regression for USER.GROUP reported by Dmitry V. Levin in
67433         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
67434         (parse_user_spec): Rewrite to use parse_with_separator.
67435
67436 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67437
67438         * modules/userspec: Don't depend on alloca.
67439
67440 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
67441
67442         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
67443
67444 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
67445
67446         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
67447         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
67448         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
67449
67450 2004-08-16  Simon Josefsson  <jas@extundo.com>
67451
67452         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
67453         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
67454         Add --dry-run for --import.
67455         Let user provided command line parameters override configure.ac
67456         settings.
67457
67458 2004-08-12  Simon Josefsson  <jas@extundo.com>
67459
67460         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
67461         as discussed with Paul Eggert in threads rooted at
67462         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
67463         and
67464         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
67465         Before, the test was empty, and relied on ELIDE_CODE in source
67466         code.)
67467         (gl_PREREQ_GETOPT): New macro.
67468         (gl_GETOPT): Use them.
67469
67470 2004-08-12  Simon Josefsson  <jas@extundo.com>
67471
67472         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
67473         * lib/getopt_.h: Renamed from getopt.h.
67474
67475 2004-08-12  Simon Josefsson  <jas@extundo.com>
67476
67477         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
67478         Change default library name from libfoo to libgnu.
67479         Now, if you have a configure.ac that says:
67480                 gl_SOURCE_BASE(gl)
67481                 gl_M4_BASE(gl/m4)
67482                 gl_MODULES(error getopt etcetera)
67483                 gl_INIT
67484         you can import all you need by running:
67485                 ../gnulib/gnulib-tool --import
67486
67487         * modules/getopt (Files): Rename getopt.h to getopt_.h.
67488         (Makefile.am): Rewrite, use logic from argz.
67489         (Include): Use <getopt.h> instead of "getopt.h".
67490
67491 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67492
67493         * modules/argp (Files): Add m4/unlocked-io.m4.
67494         (Depends-on): Add extensions.
67495
67496 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67497
67498         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
67499         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
67500         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
67501         Check for program_invocation_name, program_invocation_short_name,
67502         flockfile, funlockfile, features.h, _getopt_long_only_r.
67503
67504 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67505
67506         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
67507         its complicated substitute.
67508         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
67509         and program_invocation_name.
67510         (__argp_basename) [!_LIBC]: Remove; the only use was
67511         replaced by its body.
67512         (__argp_short_program_name): Change condition from
67513         !defined __argp_short_program_name to
67514         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
67515         to match argp-namefrob.h.
67516         (__argp_failure): Don't assume strerror_r returns char *.
67517         * lib/argp-parse.c (N_): Define unconditionally.
67518         (argp_default_options): Fill out initializers with 0 to avoid
67519         gcc warnings.
67520
67521 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
67522
67523         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
67524         getopt1.c.
67525
67526 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67527
67528         Merge from coreutils.
67529
67530         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
67531
67532         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
67533         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
67534
67535 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67536
67537         Merge from coreutils.
67538
67539         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
67540         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
67541         for Reliant Unix 5.43.
67542
67543         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
67544         (union fooround): Use uintmax_t, not long int.
67545         The rest is a merge from libc:
67546         [defined _LIBC]: Include <shlib-compat.h>.
67547         (_obstack) [defined _LIBC]: Remove after 2.3.4.
67548
67549         * lib/settime.c (settime): Recode to avoid warning with
67550         Sun Forte C 6U2.
67551
67552         * lib/strverscmp.c: Convert to UTF-8.
67553
67554 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
67555
67556         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
67557         m4/uintmax_t.m4.
67558
67559 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67560
67561         * modules/xalloc-die: New file.
67562         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
67563
67564         * modules/md5 (Files): Add m4/uint32_t.m4.
67565         * modules/sha1: Renamed from modules/sha.
67566         (Files):
67567         Rename lib/sha.h to lib/sha1.h.
67568         Rename lib/sha.c to lib/sha1.c.
67569         Rename m4/sha.m4 to m4/sha1.m4.
67570         (lib_SOURCES): Likewise.
67571         (configure.ac): Rename gl_SHA to gl_SHA1.
67572         (Include): sha.h -> sha1.h.
67573
67574 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67575
67576         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
67577         * m4/sha1.m4: Renamed from sha.m4.
67578         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
67579
67580 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
67581
67582         * lib/obstack.h (obstack_empty_p):
67583         Don't assume that chunk->contents is suitably aligned.
67584         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
67585         Likewise. Problem reported by Benno in
67586         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
67587
67588         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
67589         readable.  This could be improved further but it'd take some work.
67590
67591 2004-08-08  Simon Josefsson  <jas@extundo.com>
67592
67593         * modules/xgethostname (Depends-on): Remove exit and error (not
67594         used).
67595
67596         * modules/getpass-gnu: Add getpass.h.
67597         (Depends-on): Add stdbool.
67598         * modules/getpass: Add getpass.h.
67599
67600 2004-08-08  Simon Josefsson  <jas@extundo.com>
67601
67602         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
67603         Check getpass declaration.
67604
67605 2004-08-08  Simon Josefsson  <jas@extundo.com>
67606
67607         * lib/xgethostname.c: Don't include error.h (not used).
67608
67609         * lib/getpass.h: Add.
67610         * lib/getpass.c: Include getpass.h first.
67611
67612 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
67613
67614         * lib/xalloc-die.c: New file.
67615         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
67616         All uses removed.
67617         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
67618         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
67619         xalloc-die.c.
67620         (_, N_, xalloc_die): Move to xalloc-die.c.
67621         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
67622         so that we needn't mess with xalloc_msg_memory_exhausted.
67623
67624         * lib/sha1.h: Renamed from sha.h.
67625         (SHA1_H): Renamed from _SHA_H.
67626         (sha1_ctx): Renamed from sha_ctx.
67627         (sha1_init_ctx): Renamed from sha_init_ctx.
67628         (sha1_process_block): Renamed from sha_process_block.
67629         (sha1_process_bytes): Renamed from sha_process_bytes.
67630         (sha1_finish_ctx): Renamed from sha_finish_ctx.
67631         (sha1_read_ctx): Renamed from sha_read_ctx.
67632         (sha1_stream): Renamed from sha_stream.
67633         (sha1_buffer): Renamed from sha_buffer.
67634         * lib/sha1.c: Likewise; renamed from sha.c.
67635         Do not include <sys/types.h>.
67636         Include <stddef.h> rather than <stdlib.h>.
67637
67638 2004-08-08  Bruno Haible  <bruno@clisp.org>
67639
67640         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
67641         FILESYSTEM_PREFIX_LEN.
67642         * lib/progreloc.c: Likewise.
67643         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
67644
67645 2004-08-06  Simon Josefsson  <jas@extundo.com>
67646
67647         * modules/progname (Depends-on): Don't depend on stdbool.
67648
67649 2004-08-06  Simon Josefsson  <jas@extundo.com>
67650
67651         * modules/getsubopt: New file.
67652         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67653         getsubopt.
67654
67655 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67656
67657         More merge from coreutils.
67658
67659         * m4/utimens.m4, m4/utimecmp.m4: New files.
67660         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
67661         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
67662         prereq.m4, sha.m4: Import changes from coreutils.
67663
67664 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67665
67666         More merge from coreutils.
67667         * modules/raise, modules/readtokens0, modules/utimens:
67668         * modules/utimecmp, module/xnanosleep: New files.
67669         * modules/strftime: Add lib/strftime.h.
67670         Change include from <time.h> to "strftime.h".
67671         * modules/yesno: Add lib/yesno.h.
67672         * modules/backupfile: Remove lib/addext.c.
67673         * modules/euidaccess: Add stat-macros.h.
67674         * modules/canonicalize, modules/euidaccess,
67675         modules/filemode, modules/lchown, modules/makepath,
67676         modules/rmdir, modules/stat: Likewise.
67677
67678 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67679
67680         Merge from tar.
67681         * lib/argp-help.c (make_hol, hol_append): Don't assume that
67682         SIZE_MAX is a valid preprocessor constant.
67683         (__argp_basename): Change from "#ifndef _LIBC"
67684         to "#ifndef __argp_short_program_name", so that
67685         we don't compile these functions for tar.
67686
67687         More merges from coreutils.
67688         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
67689         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
67690         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
67691         * lib/addext.c: Remove; no longer needed.
67692         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
67693         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
67694         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
67695         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
67696         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
67697         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
67698         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
67699         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
67700         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
67701         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67702         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
67703         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
67704         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
67705         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
67706         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
67707         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
67708         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
67709         Import changes from coreutils.
67710
67711 2004-08-05  Simon Josefsson  <jas@extundo.com>
67712
67713         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
67714
67715 2004-08-05  Simon Josefsson  <jas@extundo.com>
67716
67717         * m4/getsubopt.m4: New file.
67718
67719 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67720
67721         Merge from coreutils.
67722
67723         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
67724         * m4/getcwd-path-max.m4: New files.
67725
67726         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
67727         FILESYSTEM_PREFIX_LEN ->
67728         FILE_SYSTEM_PREFIX_LEN.
67729         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
67730         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
67731         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
67732         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
67733
67734         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
67735         prerequisite modules now handle the DOS stuff.
67736         Don't check for unistd.h.
67737
67738 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67739
67740         Merge from coreutils.
67741
67742         * lib/.gdb-history: Remove; this doesn't belong here.
67743
67744         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
67745         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
67746         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
67747         * lib/getcwd.c: New files.
67748
67749         * lib/dirname.h: Include <stdbool.h>.
67750         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
67751         for consistency with POSIX terminology.  All uses changed.
67752         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
67753         (strip_trailing_slashes): Use bool for booleans.
67754         * lib/stripslash.c (strip_trailing_slashes): Likewise.
67755
67756         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
67757         sometimes returns a positive errno value even when it succeeds.
67758         (print_errno_message) [!LIBC]: Fall back on strerror if
67759         __strerror_r fails.
67760
67761         * lib/path-concat.c (mempcpy): Don't define if a system header defines
67762         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
67763         (longest_relative_suffix): New function.
67764         (path_concat): Use it.  Assume first argument is not NULL.
67765         Port to DOS.  Omit redundant separators.
67766         Report an error instead of returning NULL.
67767         Use mempcpy instead of memcpy.
67768         (xpath_concat): Remove: not declared or used.
67769
67770         * lib/same.h: Include <stdbool.h>
67771         (same_name): Return bool, not int.
67772         * lib/same.c (same_name): Likewise.
67773         (errno): Don't declare; we assume C89 or better now.
67774
67775         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
67776         if not already defined.
67777
67778         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
67779         * lib/dup-safer.c (errno): Likewise.
67780
67781 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
67782
67783         Merge from coreutils.
67784         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
67785         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
67786         * modules/path-concat: Don't depend on strdup.
67787
67788 2004-08-03  Simon Josefsson  <jas@extundo.com>
67789
67790         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
67791         * lib/progname.h: Don't include stdbool.h.
67792
67793 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67794
67795         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
67796         * MODULES.html.sh (func_all_modules): Remove fatal.
67797
67798 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67799
67800         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
67801
67802 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
67803
67804         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
67805         working.
67806
67807 2004-08-02  Simon Josefsson  <jas@extundo.com>
67808
67809         * lib/getsubopt.h: New file, with comments from Bruno Haible.
67810         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
67811         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
67812
67813 2004-08-01  Simon Josefsson  <jas@extundo.com>
67814
67815         * lib/xgetdomainname.c: Include stdlib.h, for free().
67816
67817 2004-07-19  Bruno Haible  <bruno@clisp.org>
67818
67819         * MODULES.html.sh (func_all_modules): Add dummy.
67820
67821 2004-07-16  Simon Josefsson  <jas@extundo.com>
67822
67823         * modules/dummy: New file.
67824
67825 2004-07-16  Simon Josefsson  <jas@extundo.com>
67826
67827         * lib/dummy.c: New file.
67828
67829 2004-07-16  Bruno Haible  <bruno@clisp.org>
67830
67831         * lib/backupfile.h: Add extern "C" for C++.
67832         * lib/closeout.h: Likewise.
67833         * lib/copy-file.h: Likewise.
67834         * lib/findprog.h: Likewise.
67835         * lib/full-write.h: Likewise.
67836         * lib/pathname.h: Likewise.
67837         * lib/progname.h: Likewise.
67838         * lib/stpcpy.h: Likewise.
67839         * lib/stpncpy.h: Likewise.
67840         * lib/strcase.h: Likewise.
67841         * lib/strstr.h: Likewise.
67842         * lib/xalloc.h: Likewise.
67843
67844         * lib/mbswidth.h: Add extern "C" for C++.
67845         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
67846
67847 2004-07-13  Robert Millan  <robertmh@gnu.org>
67848
67849         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
67850
67851 2004-07-09  Simon Josefsson  <jas@extundo.com>
67852
67853         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
67854         failed without this.)
67855
67856 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67857
67858         * modules/chown (Files): Add lib/fchown-stub.c, since
67859         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
67860
67861 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
67862
67863         * lib/fchown-stub.c: New file.
67864
67865 2004-06-24  Jim Meyering  <jim@meyering.net>
67866
67867         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
67868
67869 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67870
67871         * modules/argz: Omit "#include".
67872
67873         * MODULES.html.sh (func_all_modules): Add calloc, to match
67874         2004-06-01 addition of calloc module.
67875
67876 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67877
67878         * m4/argz.m4: New file, which is autoupdated from libtool.
67879
67880 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67881
67882         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
67883         libtool.
67884
67885 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
67886
67887         * config/srclist-update: Don't insist on "USA." before the
67888         close-comment, as libtool omits the period and puts the */ on a
67889         separate line.
67890         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
67891         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
67892
67893 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
67894
67895         * modules/argz: New file.
67896         * MODULES.html.sh (func_all_modules): Add argz.
67897
67898 2004-06-12  Jim Meyering  <jim@meyering.net>
67899         and  Paul Eggert  <eggert@cs.ucla.edu>
67900
67901         * modules/hash (Files): Add lib/xalloc.h.
67902         * modules/pipe (Depends-on): Add wait-process.
67903         * modules/stat (Depends-on): Add xalloc.
67904         * modules/userspec (Files): Add lib/userspec.h.
67905         * modules/xstrto
67906
67907         Upgrade from gettext-0.13.
67908         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
67909         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
67910         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
67911
67912 2004-06-10  Jim Meyering  <jim@meyering.net>
67913
67914         * lib/calloc.c: New file.
67915
67916 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67917
67918         * lib/getdate.y (yylex): Allow space between sign and number.
67919         Problem reported by Dan Jacobson.
67920
67921 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67922
67923         Merge from coreutils CVS.
67924
67925         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
67926         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
67927         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
67928         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
67929         xstrtol.m4: Fix copyright date and/or serial number.
67930
67931         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
67932         See if we need an fchown replacement.
67933         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
67934         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
67935         and use the replacement function if we detect either defect.
67936
67937         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
67938         gl_UTIMECMP.
67939
67940 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
67941         and  Jim Meyering  <jim@meyering.net>
67942
67943         Merge from coreutils CVS.
67944
67945         * lib/stat-macros.h: New file, with contents from file-type.h
67946         and coreutils' system.h.
67947         * lib/file-type.c: Include "stat-macros.h".
67948         * lib/file-type.h (file_type): Move all macro definitions to new file,
67949         stat-macros.h.
67950
67951         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
67952         Wrap old code with this conditional.
67953         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
67954         function that does not dereference symlinks.
67955         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
67956
67957         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
67958         dependency problems.
67959         (xreadlink): Accept new arg SIZE, for efficiency.
67960         All decls and uses changed.
67961         * lib/xreadlink.h: Include <stddef.h>, for size_t.
67962
67963         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
67964         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
67965
67966         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
67967         sysexits.h.
67968
67969 2004-06-01  Jim Meyering  <jim@meyering.net>
67970
67971         * m4/calloc.m4: New file.
67972
67973 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
67974
67975         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
67976         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
67977         Also, fix a typo in a diagnostic.
67978
67979 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67980
67981         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
67982         or AC_FUNC_REALLOC.
67983
67984 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
67985
67986         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
67987         macros to be defined.
67988         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
67989         the allocator returns NULL because the requested size is zero.
67990
67991 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67992
67993         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
67994         var.  Add comment explaining why libc still defines it.  This
67995         merges the following patch from glibc:
67996         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
67997
67998 2004-05-20  Andreas Schwab  <schwab@suse.de>
67999
68000         * m4/free.m4: Replace free if it not known to work, not the other
68001         way round.
68002
68003 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
68004
68005         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
68006         present in glibc since revision 1.1 of this file.
68007         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
68008         obstack_alignment_mask, obstack_alloc, obstack_base,
68009         obstack_blank, obstack_blank_fast, obstack_chunk_size,
68010         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
68011         obstack_grow0, obstack_init, obstack_int_grow,
68012         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
68013         obstack_next_free, obstack_object_size, obstack_ptr_grow,
68014         obstack_ptr_grow_fast, obstack_room): Remove declarations of
68015         nonexistent functions.
68016
68017 2004-05-18  Karl Berry  <karl@gnu.org>
68018
68019         * config/srclist.txt: break link for vasnprintf.c.
68020
68021 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68022
68023         Port obstack to the AS/400, where pointers are 16 bytes wide and
68024         you cannot cast an integer to a valid pointer.  This patch is
68025         currently waiting to be integrated into glibc; see
68026         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
68027
68028         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
68029         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
68030         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
68031         (struct obstack): temp member is now a union of a pointer and
68032         an integer, instead of an integer.  All integer uses changed.
68033         This does not affect the physical layout of struct obstack,
68034         except on hosts (like the AS/400) where the size or alignment of
68035         void * is greater than that of ptrdiff_t.
68036         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
68037         __STDC__)]: Store temporary in pointer member of union, not
68038         integer member.
68039         * lib/obstack.c: Include <stddef.h>, for offsetof.
68040         (struct fooalign): Remove; it doesn't need a name.
68041         (union fooround): Change double to long double, and add void *.
68042         (DEFAULT_ALIGNMENT): Use offsetof to compute.
68043         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
68044         not a macro.  Hence the values are always int; so remove all
68045         casts-to-int in uses.
68046
68047 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68048
68049         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
68050         we can get this patch merged into glibc.
68051
68052 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68053             Paul Eggert  <eggert@cs.ucla.edu>
68054
68055         * m4/argp: Depend on alloca.
68056
68057 2004-05-17  Derek R. Price  <derek@ximbiot.com>
68058             Paul Eggert  <eggert@cs.ucla.edu>
68059
68060         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
68061         freecoding.
68062
68063 2004-05-17  Bruno Haible  <bruno@clisp.org>
68064
68065         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
68066         precision that consists of a '.' followed by an empty digit string.
68067         Patch by Tor Lillqvist <tml@iki.fi>.
68068
68069 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68070
68071         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
68072         for backward compatibility with older code.  We need our own
68073         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
68074         it under some other name, and our alloca.h will define it.
68075
68076 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68077             Derek Price  <derek@ximbiot.com>
68078
68079         * lib/alloca.c: Include <alloca.h>, to get our interface.
68080         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
68081         include <alloca.h> first.  Use C89 prototype for alloca; this
68082         requires including <stddef.h> for size_t.  Use extern "C" if C++.
68083         Use #elif for simplicity, since we can assume C89 now.
68084         Don't try to source the system alloca.h since it will not be found
68085         and to prevent recursively including its replacement.
68086         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
68087         * lib/regex.c: Likewise.
68088
68089 2004-05-16  Derek Price  <derek@ximbiot.com>
68090             Paul Eggert  <eggert@cs.ucla.edu>
68091
68092         getline cleanup.  This changes the getndelim2 API: both order of
68093         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
68094         no delimiter).
68095
68096         * lib/getline.c: Don't include stddef.h or stdio.h, since our
68097         interface does that.
68098         (getline): Always use getdelim, so that we don't have two
68099         copies of this code.
68100         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
68101         if available.
68102         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
68103         (GETNDELIM2_MAXIMUM): New macro.
68104         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
68105         instead of the old practice of delim2==0.  All callers changed.
68106         Return -1 on overflow, instead of returning junk.
68107         Do not set *linesize unless allocation succeeds.
68108         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
68109         that we include sys/types.h.
68110         * lib/getnline.h: Likewise.
68111         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
68112         (getndelim2): Reorder arguments.
68113         * lib/getnline.c (getnline, getndelim):
68114         Don't discard the NMAX argument.
68115         (getnline): Invoke getndelim, to avoid code duplication.
68116         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
68117         of (size_t) -1 by callers of the getnline family.
68118
68119 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68120
68121         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
68122         Check for gettimeofday.
68123         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
68124         Check for settimeofday, stime.
68125
68126 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
68127
68128         * lib/nanosleep.c (suspended): Change its type from int to
68129         sig_atomic_t volatile.
68130         (first_call): Make it private to rpl_nanosleep, and have it
68131         be zero initially as that's a bit faster.
68132         (my_usleep): Round up fractional times instead of truncating them,
68133         as this is the usual meaning for 'sleep'.
68134
68135         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
68136         doesn't work.
68137         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
68138         (ENOSYS): Define if not defined.
68139         (settime): Fall back on stime if it exists and settimeofday fails.
68140         But don't bother with fallbacks if a method fails with errno == EPERM.
68141
68142 2004-05-11  Jim Meyering  <jim@meyering.net>
68143
68144         Prior to this change, the save_cwd caller required read access to the
68145         current directory on most systems (ones with the fchdir function).
68146
68147         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
68148         fails, try write-only, and finally, resort to using xgetcwd.
68149
68150 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
68151
68152         * lib/obstack.c, obstack.h: Import changes from libc.
68153
68154 2004-04-28  Bruno Haible  <bruno@clisp.org>
68155
68156         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
68157         also implicitly appends .exe to executables.
68158         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
68159         accepts Windows pathnames.
68160         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68161         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68162         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
68163         Treat Cygwin like Windows, since it now accepts Windows pathnames.
68164         Reported by Derek Robert Price <derek@ximbiot.com>.
68165
68166 2004-04-21  Karl Berry  <karl@gnu.org>
68167
68168         * config/srclist.txt (localcharset.c): break sync.
68169
68170 2004-04-20  Paul Eggert  <eggert@twinsun.com>
68171
68172         * m4/host-os.m4: Add a copyright notice.
68173
68174 2004-04-20  Jim Meyering  <jim@meyering.net>
68175
68176         Change UTILS_ to gl_ in AC_DEFINE'd names.
68177         Change utils_- and jm_-prefixed variables, too.
68178         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
68179         UTILS_FUNC_MKDIR_TRAILING_SLASH.
68180         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
68181
68182         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
68183         Don't emit trailing blanks.
68184         Also rename jm_-prefixed variables to have gl_ prefix.
68185
68186         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
68187         Also rename jm_-prefixed variables to have gl_ prefix.
68188
68189         * m4/jm-macros.m4: Reflect the renamings.
68190         * m4/prereq.m4: Likewise.
68191
68192 2004-04-20  Jim Meyering  <jim@meyering.net>
68193
68194         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
68195         memory.
68196
68197 2004-04-20  Jim Meyering  <jim@meyering.net>
68198             Bruno Haible  <bruno@clisp.org>
68199
68200         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
68201         memory when realloc fails.
68202
68203 2004-04-19  Jim Meyering  <jim@meyering.net>
68204
68205         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
68206         now that readutmp.c may call `free (0)'.
68207
68208 2004-04-19  Bruno Haible  <bruno@clisp.org>
68209
68210         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
68211         * m4/inttypes_h.m4: Likewise.
68212         * m4/stdint_h.m4: Likewise.
68213         * m4/intmax_t.m4: Likewise.
68214         * m4/uintmax_t.m4: Likewise.
68215
68216 2004-04-18  Jim Meyering  <jim@meyering.net>
68217
68218         * m4/prereq.m4: Don't forbid jm_ prefix.
68219
68220         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
68221         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
68222         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
68223         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
68224         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
68225         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
68226         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
68227         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
68228         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
68229         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
68230         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
68231         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
68232         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
68233         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
68234         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
68235         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
68236         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
68237         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
68238         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
68239
68240 2004-04-18  Jim Meyering  <jim@meyering.net>
68241
68242         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
68243         failure, don't leak memory and do call END_UTMP_ENT.
68244
68245 2004-04-16  Jim Meyering  <jim@meyering.net>
68246
68247         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
68248         coreutils' stat program.
68249         (gl_PREREQ): Don't require jm_PREREQ_STAT.
68250
68251 2004-04-11  Paul Eggert  <eggert@twinsun.com>
68252
68253         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
68254         C89.
68255         (CHAR_BIT): Remove, since we assume C89.
68256         Include <stdint.h> if available, as per current Autoconf CVS advice.
68257
68258 2004-03-31  Jim Meyering  <jim@meyering.net>
68259
68260         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
68261         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
68262         * m4/xalloc.m4: Likewise.
68263
68264 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68265
68266         Merge from coreutils.
68267
68268         * m4/inttostr.m4: New file.
68269         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
68270         Require AM_STDBOOL_H and gl_TIMESPEC instead.
68271         Require gl_CLOCK_TIME.
68272         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
68273
68274 2004-03-30  Paul Eggert  <eggert@twinsun.com>
68275
68276         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
68277         not bool, to be more consistent with Unix conventions.
68278         Suggested by Bruno Haible.
68279
68280         Merge from coreutils.
68281
68282         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
68283         * lib/umaxtostr.c: New files.
68284
68285         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
68286         the usual <time.h> dance.
68287         (get_date): Change signature to support fractional time stamps.
68288         All callers changed.
68289         * lib/getdate.y: Include "getdate.h" first, as we can now
68290         assume C89 and don't need to worry about 'const'.
68291         Similarly, include "unlocked-io.h" near start, not in middle.
68292         Include <limits.h>.
68293         (textint.value): Use long int rather than int.
68294         (textint.digits): Use size_t rather than int.
68295         (BILLION, LOG10_BILLION): New constants.
68296         (parser_control): New member rel_ns.  Members day_ordinal,
68297         time_zone, month, day, hour, minutes, rel_year, rel_month,
68298         rel_day, rel_hour, rel_minutes, rel_seconds
68299         are now long int, not int.  Member seconds is now struct timespec,
68300         not int.  New member timespec_seen.  Members dates_seen, days_seen,
68301         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
68302         not int.
68303         (%union.intval): Now long int, not int.
68304         New member timespec.
68305         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
68306         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
68307         (spec): Now is a timespec or an item list.
68308         (timespec, items): New nonterminals.
68309         (time, rel, relunit, number, get_date):
68310         Add support for fractional seconds.
68311         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
68312         (gmtime, localtime, mktime): Remove decls; not needed with C89.
68313         (to_hour): First arg is now long int, not int.
68314         (to_year): Returns long int, not int.
68315         Don't treat year -70 like 70.
68316         (tm_diff): Returns long int, not int.
68317         (lookup_word): Use bool instead of int when appropriate.
68318         (yylex): Use size_t for count, not int.
68319         Detect overflow when parsing large integer constants.
68320         Add support for fractions.
68321         (get_date): Make pointers 'const' if possible.
68322         Use more-portable code to detect integer overflow.
68323         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
68324         Don't use ctime; it's not reliable if the year has >4 digits.
68325
68326         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
68327         This is for compatibility with BSD.
68328
68329         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
68330         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
68331         From coreutils' system.h.
68332
68333         * lib/userspec.c: Don't include "posixver.h".
68334         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
68335         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
68336         compatible extension.  Simplify code by removing a boolean int
68337         that was always nonzero if a string was nonnull.
68338
68339 2004-03-30  Jim Meyering  <jim@meyering.net>
68340
68341         Merge from coreutils.
68342
68343         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
68344         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
68345         on some systems one must include <grp.h> before it.
68346         Reported by Christian Krackowizer.
68347
68348 2004-03-30  Jim Meyering  <jim@meyering.net>
68349
68350         Merge from coreutils.
68351
68352         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
68353
68354         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
68355         an empty input stream.
68356
68357         * lib/readtokens.c: Include <stdbool.h>.
68358         (readtoken): Use `size_t' rather than int/long.
68359         All callers adjusted.
68360         Use `bool' rather than `int' where appropriate.
68361         Use memset rather than an explicit loop.
68362         Use x2nrealloc rather than xrealloc.
68363         Allow the use of `\0' as a delimiter.
68364         (readtokens): Likewise.
68365         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
68366
68367 2004-03-30  Jim Meyering  <jim@meyering.net>
68368
68369         * m4/realloc.m4: Remove file, since now it does no more than
68370         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
68371         the `configure.ac' section of module/realloc.
68372         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
68373
68374 2004-03-30  Bruno Haible  <bruno@clisp.org>
68375
68376         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
68377         nonnull.
68378
68379 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68380
68381         Merge changes to getloadavg.c from coreutils and Emacs.
68382
68383         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
68384         Define to an expression, not to the empty string.
68385         Include cloexec.h and xalloc.h.
68386         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
68387         Use set_cloexec_flag rather than rolling our own.
68388         * lib/cloexec.c, lib/cloexec.h: New files.
68389
68390 2004-03-29  Paul Eggert  <eggert@twinsun.com>
68391
68392         * m4/cloexec.m4: New file.
68393
68394 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68395
68396         * lib/getopt.h: Sync with libc CVS.
68397
68398 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68399             Bruno Haible  <bruno@clisp.org>
68400
68401         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
68402         mbswidth.
68403
68404 2004-03-18  Paul Eggert  <eggert@twinsun.com>
68405             Bruno Haible  <bruno@clisp.org>
68406
68407         * lib/mbswidth.h: Include <wchar.h> only if
68408         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
68409         <wchar.h>.
68410         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
68411
68412 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68413
68414         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
68415         Sync with libc CVS.
68416         * lib/getopt_int.h: New file, also synced from libc.
68417
68418 2004-03-09  Paul Eggert  <eggert@twinsun.com>
68419
68420         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
68421         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
68422         Bring back getopt.c, getopt.h, getopt1.c.
68423
68424 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68425
68426         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
68427         All uses changed.  Check for sa_sigaction member; this fixes
68428         a bug first reported by Jason Andrade in
68429         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68430
68431 2004-03-07  Paul Eggert  <eggert@twinsun.com>
68432
68433         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
68434         '#if' expressions.  Unlike the code it replaces, it does not
68435         depend on (defined _SC_PAGESIZE).  However, it does depend on
68436         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
68437         first reported by Jason Andrade in
68438         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
68439
68440 2004-02-25  Simon Josefsson  <jas@extundo.com>
68441
68442         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
68443
68444 2004-02-25  Simon Josefsson  <jas@extundo.com>
68445
68446         * lib/strdup.h: New file.
68447         * lib/strdup.c: Include it.
68448         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
68449         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
68450
68451 2004-02-23  Karl Berry  <karl@gnu.org>
68452
68453         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
68454         (from fencepost.gnu.org:/gd/gnuorg).
68455
68456 2004-02-23  Karl Berry  <karl@gnu.org>
68457
68458         * config/srclistvars.sh (GNUORG) [karl]: redefine.
68459         * config/srclist.txt: add maintain/standards documents.
68460
68461 2004-02-18  Bruno Haible  <bruno@clisp.org>
68462
68463         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
68464         Reported by Derek Robert Price <derek@ximbiot.com>.
68465
68466 2004-02-16  Karl Berry  <karl@gnu.org>
68467
68468         * config/mkinstalldirs, install-sh: update from automake.
68469
68470 2004-02-06  Karl Berry  <karl@gnu.org>
68471
68472         * m4/po.m4: update from gettext 0.14.1.
68473
68474 2004-02-06  Karl Berry  <karl@gnu.org>
68475
68476         * lib/config.charset: update from gettext 0.14.1.
68477
68478 2004-02-05  Paul Eggert  <eggert@twinsun.com>
68479
68480         Add comments and code, prompted by suggestions from Bruno Haible
68481         for sh-quote.
68482         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
68483         describing the enum quoting_style values.
68484         * lib/quotearg.c (quotearg_alloc): New function.
68485         (quotearg_buffer_restyled): Treat lone { and } as special.
68486         Treat = as special.  Work around bug with older shells
68487         that "see" a '\' that is really the 2nd byte of a multibyte char.
68488         Quote empty string with shell_quoting_style.
68489
68490 2004-02-03  Bruno Haible  <bruno@clisp.org>
68491
68492         * m4/pipe.m4: New file, from GNU gettext.
68493
68494 2004-02-03  Bruno Haible  <bruno@clisp.org>
68495
68496         * lib/pipe.h: New file, from GNU gettext.
68497         * lib/pipe.c: New file, from GNU gettext.
68498
68499 2004-01-27  Bruno Haible  <bruno@clisp.org>
68500
68501         * m4/execute.m4: New file, from GNU gettext.
68502
68503 2004-01-27  Bruno Haible  <bruno@clisp.org>
68504
68505         * lib/execute.h: New file, from GNU gettext.
68506         * lib/execute.c: New file, from GNU gettext.
68507         * lib/w32spawn.h: New file, from GNU gettext.
68508
68509 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68510
68511         Merge from diffutils.
68512
68513         * lib/file-type.c (file_type): Add typed memory objects.
68514         * lib/file-type.h (S_TYPEISTMO): New macro.
68515
68516         * lib/c-stack.h (c_stack_action): Remove argv argument.
68517         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
68518         (die): Don't calculate message unless segv_action returns.
68519         (get_stack_location, min_address_from_argv, max_address_from_argv,
68520         volatile stack_base, volatile_stack_size): Remove.
68521         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
68522         that every segmentation violation is a stack overflow.  (Ouch!)
68523         See Debian bug 136249 (still outstanding) for more info about why
68524         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
68525
68526 2004-01-24  Paul Eggert  <eggert@twinsun.com>
68527
68528         Exit-status fix from coreutils.
68529
68530         Use exit_failure consistently in place of EXIT_FAILURE,
68531         so that program exit statuses are consistent on failure.
68532
68533         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
68534         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
68535         * lib/argmatch.h: Comment fix to match the above.
68536         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
68537         Now a macro referring to exit_failure, instead of a separate
68538         variable.  Include "exitfail.h" to get it.
68539         * lib/xstrtol.h: Include "exitfail.h".
68540         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
68541
68542         * lib/long-options.c (parse_long_options): Use prototype
68543         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
68544         for clarity.
68545
68546 2004-01-21  Jim Meyering  <jim@meyering.net>
68547
68548         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
68549         so as not to conflict with a different-sized __mktime_internal
68550         function in GNU libc.
68551         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
68552         Problem building statically-linked `ls' reported by Michael Brunnbauer.
68553
68554 2004-01-20  Karl Berry  <karl@gnu.org>
68555
68556         * config/config.guess: update from config.
68557
68558         * config/srclistvars.sh: GNUWWWLICENSES for karl.
68559
68560 2004-01-20  Bruno Haible  <bruno@clisp.org>
68561
68562         Safer stack allocation.
68563         * lib/setenv.c: Include allocsa.h.
68564         (alloca): Remove fallback definition.
68565         (freea): Remove macro.
68566         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
68567         instead of freea.
68568
68569 2004-01-20  Bruno Haible  <bruno@clisp.org>
68570
68571         * m4/eealloc.m4: New file, from GNU gettext.
68572
68573 2004-01-20  Bruno Haible  <bruno@clisp.org>
68574
68575         * m4/allocsa.m4: New file, from GNU gettext.
68576
68577 2004-01-20  Bruno Haible  <bruno@clisp.org>
68578
68579         * lib/xallocsa.h: New file, from GNU gettext.
68580         * lib/xallocsa.c: New file, from GNU gettext.
68581
68582 2004-01-20  Bruno Haible  <bruno@clisp.org>
68583
68584         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
68585
68586 2004-01-20  Bruno Haible  <bruno@clisp.org>
68587
68588         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
68589         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
68590         specially.
68591
68592 2004-01-20  Bruno Haible  <bruno@clisp.org>
68593
68594         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
68595         patch.
68596
68597 2004-01-20  Bruno Haible  <bruno@clisp.org>
68598
68599         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
68600
68601 2004-01-20  Bruno Haible  <bruno@clisp.org>
68602
68603         * lib/eealloc.h: New file.
68604
68605 2004-01-20  Bruno Haible  <bruno@clisp.org>
68606
68607         * lib/binary-io.h: Avoid warnings on Cygwin.
68608
68609 2004-01-20  Bruno Haible  <bruno@clisp.org>
68610
68611         * lib/allocsa.h: New file, from GNU gettext.
68612         * lib/allocsa.c: New file, from GNU gettext.
68613
68614 2004-01-18  Karl Berry  <karl@gnu.org>
68615
68616         * doc/gpl.texi, doc/lgpl.texi: new files.
68617
68618 2004-01-18  Karl Berry  <karl@gnu.org>
68619
68620         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
68621         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
68622
68623 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68624
68625         Merge from coreutils.
68626
68627         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
68628         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
68629         (gl_DEFAULT_POSIX2_VERSION): Move
68630         the documentation from 'configure' into 'config.hin',
68631         so that 'configure --help' isn't burdened by it and
68632         we don't have to worry about its formatting there.
68633         Reword the documentation so that it's more succinct
68634         and can be run together into a single paragraph.
68635         * m4/same.m4 (gl_SAME): Check for pathconf.
68636
68637 2004-01-15  Paul Eggert  <eggert@twinsun.com>
68638
68639         Merge from coreutils.
68640
68641         * lib/posixver.c: Include posixver.h.
68642
68643         * lib/same.c: Include <stdbool.h>, <limits.h>.
68644         (_POSIX_NAME_MAX): Define if not defined.
68645         (MIN): New macro.
68646         (same_name): If file names are silently truncated, report
68647         that the file names are the same if they are the same after
68648         the silent truncation.
68649
68650         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
68651         conversion function.
68652         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
68653         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
68654         longer needed.
68655
68656 2004-01-15  Jim Meyering  <jim@meyering.net>
68657
68658         Merge from coreutils.
68659
68660         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
68661         if no library is required.
68662         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
68663         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
68664         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
68665         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
68666         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
68667         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
68668         value, $ac_cv_search_crypt, if it's "none required".
68669         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
68670         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
68671         not gl_FUNC_GETLOADAVG.
68672         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
68673         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
68674
68675 2004-01-15  Jim Meyering  <jim@meyering.net>
68676
68677         Merge from coreutils.
68678
68679         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
68680         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
68681         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
68682
68683         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
68684         optional configure-time default.
68685
68686         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68687
68688         * lib/xreadlink.c (xreadlink): Correct outdated comment.
68689
68690 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
68691
68692         Merge from coreutils.
68693
68694         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
68695         value, $ac_cv_search_nanosleep, if it's "none required".
68696
68697 2004-01-14  Paul Eggert  <eggert@twinsun.com>
68698
68699         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
68700         with like-named macro in fnmatch.c.
68701         (EXT): Use an internal constant instead.
68702
68703         Merge fnmatch patches from glibc.
68704         * lib/fnmatch.c (mbsinit): Remove define.
68705         Add libc_hidden_ver (__fnmatch, fnmatch).
68706         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
68707         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
68708
68709 2004-01-14  Karl Berry  <karl@gnu.org>
68710
68711         * config/install-sh: update from automake.
68712
68713 2004-01-13  Karl Berry  <karl@gnu.org>
68714
68715         * config/install-sh: update from automake.
68716
68717 2004-01-09  Karl Berry  <karl@gnu.org>
68718
68719         * config/install-sh: update from automake.
68720
68721 2004-01-05  Karl Berry  <karl@gnu.org>
68722
68723         * config/config.{sub,guess}: update from config.
68724
68725 2003-12-31  Karl Berry  <karl@gnu.org>
68726
68727         * config/depcomp: update from automake.
68728
68729 2003-12-14  Karl Berry  <karl@gnu.org>
68730
68731         * lib/config.charset: update from gettext-runtime.
68732
68733 2003-12-03  Paul Eggert  <eggert@twinsun.com>
68734
68735         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
68736         Bug reported by Alfred M. Szmidt.
68737
68738 2003-12-03  Bruno Haible  <bruno@clisp.org>
68739
68740         * m4/gettext.m4: Upgrade from gettext-0.13.
68741         * m4/po.m4: Upgrade from gettext-0.13.
68742         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
68743         * m4/intmax.m4: New file, from gettext-0.13.
68744         * m4/printf-posix.m4: New file, from gettext-0.13.
68745
68746 2003-11-29  Karl Berry  <karl@gnu.org>
68747
68748         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
68749
68750 2003-11-25  Paul Eggert  <eggert@twinsun.com>
68751             Bruno Haible  <bruno@clisp.org>
68752
68753         * lib/printf-parse.h: Don't include sys/types.h.
68754         (ARG_NONE): New macro.
68755         (char_directive): Change type of *arg_index fields to size_t.
68756         * lib/printf-parse.c: Don't include sys/types.h.
68757         (SSIZE_MAX): Remove macro.
68758         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
68759         Remove unnecessary overflow check.
68760         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
68761         fields.
68762
68763 2003-11-25  Bruno Haible  <bruno@clisp.org>
68764
68765         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
68766
68767 2003-11-25  Bruno Haible  <bruno@clisp.org>
68768
68769         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
68770         gt_TYPE_SSIZE_T.
68771
68772 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68773
68774         * modules/alloca: Remove dependency on xalloc.
68775
68776 2003-11-24  Paul Eggert  <eggert@twinsun.com>
68777
68778         * lib/alloca.c: Remove dependency on xalloc module.
68779         (xalloc_die): Remove.
68780         (memory_full) [!defined emacs]: New macro.
68781         [!defined emacs]: Don't include xalloc.h.
68782         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
68783         address arithmetic overflows.  Change datatypes a bit to avoid
68784         unnecessary casts.
68785
68786 2003-11-22  Jim Meyering  <jim@meyering.net>
68787
68788         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
68789         s/size/size_t/.
68790
68791 2003-11-21  Karl Berry  <karl@gnu.org>
68792
68793         * config/config.{sub,guess}: update from config.
68794
68795 2003-11-18  Karl Berry  <karl@gnu.org>
68796
68797         * config/config.{sub,guess}: update from config.
68798
68799         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
68800
68801 2003-11-17  Paul Eggert  <eggert@twinsun.com>
68802
68803         * README: Mention that S+T cannot overflow if S is the size of
68804         an existing object and T is sufficiently small.
68805
68806 2003-11-17  Jim Meyering  <jim@meyering.net>
68807
68808         On systems without utime and without a utimes function capable of
68809         dealing with a NULL struct utimbuf* argument, this utime replacement
68810         could -- in unusual circumstances -- leak a file descriptor.
68811         * lib/utime.c: Include <unistd.h> and <errno.h>.
68812         (utime_null): Be sure to close `fd' and to preserve errno.
68813         Reported by Geoff Collyer via Arnold Robbins.
68814
68815 2003-11-17  Bruno Haible  <bruno@clisp.org>
68816
68817         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
68818         (Depends-on): Add xsize.
68819
68820 2003-11-17  Bruno Haible  <bruno@clisp.org>
68821
68822         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
68823
68824 2003-11-17  Bruno Haible  <bruno@clisp.org>
68825
68826         * lib/vasnprintf.c (alloca): Remove fallback definition.
68827         (freea): Remove definition.
68828         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
68829         Reported by Paul Eggert.
68830
68831 2003-11-16  Paul Eggert  <eggert@twinsun.com>
68832             Bruno Haible  <bruno@clisp.org>
68833
68834         Protect against address arithmetic overflow.
68835         * lib/printf-args.h: Include stddef.h.
68836         (arguments): Change type of field 'count' to size_t.
68837         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
68838         'unsigned int' where appropriate.
68839         * lib/printf-parse.h: Include sys/types.h.
68840         (char_directive): Change type of *arg_index fields to ssize_t.
68841         (char_directives): Change type of fields 'count', max_*_length to
68842         size_t.
68843         * lib/printf-parse.c: Include sys/types.h and xsize.h.
68844         (SSIZE_MAX): Define fallback value.
68845         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
68846         instead of 'int' where appropriate. Check a_allocated, d_allocated
68847         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
68848         * lib/vasnprintf.c: Include xsize.h.
68849         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
68850         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
68851         overflow. Avoid wraparound when converting a width or precision from
68852         decimal to binary.
68853
68854 2003-11-16  Bruno Haible  <bruno@clisp.org>
68855
68856         Update from GNU gettext.
68857         * lib/printf-parse.c: Generalize to it can be compiled for wide
68858         strings.
68859         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
68860         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
68861         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
68862         SNPRINTF): New macros.
68863         Don't include <alloca.h> if the file is used inside libintl.
68864         (local_wcslen): New function, for Solaris 2.5.1.
68865         (VASNPRINTF): Use it instead of wcslen.
68866
68867 2003-11-16  Bruno Haible  <bruno@clisp.org>
68868
68869         * lib/xsize.h (xmax): New function.
68870         (xsum, xsum3, xsum4): Declare as "pure" functions.
68871
68872 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68873
68874         * modules/xalloc (Files): Undo latest change, since xalloc.h
68875         no longer needs SIZE_MAX or PTRDIFF_MAX.
68876
68877 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68878
68879         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
68880         gl_PTRDIFF_MAX.
68881
68882 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68883
68884         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
68885         "return", to pacify some unknown compiler.  Problem reported
68886         by Joerg Schilling.
68887
68888 2003-11-12  Paul Eggert  <eggert@twinsun.com>
68889
68890         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
68891         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
68892         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
68893         heuristic is just as accurate as far as we know, and it removes a
68894         dependency on size_max.m4 and ptrdiff_max.m4.
68895
68896 2003-11-11  Bruno Haible  <bruno@clisp.org>
68897
68898         * modules/xsize (Files): Add m4/size_max.m4.
68899         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
68900
68901 2003-11-11  Bruno Haible  <bruno@clisp.org>
68902
68903         * m4/size_max.m4: New file.
68904         * m4/ptrdiff_max.m4: New file.
68905         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
68906         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
68907         (gl_XALLOC): Invoke it.
68908
68909 2003-11-11  Bruno Haible  <bruno@clisp.org>
68910
68911         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
68912         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
68913         defined.
68914
68915 2003-11-10  Paul Eggert  <eggert@twinsun.com>
68916
68917         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
68918         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
68919         rejected some allocations of exactly SIZE_MAX - 2 bytes.
68920         From Bruno Haible.
68921         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
68922         not (size_t) -1, since it's defined here.
68923
68924 2003-11-09  Karl Berry  <karl@gnu.org>
68925
68926         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
68927
68928 2003-11-06  Paul Eggert  <eggert@twinsun.com>
68929
68930         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
68931         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
68932         Reject sizes of exactly SIZE_MAX bytes.
68933         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
68934         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
68935
68936 2003-11-05  Bruno Haible  <bruno@clisp.org>
68937
68938         * lib/xsize.h: Include limits.h, to avoid a possible collision with
68939         SIZE_MAX defined in <limits.h> on Solaris.
68940
68941 2003-11-04  Jim Meyering  <jim@meyering.net>
68942
68943         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
68944         variable names, rather than @VAR@.
68945         * modules/poll: Likewise.
68946
68947 2003-11-04  Bruno Haible  <bruno@clisp.org>
68948
68949         * modules/xsize: New file.
68950         * modules/linebreak: Depend on xsize.
68951         * MODULES.html.sh (func_all_modules): Add xsize.
68952
68953 2003-11-04  Bruno Haible  <bruno@clisp.org>
68954
68955         * m4/xsize.m4: New file.
68956
68957 2003-11-04  Bruno Haible  <bruno@clisp.org>
68958
68959         * lib/xsize.h: New file.
68960         * lib/linebreak.c: Include xsize.h.
68961         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
68962         argument for overflow.
68963         Suggested by Paul Eggert.
68964
68965 2003-11-03  Karl Berry  <karl@gnu.org>
68966
68967         * config/config.{guess,sub}: update from config.
68968
68969 2003-11-03  Jim Meyering  <jim@meyering.net>
68970
68971         * modules/userspec (lib_SOURCES): Add userspec.h.
68972         (Include): Add "userspec.h".
68973         Improve description.
68974
68975 2003-11-03  Jim Meyering  <jim@meyering.net>
68976
68977         * lib/userspec.c: Include "userspec.h".
68978         * lib/userspec.h: New file.
68979
68980 2003-11-03  Bruno Haible  <bruno@clisp.org>
68981
68982         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
68983
68984 2003-11-03  Bruno Haible  <bruno@clisp.org>
68985
68986         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
68987         available, to avoid (extremely rare) race condition.
68988         Suggested by Paul Eggert.
68989
68990 2003-11-02  Karl Berry  <karl@gnu.org>
68991
68992         * config/srclist.txt (vasprintf.c): sync broken, sigh.
68993
68994 2003-10-31  Paul Eggert  <eggert@twinsun.com>
68995
68996         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
68997         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
68998         (read_filesystem_list): Set and use me_type_malloced.
68999         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
69000         whatever the type happens to be), for brevity and consistency.
69001         Check for size calculation overflow on Alphas running OSF/1.
69002
69003 2003-10-31  Jim Meyering  <jim@meyering.net>
69004
69005         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
69006
69007         * lib/linebuffer.c: Include <string.h> for declaration of memset.
69008
69009 2003-10-30  Paul Eggert  <eggert@twinsun.com>
69010             Bruno Haible  <bruno@clisp.org>
69011
69012         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
69013         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
69014
69015 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
69016
69017         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
69018         netbsd*-gnu*.  Suggested by Robert Millan.
69019
69020 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69021
69022         * modules/group-member: Depend on stdbool.
69023
69024 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69025
69026         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
69027
69028 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69029
69030         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
69031         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
69032         after the 'gnu' in these cases.  This fixes some bugs in the
69033         previous change, and is based on suggestions by Robert Millan.
69034
69035 2003-10-29  Paul Eggert  <eggert@twinsun.com>
69036
69037         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
69038         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
69039         no longer needed.
69040         * lib/quotearg.c (quotearg_n_options): Use it.
69041         * lib/group-member.c: Include <stdbool.h>.
69042         (free_group_info): Arg is now const *; don't free arg.
69043         (get_group_info): Now returns bool and accepts struct group_info *,
69044         rather than returning a malloc'ed struct group_info *.
69045         All uses changed.  Check for overflow in internal size calculation.
69046
69047         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
69048         rather than xmalloc/xrealloc.
69049         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
69050         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
69051         conformance bug: the old code used a pointer after freeing the
69052         storage that it addressed.
69053         * lib/hash.c (hash_initialize): Simplify the code by using
69054         xalloc_oversized rather than doing it by hand.
69055         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
69056         the buffer preserved.  Use free and xmalloc instead.
69057         * lib/quotearg.c (quotearg_n_options): Likewise.
69058         Use a simpler test for size overflow.  Don't use xalloc_oversized
69059         because unsigned int might be wider than size_t (!); this suggests
69060         that we should switch from unsigned int to size_t for slot numbers.
69061
69062 2003-10-28  Paul Eggert  <eggert@twinsun.com>
69063
69064         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
69065         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
69066         NetBSD kernels.  Requested by Richard Stallman.
69067
69068 2003-10-27  Paul Eggert  <eggert@twinsun.com>
69069
69070         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
69071         to allocate the returned structure.  Do not allocate a subarray,
69072         as x2nrealloc will do that.
69073         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
69074         instead of xnrealloc.
69075         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
69076
69077 2003-10-27  Bruno Haible  <bruno@clisp.org>
69078
69079         * lib/stdbool_.h: Better support for BeOS.
69080
69081 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69082
69083         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
69084         now uses inline.
69085
69086 2003-10-26  Paul Eggert  <eggert@twinsun.com>
69087
69088         * lib/xalloc.h (xalloc_oversized): New static inline function, for
69089         callers that want to do their own size-overflow checking.  Include
69090         <stdbool.h>, since xalloc_oversized returns bool.
69091         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
69092         to use xalloc_oversized.
69093
69094         Add two functions x2realloc, x2nrealloc, for programs that grow
69095         arrays dynamically by doubling their sizes.
69096         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
69097         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
69098         New functions.
69099
69100         Port to C99 semantics for 'inline' of external functions.
69101         Bug reported by Bruno Haible.
69102         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
69103         with the old contents of xnmalloc.
69104         (xnmalloc, xmalloc): Use it.
69105         (xnrealloc_inline): New static inline function,
69106         with the old contents of xnrealloc.
69107         (xnrealloc, xrealloc): Use it.
69108
69109         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
69110         that.
69111
69112 2003-10-26  Karl Berry  <karl@gnu.org>
69113
69114         * config/srclist.txt (COPYING.DOC): no longer available from
69115         /gd/gnuorg; don't know where the ultimate source is.
69116
69117 2003-10-25  Paul Eggert  <eggert@twinsun.com>
69118
69119         Fix several address-calculation bugs in the hash modules,
69120         plus some minor code cleanup.
69121
69122         * lib/hash.h: Include <stdbool.h>, for bool.
69123         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
69124         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
69125         hash_get_n_entries, hash_get_max_bucket_length,
69126         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
69127         hash_rehash): Use size_t rather than unsigned.
69128         * lib/hash.c (struct hash_table, hash_get_n_buckets,
69129         hash_get_n_buckets_used, hash_get_n_entries,
69130         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
69131         hash_get_entries, hash_do_for_each, hash_string, is_prime,
69132         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
69133         Likewise.
69134         (SIZE_MAX): Define if not defined.
69135         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
69136         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
69137         hash_print):
69138         Use const * when possible.
69139         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
69140         (check_tuning): Fix bug: if tuning parameters were very close to
69141         0 or 1, rounding errors could have caused subscript violations.
69142         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
69143         (hash_initialize): Add 'fail:' label
69144         to free table and return NULL, and use it to simplify code.
69145         Use calloc rather than clearing the storage ourself.
69146         (hash_initialize, hash_rehash): Check for arithmetic overflow in
69147         buffer size calculations.
69148         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
69149         Include <stddef.h>, for size_t.
69150         * lib/hash-pjw.c (hash_pjw): Likewise.
69151         Switch to method described by Bruno Haible.
69152         Include <limits.h>, for CHAR_BIT.
69153         (SIZE_BITS): New macro.
69154
69155 2003-10-23  Paul Eggert  <eggert@twinsun.com>
69156
69157         * m4/getline.m4 (AM_FUNC_GETLINE):
69158         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
69159         hosts.  Problem reported by Derek Robert Price in
69160         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
69161         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
69162         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
69163
69164 2003-10-21  Paul Eggert  <eggert@twinsun.com>
69165
69166         * lib/getndelim2.c (getndelim2): When size calculation overflows,
69167         ceiling the allocation at NMAX bytes rather than silently
69168         discarding input bytes before NMAX is reached.  This makes
69169         a difference only if NMAX exceeds SIZE_MAX / 2.
69170
69171         * lib/obstack.c: Merge from glibc.
69172         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
69173         Add libc_hidden_def (_obstack_newchunk).
69174         (_obstack_free) [! defined _LIBC]: Remove.
69175         [defined _LIBC]: Make a strong alias from obstack_free, rather than
69176         a clone of the function body.
69177         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
69178         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
69179
69180         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
69181         glibc.
69182         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
69183         arg to memcpy.
69184
69185         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
69186         (obstack_ptr_grow_fast, obstack_int_grow_fast):
69187         Don't use lvalue casts, as GCC plans to remove support for them
69188         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
69189         was also present in the non-GCC version, indicating that this
69190         code had always been buggy and had never been widely used.
69191         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
69192         Use the fast variant of each macro, rather than copying the
69193         definiens of the fast variant; that way, we'll be more likely to
69194         catch future bugs in the fast variants.
69195
69196 2003-10-20  Bruno Haible  <bruno@clisp.org>
69197
69198         * modules/wait-process: New file.
69199         * MODULES.html.sh (func_all_modules): Add wait-process.
69200
69201 2003-10-20  Bruno Haible  <bruno@clisp.org>
69202
69203         * m4/wait-process.m4: New file.
69204
69205 2003-10-20  Bruno Haible  <bruno@clisp.org>
69206
69207         * lib/wait-process.h: New file, from GNU gettext.
69208         * lib/wait-process.c: New file, from GNU gettext.
69209
69210 2003-10-19  Jim Meyering  <jim@meyering.net>
69211
69212         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
69213         HPUX 10.20.
69214
69215 2003-10-18  Karl Berry  <karl@gnu.org>
69216
69217         * config/config.guess: update from config.
69218
69219 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69220
69221         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
69222         (getgroups): First arg is int, not size_t.
69223         Don't let 'free' mangle errno.
69224
69225 2003-10-16  Paul Eggert  <eggert@twinsun.com>
69226
69227         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
69228
69229 2003-10-16  Karl Berry  <karl@gnu.org>
69230
69231         * config/config.{guess,sub}: update from config.
69232
69233 2003-10-16  Jim Meyering  <jim@meyering.net>
69234
69235         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
69236         memcpy.
69237
69238 2003-10-15  Paul Eggert  <eggert@twinsun.com>
69239
69240         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
69241         (SIZE_MAX): Remove.
69242         (new_exclude, add_exclude_file): Initial size no longer needs to
69243         be a power of 2.
69244         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
69245         our own address arithmetic overflow checking.
69246
69247         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
69248         (fnmatch): Do not alloca more than 2000 wide characters;
69249         instead, use malloc for large buffers.
69250         Check for address arithmetic overflow, and return -1
69251         with errno set to ENOMEM in that case.
69252         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
69253         (NEW_PATTERN): Do not alloca more than 8000 bytes;
69254         instead, return -1.  Check for address arithmetic overflow.
69255
69256 2003-10-14  Paul Eggert  <eggert@twinsun.com>
69257
69258         Handle invalid suffixes and overflow independently, so that
69259         callers can treat them independently as needed.  Fix some bugs in
69260         suffix handling, e.g., "100k@" was not diagnosed as an invalid
69261         suffix for a human-readable blocksize.  The major caller-visible
69262         change is the addition of a new
69263         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
69264         that both overflow and suffix chars were found.
69265
69266         * lib/human.c (humblock): Don't check separately for invalid suffix
69267         char; that is xstrtoumax's job (now that its bug is fixed).
69268         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
69269         INTMAX_MAX]: New macros.
69270         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
69271         TYPE_MAXIMUM): New macros.
69272         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
69273         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
69274         if overflow occurs, as it's what __strtol does and it's more useful
69275         in practice.
69276         (__xstrtol): If __strtol reports some error other than ERANGE,
69277         reflect it to the caller as LONGINT_INVALID.  If it reports
69278         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
69279         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
69280         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
69281         value.
69282         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
69283         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
69284         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
69285         [defined UINTMAX_MAX]: New macros.
69286
69287 2003-10-14  Bruno Haible  <bruno@clisp.org>
69288
69289         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
69290
69291 2003-10-14  Bruno Haible  <bruno@clisp.org>
69292
69293         * m4/sig_atomic_t: New file, from GNU gettext.
69294         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
69295
69296 2003-10-14  Bruno Haible  <bruno@clisp.org>
69297
69298         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
69299         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
69300         Also use volatile where needed.
69301
69302 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69303
69304         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
69305         Change maintainer from Bruno Haible to 'all'.
69306
69307 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69308
69309         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
69310
69311 2003-10-12  Paul Eggert  <eggert@twinsun.com>
69312
69313         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
69314         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
69315         and define in terms of the other primitives.
69316         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
69317         (SIZE_MAX): Define if not already defined.
69318         (array_size_overflow): New function.
69319         (xalloc_die): Abort instead of exiting if 'error' returns.
69320         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
69321         (xmalloc, xrealloc): Use them.
69322         (xcalloc): Check for address arithmetic overflow.
69323         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
69324         a bit faster than strcpy.
69325
69326 2003-10-10  Simon Josefsson  <jas@extundo.com>
69327
69328         * modules/argp (Depends-on): Add restrict and strcase.
69329
69330 2003-10-10  Simon Josefsson  <jas@extundo.com>
69331
69332         * m4/argp.m4: Add AC_C_INLINE.
69333
69334 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69335
69336         Merge getpass from libc, plus a few fixes.
69337
69338         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
69339         Include <stdbool.h>.
69340         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
69341         __fsetlocking to empty.
69342         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
69343         do include <bits/libc-lock.h>.
69344         Do not include <fcntl.h>; not needed.
69345         [_LIBC]: Include <wchar.h>.
69346         (NOTCANCEL_MODE): New macro.
69347         (flockfile, funlockfile) [_LIBC]: New macros.
69348         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
69349         [!_LIBC]: New macros.
69350         (call_fclose): New function.
69351         (getpass): Use it.  Save tty stream separately; this simplifies the
69352         code and makes it more reliable if stdin happens to equal stdout.
69353         Invoke __fsetlocking on tty.
69354         Handle thread cancellation if needed.
69355         Namespace cleanup (use __tcgetattr, __getline).
69356         Use bool for Booleans.
69357         [USE_IN_LIBIO]: Handle wide streams.
69358         [!_LIBC]: Unconditionally do the fseek, since we don't know what
69359         stream might go where.
69360
69361         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
69362         doesn't have to include <stdio.h> before us.
69363         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
69364         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
69365         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
69366         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
69367         if not declared, so that we can use getpass.c code from libc without
69368         rewriting it.
69369         (flockfile, ftrylockfile, funlockfile): New macros.
69370
69371 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69372
69373         * modules/getpass: Depend on stdbool.
69374
69375 2003-10-08  Paul Eggert  <eggert@twinsun.com>
69376
69377         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
69378
69379 2003-10-07  Karl Berry  <karl@gnu.org>
69380
69381         * config/config.{guess,sub}: update from config.
69382
69383 2003-10-06  Jim Meyering  <jim@meyering.net>
69384             Bruno Haible  <bruno@clisp.org>
69385
69386         This lets translators provide better translations for the
69387         "Written by ..." part of --version output.
69388         * lib/version-etc.h: Include stdarg.h.
69389         (version_etc_copyright): Declare as readonly.
69390         (version_etc): Make this function variadic with a NULL-terminated list
69391         of author name strings.
69392         (version_etc_va): New declaration.
69393         * lib/version-etc.c: Include stdarg.h, stdlib.h.
69394         (version_etc_copyright): Declare as readonly.
69395         (version_etc_va): New function. Provide a different translatable string
69396         for each possible number of authors < 10. Abbreviate when there are 10
69397         authors or more.
69398         (version_etc): Make this function variadic. Call version_etc_va.
69399         Suggestion from Gary V. Vaughan.
69400
69401         * lib/long-options.h (parse_long_options): Change prototype: the
69402         authors string is moved to the end and becomes variadic.
69403         * lib/long-options.c: Include stdarg.h.
69404         (parse_long_options): Make this function variadic, too.
69405         Call version_etc_va, not version_etc.
69406
69407 2003-10-06  Bruno Haible  <bruno@clisp.org>
69408
69409         * modules/version-etc-2: Remove file.
69410         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
69411
69412 2003-10-06  Bruno Haible  <bruno@clisp.org>
69413
69414         * modules/fatal-signal: New file.
69415         * MODULES.html.sh (func_all_modules): Add fatal-signal.
69416
69417 2003-10-06  Bruno Haible  <bruno@clisp.org>
69418
69419         * m4/fatal-signal.m4: New file.
69420         * m4/signalblocking.m4: New file, from GNU gettext.
69421
69422 2003-10-06  Bruno Haible  <bruno@clisp.org>
69423
69424         * lib/version-etc-2.h: Remove file.
69425         * lib/version-etc-2.c: Remove file.
69426
69427 2003-10-06  Bruno Haible  <bruno@clisp.org>
69428
69429         * lib/fatal-signal.h: New file, from GNU gettext.
69430         * lib/fatal-signal.c: New file, from GNU gettext.
69431
69432 2003-10-05  Paul Eggert  <eggert@twinsun.com>
69433
69434         * README: Rework advice for preventing empty .o files.
69435         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
69436         not <sys/types.h>.
69437
69438 2003-10-04  Karl Berry  <karl@gnu.org>
69439
69440         * lib/argp*: update from libc.
69441
69442 2003-10-04  Karl Berry  <karl@gnu.org>
69443
69444         * config/config.{guess,sub}: update from config.
69445
69446 2003-10-02  Bruno Haible  <bruno@clisp.org>
69447
69448         * modules/lchown (Include): Add lchown.h.
69449         * modules/time_r (Include): Use "..." syntax.
69450         * modules/xgetdomainname (Include): Add xgetdomainname.h.
69451
69452 2003-10-01  Simon Josefsson  <jas@extundo.com>
69453
69454         * MODULES.html.sh (func_all_modules): Move gethostname from section
69455         'based on' to section 'lacking' POSIX:2001.
69456
69457 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
69458
69459         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
69460         to output mode on the same stream.
69461
69462 2003-09-29  Paul Eggert  <eggert@twinsun.com>
69463
69464         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
69465         Fix arg typo in previous patch.
69466
69467 2003-09-28  Jim Meyering  <jim@meyering.net>
69468
69469         * lib/error.c: Correct cpp indentation.
69470
69471 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69472
69473         * modules/free: New file.
69474
69475 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69476
69477         * m4/free.m4: New file.
69478
69479 2003-09-27  Paul Eggert  <eggert@twinsun.com>
69480
69481         * lib/minmax.h (MIN, MAX)
69482         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
69483         Omit the special code that used __typeof__, since we worry that
69484         it could be more trouble than it's worth.  See:
69485         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
69486         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
69487
69488         * lib/free.c: New file.
69489
69490 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
69491
69492         Trivial fixes to Makefile.am parts of module listings.
69493         * modules/strstr: Append strstr.h to lib_SOURCES.
69494         * modules/strcase: Likewise, for strcase.h.
69495
69496 2003-09-27  Karl Berry  <karl@gnu.org>
69497
69498         * config/mkinstalldirs: update from automake.
69499
69500 2003-09-26  Paul Eggert  <eggert@twinsun.com>
69501
69502         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
69503         (error_tail): Do not loop, reallocating temporary buffer, since
69504         the output cannot contain more wide characters than the input
69505         contains bytes, the size must be big enough already.  This avoids
69506         one potential size overflow calculation.  Check for size overflow
69507         when calculating temporary buffer size.  Free temporary buffer
69508         when done, if it was allocated with malloc; this plugs a memory
69509         leak.  Remove casts from void * to pointers, that are no longer
69510         needed now that we're assuming C89 or better.
69511
69512         Merge error changes from glibc.
69513
69514         * lib/error.c, error.h: Update copyright notice header to match glibc.
69515         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
69516         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
69517         Disable cancellation while printing error.
69518         * lib/error.h: Prepend __ to parameter names.
69519
69520 2003-09-26  Jim Meyering  <jim@meyering.net>
69521
69522         * lib/error.c (error_tail): Move some declarations
69523         into inner scope where the local variables are used.
69524
69525 2003-09-26  Bruno Haible  <bruno@clisp.org>
69526
69527         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
69528         stpncpy().
69529         Don't define stpncpy through config.h; it's now done through stpncpy.h.
69530
69531 2003-09-26  Bruno Haible  <bruno@clisp.org>
69532
69533         * lib/stpncpy.h (gnu_stpncpy): New declaration.
69534         (stpncpy): Define as alias for gnu_stpncpy.
69535         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
69536
69537 2003-09-25  Simon Josefsson  <jas@extundo.com>
69538
69539         * lib/xgetdomainname.h: New file.
69540         * lib/xgetdomainname.c: New file.
69541
69542 2003-09-25  Simon Josefsson  <jas@extundo.com>
69543             Bruno Haible  <bruno@clisp.org>
69544
69545         * modules/getdomainname: New file.
69546         * modules/xgetdomainname: New file.
69547         * MODULES.html.sh (func_all_modules): Add getdomainname,
69548         xgetdomainname.
69549
69550 2003-09-25  Simon Josefsson  <jas@extundo.com>
69551             Bruno Haible  <bruno@clisp.org>
69552
69553         * m4/getdomainname.m4: New file.
69554
69555 2003-09-25  Simon Josefsson  <jas@extundo.com>
69556             Bruno Haible  <bruno@clisp.org>
69557
69558         * lib/getdomainname.h: New file.
69559         * lib/getdomainname.c: New file.
69560
69561 2003-09-25  Karl Berry  <karl@gnu.org>
69562
69563         * lib/argp-fmtstream.c, argp-help.c: update from libc.
69564
69565 2003-09-25  Karl Berry  <karl@gnu.org>
69566
69567         * config/install-sh: update from automake.
69568
69569 2003-09-25  Bruno Haible  <bruno@clisp.org>
69570
69571         * modules/version-etc-2: New file, from modules/version-etc with
69572         modifications.
69573         * MODULES.html.sh (func_all_modules): Add version-etc-2.
69574
69575 2003-09-25  Bruno Haible  <bruno@clisp.org>
69576
69577         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
69578         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
69579
69580 2003-09-24  Simon Josefsson  <jas@extundo.com>
69581
69582         * modules/xgethostname: Add xgethostname.h.
69583
69584 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69585
69586         * lib/linebuffer.c (freebuffer): Don't free the argument, just
69587         the buffer associated with the argument.  Bug reported by
69588         Simon Josefsson.
69589
69590 2003-09-24  Paul Eggert  <eggert@twinsun.com>
69591
69592         * README: Document assumptions that 'int' is at least 32 bits
69593         wide, that integer arithmetic is 2's complement without overflow,
69594         that there are no holes in integer values, that adding sizes of
69595         two nonoverlapping objects can't overflow, and that all-bits-zero
69596         yields scalar zero.  Fix spelling and capitalization typos.
69597
69598 2003-09-19  Karl Berry  <karl@gnu.org>
69599
69600         * lib/argp.h: update from libc.
69601
69602 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69603
69604         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
69605         to avoid spurious warnings like "AC_RUN_IFELSE was called before
69606         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
69607
69608 2003-09-17  Paul Eggert  <eggert@twinsun.com>
69609
69610         * gnulib-tool: Use "test -h", not "test -L", for portability
69611         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
69612         (tags_regexp): Remove, since \| doesn't conform to POSIX.
69613         (sed_extract_prog): Issue s commands one-by-one, rather than
69614         using \| in one s command.
69615
69616 2003-09-16  Paul Eggert  <eggert@twinsun.com>
69617
69618         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
69619         input error, instead of returning NULL the next time we are called
69620         (and therefore losing track of errno).
69621
69622 2003-09-16  Bruno Haible  <bruno@clisp.org>
69623
69624         * gnulib-tool (func_create_testdir): Warn about duplicated
69625         dependencies.
69626
69627 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69628
69629         * modules/argmatch, modules/fatal, modules/obstack,
69630         modules/xalloc, modules/xgethostname: Sort dependencies by
69631         importance, not alphabetically.
69632
69633 2003-09-15  Paul Eggert  <eggert@twinsun.com>
69634
69635         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
69636         fails, so that the caller gets the proper errno.
69637
69638         * lib/readutmp.c (read_utmp): Likewise.
69639         Check for fstat error.  Close stream and free storage
69640         when failing.
69641
69642 2003-09-14  Karl Berry  <karl@gnu.org>
69643
69644         * config/srclist.txt (strdup.c): disable for c89 changes.
69645
69646 2003-09-14  Jim Meyering  <jim@meyering.net>
69647
69648         * lib/getloadavg.c: Correct cpp indentation.
69649         * lib/strdup.c: Likewise.
69650         * lib/vasnprintf.c: Likewise.
69651
69652 2003-09-14  Bruno Haible  <bruno@clisp.org>
69653
69654         * modules/fwriteerror: New file.
69655         * MODULES.html.sh (func_all_modules): Add fwriteerror.
69656
69657 2003-09-14  Bruno Haible  <bruno@clisp.org>
69658
69659         * lib/fwriteerror.h: New file.
69660         * lib/fwriteerror.c: New file.
69661
69662 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69663
69664         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
69665         modules/xgethostname, modules/xalloc: Depend on exit.
69666
69667 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69668
69669         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
69670
69671         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
69672         and AC_MINIX, too, so that their extensions are available.
69673
69674         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
69675         This macro has been superseded by gl_BACKUPFILE.
69676
69677         More patches to assume C89 or better.
69678
69679         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
69680
69681         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
69682         unconditionally.
69683         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
69684         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
69685         Include <string.h>, <stdlib.h> unconditionally.
69686         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
69687         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
69688         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
69689         headers or for string.h.
69690         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
69691         or strtoul.
69692
69693         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
69694         headers.
69695         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
69696         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69697         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
69698         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
69699         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69700         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
69701         memcpy, memset.
69702         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
69703         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
69704         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
69705         strtol.
69706         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
69707         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
69708         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
69709         strtoul.
69710
69711 2003-09-12  Paul Eggert  <eggert@twinsun.com>
69712
69713         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
69714         * lib/obstack.c [!defined _LIBC]: Likewise.
69715         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
69716         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
69717         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
69718
69719         More changes to assume C89 or better.
69720
69721         * lib/error.c (error_tail): Assume vprintf.
69722
69723         * lib/argmatch.c (getenv): Remove decl.
69724         * lib/progreloc.c (get_full_program_name): Define via prototype.
69725         * lib/setenv.c (clearenv): Likewise.
69726         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
69727         needed.
69728         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
69729         (malloc, memcpy): Remove decls.
69730         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
69731         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
69732         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69733         (memcpy): Remove macro.
69734         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
69735         (__P): Remove.  All uses removed.
69736         (PTR): Remove.  All uses changed to void *.
69737         (CHAR_BIT, NULL): Remove.
69738         (spaces, zeros, memset_space, memset_zero)
69739         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
69740         Remove.
69741         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
69742         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
69743         Define with prototype.
69744         Remove now-unnecessary prototype decl.
69745         (extra_args_spec): Assume ANSI C.  All uses changed.
69746         (extra_args_spec_iso): Remove.
69747         (my_strftime, emacs_strftimeu): Define via prototype.
69748         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
69749         unconditionally.
69750         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
69751         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
69752         (strtoul, strtol): Remove decls.
69753         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
69754         LONG_MAX): Remove.
69755         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
69756         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
69757         (LOCALE_PARAM_PROTO): New macro.
69758         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
69759         (INTERNAL (strtol), strtol): Define with a prototype.
69760         (PARAMS): Remove.  All uses removed.
69761         * lib/tempname.c: Include <string.h> unconditionally.
69762         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
69763         * lib/xgethostname.c (main): Define with a prototype.
69764         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
69765         Include <stdlib.h> unconditionally.
69766         (calloc, malloc, realloc, free): Remove decls.
69767         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
69768         Include <stdlib.h> unconditionally.  Sort include file names.
69769         (strtod): Remove.
69770         (xstrtod): Define with a prototype.
69771         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
69772         (strtol, strtoul): Remove decls.
69773
69774 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69775
69776         More patches to assume C89 or better.
69777         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
69778         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
69779         string.h, memchr, STDC_HEADERS.
69780
69781 2003-09-11  Paul Eggert  <eggert@twinsun.com>
69782
69783         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
69784         Include <stdlib.h>, <string.h> unconditionally.
69785         Remove now-unnecessary cast to char *.
69786         * lib/strnlen.c: Include <string.h> unconditionally.
69787         * lib/yesno.c (yesno): Define with a prototype.
69788
69789 2003-09-11  Bruno Haible  <bruno@clisp.org>
69790
69791         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
69792
69793 2003-09-10  Jim Meyering  <jim@meyering.net>
69794
69795         * lib/error.c: Correct indentation of cpp directives.
69796
69797 2003-09-10  Bruno Haible  <bruno@clisp.org>
69798
69799         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
69800         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
69801         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
69802         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
69803         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
69804         <stdlib.h> and <string.h> checks.
69805         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
69806         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
69807
69808 2003-09-10  Bruno Haible  <bruno@clisp.org>
69809
69810         * lib/strcspn.c: Include <string.h> unconditionally.
69811         * lib/strpbrk.c: Include <string.h> unconditionally.
69812         * lib/strstr.c: Include <string.h> unconditionally.
69813         * lib/unicodeio.c: Include <string.h> unconditionally.
69814         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
69815         * lib/unsetenv.c: Likewise.
69816         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
69817         * lib/yesno.c: Include <stdlib.h> unconditionally.
69818         (rpmatch): Add prototype.
69819
69820 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69821
69822         More patches to assume C89 or better.
69823         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
69824         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
69825         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
69826         or for string.h.
69827         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
69828         stdlib.h.
69829         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
69830         C headers.
69831         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
69832         string.h.
69833         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
69834         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
69835         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
69836         or for string.h.
69837         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
69838         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
69839         C headers.
69840         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
69841         memcpy.
69842         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
69843         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
69844         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
69845         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
69846         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
69847         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
69848         string.h, free.
69849         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
69850         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
69851         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
69852         C headers, or for string.h.
69853         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
69854         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
69855         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
69856         headers, memory.h, stdlib.h, string.h, strings.h.
69857         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
69858         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
69859         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
69860         strchr.
69861         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
69862         headers, memory.h, string.h.
69863         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
69864         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
69865         free.
69866         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
69867         headers.
69868         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
69869         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
69870         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
69871         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
69872         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
69873
69874 2003-09-09  Paul Eggert  <eggert@twinsun.com>
69875
69876         More K&R removal.
69877
69878         * lib/acosl.c (main): Use a prototype.
69879         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
69880         tanl.c: Likewise.
69881
69882         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
69883
69884         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
69885         (getopt, etopt_long, getopt_long_only, _getopt_internal)
69886         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
69887         with a prototype.
69888         * lib/getopt.c (const): Remove macro.
69889         Include <string.h> unconditionally.
69890         (my_index): Remove; all uses changed to strchr.
69891         (strlen): Remove decl.
69892         (exchange): Remove forward decl; no longer needed.
69893         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
69894         Define with prototype.
69895         * lib/getopt1.c (const): Remove macro.
69896         (getopt_long, getopt_long_only, main): Define with prototype.
69897
69898         * lib/getugroups.c: Include <string.h> unconditionally.
69899
69900         * lib/getusershell.c: Include <stdlib.h> unconditionally.
69901         (getusershell, setusershell, endusershell, readname, main):
69902         Define with prototypes.
69903
69904         * lib/group-member.c: Include group-member.h first.
69905         Include <stdlib.h> unconditionally.
69906
69907         * lib/hard-locale.c: Include hard-locale.h first.
69908         Include <stdlib.h>, <string.h> unconditionally.
69909
69910         * lib/hash.c (free, malloc): Remove decls.
69911         Include <stdlib.h> unconditionally.
69912
69913         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
69914         (getenv): Do not declare.
69915
69916         * lib/idcache.c: Include <string.h> unconditionally.
69917
69918         * lib/long-options.c: Include long-options.h first, to test interface.
69919         Include <stdlib.h> unconditionally.
69920
69921         * lib/makepath.c: Include makepath.h first, to test interface.
69922         Include <stdlib.h> and <string.h> unconditionally.
69923
69924         * lib/linebuffer.c: Include <stdlib.h>.
69925         (free): Remove decl.
69926
69927         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
69928         stddef.h. rpl_malloc returns void *, not char *.
69929         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
69930         prototype.
69931
69932         * lib/md5.h: Include <limits.h> unconditionally.
69933         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
69934         (__P): Remove; all uses removed.
69935         * lib/md5.c: Include "md5.h" first.
69936         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
69937         md5_buffer, md5_process_bytes, md5_process_block):
69938         Define with prototypes.
69939         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
69940         * lib/sha.c: Include "sha.h" first.
69941         Include <stdlib.h>, <string.h> unconditionally.
69942
69943         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
69944         * lib/memcmp.c (__ptr_t): Likewise.
69945         * lib/memrchr.c (__ptr_t): Likewise.
69946         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
69947         Include <string.h> unconditionally.
69948         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
69949         * lib/memchr.c: Include <stdlib.h> unconditionally.
69950         * lib/memchr.c (LONG_MAX): Remove.
69951         * lib/memrchr.c (LONG_MAX): Likewise.
69952         * lib/memchr.c (__memchr): Define via a prototype.
69953         * lib/memrchr.c (__memrchr): Likewise.
69954         * lib/memcmp.c (__P): Remove, and remove all uses.
69955         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
69956         Remove forward decls; no longer needed.
69957         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
69958         Use types required by C89 in prototype.
69959
69960         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
69961         * lib/savedir.c: Likewise.
69962         * lib/mkdir.c (free): Remove decl.
69963         * lib/rmdir.c (rmdir): Define with a prototype.
69964         * lib/savedir.c: Include savedir.h first, to test interface.
69965
69966         * lib/mktime.c (STDC_HEADERS): Remove.
69967         Include <stdlib.h>, <string.h> unconditionally.
69968
69969         * lib/modechange.c: Include <stdlib.h> unconditionally.
69970         (malloc): Remove decl.
69971
69972         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
69973         (free): Remove decl.
69974
69975         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
69976         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
69977         (This type really should be intptr_t, but that's a C99ism.)
69978         (_obstack_memcpy): Remove: all uses changed to memcpy.
69979         Include <string.h> unconditionally.
69980         (struct obstack): Assume __STDC__ for types of members
69981         chunkfun, freefun, extra_arg.
69982         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
69983         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
69984         obstack_begin, obstack_specify_allocation,
69985         obstack_specify_allocation_with_arg, obstack_chunkfun,
69986         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
69987         Remove unprototyped decls and the macros that use them.
69988         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
69989         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
69990         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
69991         (defined __STDC__ && __STDC__)]:
69992         Remove nonprototyped code.
69993         Include <stdlib.h> unconditionally.
69994         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
69995         _obstack_allocated_p, _obstack_free, obstack_free,
69996         _obstack_memory_used, print_and_abort):
69997         Define using prototypes.
69998         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
69999         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
70000         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
70001         obstack_next_free, obstack_object_size, obstack_room) [0]:
70002         Remove unused, unprototyped code.
70003
70004         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
70005
70006         * lib/physmem.c (physmem_total, physmem_available, main): Define
70007         with prototypes.
70008
70009         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
70010         (main): Define with a prototype.
70011
70012         * lib/posixver.c (getenv): Remove decl.
70013
70014         * lib/putenv.c (malloc): Returns void *, not char *.
70015         Include <string.h> unconditionally.
70016         (strchr, memcpy, NULL): Do not define.
70017
70018         * lib/readtokens.c: Include readtokens.h first, to test interface.
70019         Include <stdlib.h>, <string.h> unconditionally.
70020         (init_tokenbuffer): Define with a prototype.
70021
70022         * lib/regex.c (PARAMS): Remove.  All uses removed.
70023         All uses of _RE_ARGS removed, too.
70024         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
70025         unconditionally.
70026         (bzero): Assume memset exists.
70027         (memcmp, memcpy, NULL): Remove.
70028         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
70029         char, or assignments to local vars of type signed char.
70030         (init_syntax_once, PREFIX(extract_number_and_incr),
70031         PREFIX(print_partial_compiled_pattern),
70032         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
70033         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
70034         PREFIX(regex_grow_registers), PREFIX(regex_compile),
70035         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
70036         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
70037         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
70038         wcs_compile_range, byte_compile_range, truncate_wchar,
70039         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
70040         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
70041         count_mbs_length, wcs_re_match_2_internal,
70042         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
70043         PREFIX(alt_match_null_string_p),
70044         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
70045         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
70046         regfree, PREFIX(extract_number)): Define with prototype.  Remove
70047         now-unnecessary declaration, if any.
70048         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
70049         regcomp, regexec):
70050         Remove now-unnecessary casts among pointer types.
70051         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
70052
70053         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
70054         (free): Remove decl.
70055
70056         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
70057
70058         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
70059         (free): Remove decl.
70060
70061         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
70062         * lib/xgetcwd.c: Likewise.
70063
70064         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
70065         (free): Remove decl.
70066
70067         * lib/strchrnul.c (strchrnul): Define with a prototype.
70068         Fix bug: c_in was not converted to char before searching.
70069
70070         The following changes are not K&R related:
70071
70072         * lib/group-member.h: Include <sys/types.h>, so that this file is
70073         self-contained.
70074         * lib/makepath.h: Likewise.
70075
70076         * lib/getusershell.c (readname, default_index, line_size, readname):
70077         Use size_t, not int, for sizes.
70078         (readname): If the size overflows, report an error instead of
70079         looping forever.
70080
70081 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70082
70083         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
70084         libc.
70085
70086 2003-09-09  Paul Eggert  <eggert@twinsun.com>
70087
70088         * README: New section: portability guidelines.
70089
70090 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70091
70092         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
70093         C89 spec.
70094
70095 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
70096
70097         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
70098
70099 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70100
70101         Assume C89 or better; remove K&R cruft.
70102         A few of these changes were first proposed by Derek Robert Price
70103         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
70104
70105         * lib/addext.c: Include <string.h> unconditionally.
70106         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
70107         Don't declare getenv or malloc.
70108
70109         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
70110         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
70111         (NULL): Remove.
70112         (find_stack_direction, alloca): Use prototypes.
70113
70114         * lib/atexit.c (atexit): Define using a prototype.
70115
70116         * lib/basename.c, dirname.c, stripslash.c:
70117         Include <string.h> unconditionally.
70118
70119         * lib/bcopy.c: Include <stddef.h>.
70120         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
70121
70122         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
70123
70124         * lib/error.h (error, error_at_line, error_print_progname)
70125         [! (defined (__STDC__) && __STDC__)]: Remove decls.
70126         * lib/error.c: Include error.h first, to check interface.
70127         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70128         (VA_START): Remove; all uses changeed to va_start.
70129         (exit, strerror): Remove decls.
70130         (error_print_progname): Prototype uncondionally.
70131         Don't include <errno.h>; no longer needed.
70132         (private_strerror): Remove.
70133         (error_tail): Always define.
70134         (error, error_at_line): Assume C89 or better; always use prototypes.
70135         * lib/fatal.c: Include "fatal.h" first, to test interface.
70136         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
70137         (VA_START): Remove; all uses changed to va_start.
70138         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
70139         this case.
70140         (exit): Remove decl.
70141         (fatal): Prototype unconditionally.  Assume va_start works.
70142         Abort at end, to pacify gcc.
70143
70144         * lib/euidaccess.c (main): Define with a prototype.
70145
70146         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
70147
70148         * lib/exitfail.c: Include <stdlib.h> unconditionally.
70149
70150         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
70151         prototypes.
70152         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
70153         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
70154         (getenv): Remove decl.
70155         (fnmatch): Define using a prototype.
70156         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
70157         (FCT): Define using a prototype.
70158
70159         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
70160
70161         * lib/gethostname.c: Include <stddef.h>.
70162         (gethostname): Define with prototype.  Length is size_t, not int.
70163
70164 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70165
70166         Assume C89 or better; remove K&R cruft.
70167         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
70168         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
70169         string.h, getenv, malloc.
70170         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
70171         headers.
70172         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
70173         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
70174         do not check for strerror.
70175         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
70176         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
70177         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
70178         do not check for doprnt or vprintf.
70179         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
70180         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
70181
70182 2003-09-08  Paul Eggert  <eggert@twinsun.com>
70183
70184         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
70185         getversion.c should have been removed then, but was accidentally
70186         preserved.
70187
70188         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
70189         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
70190
70191 2003-09-08  Karl Berry  <karl@gnu.org>
70192
70193         * config/config.sub, config.guess, srclistvars.sh: update from savannah
70194                 config, forget about prep.
70195
70196         * config/depcomp, missing: update from automake.
70197
70198 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70199
70200         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
70201         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70202
70203 2003-09-07  Paul Eggert  <eggert@twinsun.com>
70204
70205         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
70206         copy_tm_result.  Bug reported by Simon Josefsson in
70207         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
70208
70209 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70210
70211         * m4/time_r.m4: New file.
70212         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
70213         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
70214         is. Check for timegm declaration.
70215         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
70216         Do not check for gmtime_r.
70217         Replace mktime if __mktime_internal does not exist and if mktime
70218         hasn't been replaced already.
70219
70220 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70221
70222         * lib/time_r.c, lib/time_r.h: New files.
70223
70224         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
70225         __localtime_r.
70226         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
70227         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
70228
70229         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
70230         __gmtime_r.
70231         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
70232         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
70233         Include <time_r.h>.
70234
70235         * lib/timegm.c: Switch to glibc implementation, with the following
70236         changes:
70237         [defined HAVE_CONFIG_H]: Include <config.h>.
70238         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
70239         (__mktime_internal) [!defined _LIBC]: New decl.
70240         (__gmtime_r) [!defined _LIBC]: New macro and function.
70241         (timegm): Use a prototype, since gnulib assumes C89.
70242         Do not bother declaring tmp to be const, as it's not really usefu.
70243         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
70244         (timegm): Declare only if HAVE_DECL_TIMEGM.
70245
70246 2003-09-06  Paul Eggert  <eggert@twinsun.com>
70247
70248         * MODULES.html.sh (func_all_modules): Add time_r.
70249         * modules/time_r: New file.
70250         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
70251         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
70252
70253 2003-09-03  Paul Eggert  <eggert@twinsun.com>
70254
70255         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
70256         Bug reported by Lute Kamstra in
70257         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
70258
70259         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
70260         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
70261         course with correspondingly smaller numbers for tomorrow and
70262         yesterday.  From Tadayoshi Funaba.  Originally installed into
70263         sh-utils on 1999-08-07, but the patch got lost (I guess during the
70264         coreutils merge?).
70265
70266 2003-08-31  Simon Josefsson  <jas@extundo.com>
70267
70268         * modules/timegm: New file.
70269         * MODULES.html.sh (func_all_modules): Add timegm.
70270
70271 2003-08-31  Simon Josefsson  <jas@extundo.com>
70272
70273         * m4/timegm.m4: New file.
70274
70275 2003-08-31  Simon Josefsson  <jas@extundo.com>
70276
70277         * lib/timegm.h: New file.
70278         * lib/timegm.c: New file.  Based on
70279         wget-1.8.2/src/http.c:mktime_from_utc.
70280
70281 2003-08-31  Karl Berry  <karl@gnu.org>
70282
70283         * lib/argp.h: update from libc.
70284
70285 2003-08-28  Bruno Haible  <bruno@clisp.org>
70286
70287         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
70288         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
70289         followed by '#define fnmatch fnmatch_posix' gives an error.
70290
70291 2003-08-28  Bruno Haible  <bruno@clisp.org>
70292
70293         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
70294         warning on QNX, which defines O_BINARY to 000000.
70295
70296 2003-08-27  Jim Meyering  <jim@meyering.net>
70297
70298         * m4/mkstemp.m4: Require that the system mkstemp be able to create
70299         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
70300         would fail after 32.  Reported by Danny Levinson.  Details here:
70301         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
70302
70303 2003-08-24  Bruno Haible  <bruno@clisp.org>
70304
70305         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
70306         MSVC7 <stdio.h> is included later.
70307
70308 2003-08-22  Simon Josefsson  <jas@extundo.com>
70309
70310         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
70311
70312 2003-08-20  Karl Berry  <karl@gnu.org>
70313
70314         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
70315
70316 2003-08-20  Bruno Haible  <bruno@clisp.org>
70317
70318         * modules/progname: New file.
70319         * MODULES.html.sh (func_all_modules): Add progname.
70320
70321 2003-08-20  Bruno Haible  <bruno@clisp.org>
70322
70323         * lib/progname.h: New file, from GNU gettext.
70324         * lib/progname.c: New file, from GNU gettext.
70325         * lib/progreloc.c: New file, from GNU gettext.
70326
70327 2003-08-19  Jim Meyering  <jim@meyering.net>
70328
70329         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
70330         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
70331
70332 2003-08-19  Bruno Haible  <bruno@clisp.org>
70333
70334         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
70335         more.
70336
70337 2003-08-19  Bruno Haible  <bruno@clisp.org>
70338
70339         * lib/xstrdup.c: Assume <string.h> exists.
70340
70341 2003-08-18  Paul Eggert  <eggert@twinsun.com>
70342
70343         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
70344         in makefile rules.
70345
70346 2003-08-18  Jim Meyering  <jim@meyering.net>
70347
70348         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
70349         * m4/lib-ld.m4: Likewise.
70350
70351 2003-08-18  Jim Meyering  <jim@meyering.net>
70352
70353         * lib/setenv.h: Indent nested cpp directive.
70354         * lib/vasnprintf.c: Remove trailing blanks.
70355
70356 2003-08-17  Simon Josefsson  <jas@extundo.com>
70357
70358         * modules/xstrndup: New file.
70359         * MODULES.html.sh (func_all_modules): Add xstrndup.
70360
70361 2003-08-17  Simon Josefsson  <jas@extundo.com>
70362
70363         * modules/argp: Fix autoconf macro name. Add more dependencies.
70364
70365 2003-08-17  Simon Josefsson  <jas@extundo.com>
70366
70367         * m4/xstrndup.m4: New file.
70368
70369 2003-08-17  Simon Josefsson  <jas@extundo.com>
70370
70371         * m4/argp.m4: New file.
70372
70373 2003-08-17  Simon Josefsson  <jas@extundo.com>
70374             Bruno Haible  <bruno@clisp.org>
70375
70376         * lib/xstrndup.h: New file.
70377         * lib/xstrndup.c: New file.
70378
70379 2003-08-17  Bruno Haible  <bruno@clisp.org>
70380
70381         * modules/strndup (Files, Include): Add lib/strndup.h.
70382
70383 2003-08-17  Bruno Haible  <bruno@clisp.org>
70384
70385         * modules/euidaccess (Files): Add lib/euidaccess.h.
70386
70387 2003-08-17  Bruno Haible  <bruno@clisp.org>
70388
70389         * lib/strndup.h: New file.
70390
70391 2003-08-17  Bruno Haible  <bruno@clisp.org>
70392
70393         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
70394         like AC_GNU_SOURCE.
70395         * modules/extensions (configure.ac): Comment out the invocation of
70396         gl_USE_SYSTEM_EXTENSIONS.
70397
70398 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70399
70400         Merges from coreutils, etc.
70401         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
70402         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
70403         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
70404         fixing a typo.
70405         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
70406         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
70407
70408 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70409
70410         Document merge from coreutils.
70411         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
70412         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
70413         * modules/utime: Add m4/utimes-null.m4.
70414
70415 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70416
70417         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
70418         space, undoing this 2003-08-12 change:
70419         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70420
70421 2003-08-16  Paul Eggert  <eggert@twinsun.com>
70422
70423         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
70424         strtoul.c from libc, undoing this 2003-08-12 change:
70425         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
70426
70427 2003-08-16  Jim Meyering  <jim@meyering.net>
70428
70429         Merges from coreutils.
70430         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
70431         prefix.  Adjust cache variables similarly.  Create 500 rather than
70432         just 300 files, to exercise bug on Darwin6.5, too.
70433         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
70434         $missing_dir.
70435         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
70436         AM_SYS_POSIX_TERMIOS.
70437         Reported by mkc@mathdogs.com.
70438         Also change use of $am_cv_sys_posix_termios
70439         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
70440         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
70441         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
70442         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
70443         in /proc/mounts until it finds one with matching device number.  This
70444         is unnecessary when the FILE argument *is* a mount point.  No stat call
70445         is necessary in that case.  So, disable the statvfs-testing code on
70446         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
70447         as RedHat bug# 84846.
70448         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70449         to 1MB, so as not to render systems with no stack size limit (e.g.,
70450         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70451         Include <unistd.h>.  On some systems,
70452         it is required for the definition of _SC_PAGESIZE.
70453
70454 2003-08-16  Jim Meyering  <jim@meyering.net>
70455
70456         Merge from coreutils.
70457         * lib/xstrtoimax.c: #else #if -> #elif.
70458         * lib/xstrtoumax.c: Likewise.
70459
70460 2003-08-16  Jim Meyering  <jim@meyering.net>
70461
70462         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
70463         * m4/utimes.m4: Removed.
70464         * m4/utimes-null.m4: Renamed from utimes.m4.
70465
70466         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
70467         to 1MB, so as not to render systems with no stack size limit (e.g.,
70468         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
70469         Include <unistd.h>.  On some systems,
70470         it is required for the definition of _SC_PAGESIZE.
70471
70472 2003-08-16  Jim Meyering  <jim@meyering.net>
70473         and Paul Eggert  <eggert@cs.ucla.edu>
70474
70475         Merges from coreutils, etc.
70476
70477         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
70478         using the latest version from cvs.  This avoids problems with #line
70479         directives using a vendor (Sun) compiler.
70480         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
70481         Don't set GETGROUPS_LIB here; now it's
70482         done via getgroups.m4's wrapper function.
70483         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
70484         rather than just in sh-util/configure.in, so that the
70485         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
70486         same.
70487         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
70488         AC_FUNC_GETLOADAVG where to find getloadavg.c.
70489         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
70490         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
70491         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
70492         Remove code that is now done by the newly-required macros.
70493         Append $(EXEEXT) to DF_PROG.
70494         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
70495         Do not invoke or require the following here,
70496         since prereq.m4 or some gnulib .m4 now does this for us:
70497         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
70498         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
70499         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
70500         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
70501         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
70502         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
70503         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
70504         AC_FUNC_OBSTACK.
70505         Do not replace the following functions, as this is now the job
70506         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
70507         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
70508         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
70509         atexit getpass, strdup, getpagesize.
70510         Replace 'raise'.
70511         Do not check for the following functions, as this is now the job
70512         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
70513         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
70514         setregid.
70515         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
70516         Check for sys/sysctl.h.
70517         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
70518         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
70519         of checking for ssize_t ourselves.
70520
70521         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
70522         Require every macro that gnulib/modules/* suggests for us.
70523         (jm_PREREQ_ADDEXT): New macro.
70524         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
70525         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
70526
70527         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
70528         (gl_PHYSMEM): Use it.
70529         Also check for `table' function.
70530         Check for new headers and functions.
70531         Add check for sys/sysmp.h.
70532         With suggestions from Kaveh Ghazi.
70533         Ignore headers that are present but cannot be compiled.  This
70534         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
70535         C 5.4.
70536
70537 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70538
70539         Document merge from coreutils.
70540         * modules/userspec: Depend on posixver.
70541         * modules/strftime: Depend on tzset.
70542
70543 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70544
70545         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
70546         rather than tab, after '#' in shell-script copyright notices.
70547         Suggested by Bruno Haible.
70548
70549 2003-08-15  Paul Eggert  <eggert@twinsun.com>
70550
70551         * config/srclist-update: Use three spaces, rather than tab, after '#'
70552         in shell-script copyright notices.  Suggested by Bruno Haible.
70553         Remove unnecessary parenthesization in regular expression.
70554
70555 2003-08-15  Jim Meyering  <jim@meyering.net>
70556
70557         Merge from coreutils.
70558         * lib/xgethostname.c: Include <stdlib.h>.
70559         (xghostname): Don't exit for anything other than memory-related
70560         failure; just return NULL.
70561         * lib/userspec.c: Include "posixver.h".
70562         (parse_user_spec): Accept `.' as a separator only
70563         in pre-POSIX-200112 mode.
70564         * lib/strtoimax.c: Use #elif rather than #else #if.
70565         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
70566         Remove function, now that we can rely on a working tzset function.
70567         [!_LIBC]: Ensure that the required autoconf test has been run.
70568         [!defined _NL_CURRENT && HAVE_STRFTIME]:
70569         Use underlying_strftime for %r.
70570         * lib/sha.c: Merge in some clean-up and optimization changes from
70571         glibc.
70572         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
70573         Ensure that it is a multiple of 64.
70574         Rearrange loop exit tests so as to avoid performing an
70575         additional fread after encountering an error or EOF.
70576         * lib/realloc.c: Update copyright date.
70577
70578 2003-08-15  Jim Meyering  <jim@meyering.net>
70579         and Paul Eggert  <eggert@twinsun.com>
70580
70581         Merge from coreutils.
70582         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
70583         member but strut utmpx does not.  Needed for AIX 4.3.3.
70584         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
70585
70586 2003-08-15  Jim Meyering  <jim@meyering.net>
70587         and Paul Eggert  <eggert@cs.ucla.edu>
70588
70589         Merges from coreutils, etc.
70590         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
70591         Require gl_FUNC_TZSET_CLOBBER.
70592         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
70593         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
70594         members.
70595
70596 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70597
70598         Help the merge from coreutils.
70599         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
70600         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
70601         * m4/tzset.m4: Use it too.
70602
70603 2003-08-14  Paul Eggert  <eggert@twinsun.com>
70604
70605         * modules/tzset: New file.
70606
70607 2003-08-14  Jim Meyering  <jim@meyering.net>
70608
70609         Merges from coreutils.
70610         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
70611         variable names, rather than @FNMATCH_H@.
70612         * modules/alloca: Likewise for $(ALLOCA_H).
70613
70614         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
70615         the three copies of the literal target, `fnmatch.h'.
70616         * modules/alloca (alloca.h): Likewise.
70617
70618 2003-08-14  Jim Meyering  <jim@meyering.net>
70619
70620         Merge from coreutils.
70621         * m4/tzset.m4: New file.
70622         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
70623         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
70624         otherwise, AIX 5.1 systems would end up using the latter.
70625         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
70626         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
70627         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
70628         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
70629
70630 2003-08-14  Jim Meyering  <jim@meyering.net>
70631
70632         Merge from coreutils.
70633         * lib/obstack.h: Whitespace changes.
70634         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
70635         and xcalloc return values.
70636         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
70637         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
70638         hang on OSF/1 5.1 for DIR on both local and remote file systems.
70639         Reported by (and fix confirmed by) Nelson H. F. Beebe.
70640         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
70641         error from mntctl.
70642         Use mntctl's return value to drive the entry-processing loop, since
70643         we can't rely on the value of the vmt_length member in the last
70644         entry.  On some systems doing so could result in exhausting
70645         virtual memory.  Based in part on a patch from Mike Jetzer.
70646
70647 2003-08-14  Jim Meyering  <jim@meyering.net>
70648         and Paul Eggert  <eggert@twinsun.com>
70649
70650         Merges from coreutils, plus other fixes.
70651         * lib/physmem.c: Merge in portability changes from gcc/libiberty
70652         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
70653         for credits and details.  Thanks to Kaveh Ghazi for helping
70654         to keep these files in sync.
70655         (ARRAY_SIZE): Define it.
70656         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
70657         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
70658         (memcasecmp): Don't assume size_t fits in unsigned int.
70659         Remove casts and duplicate code.
70660         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
70661         (memcpy): Remove definition.
70662         Merge in some clean-up and optimization changes from glibc.
70663         [BLOCKSIZE]: Move definition to top of file.
70664         Ensure that it is a multiple of 64.
70665         Rearrange loop exit tests so as to avoid performing an
70666         additional fread after encountering an error or EOF.
70667         * lib/md5.h (md5_uintptr): Define.
70668         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
70669         return to the initial working directory.  Preserve errno
70670         for caller.
70671         * lib/idcache.c: Include "xalloc.h".
70672         (xmalloc, xrealloc): Remove decls.
70673         (getuser): Remove casts no longer required in C89.
70674         * lib/human.c: Include stdio.h, for sprintf.
70675         * lib/group-member.c: Include "xalloc.h".
70676         (xmalloc, xrealloc): Remove decls.
70677         (get_group_info): Remove casts no longer required in C89.
70678         * lib/getusershell.c (readname): Remove casts no longer required in
70679         C89.
70680         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
70681         * lib/getline.c: Whitespace fix, from coreutils.
70682
70683 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70684
70685         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
70686         Check for isascii.
70687
70688         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70689         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70690         Undo previous (whitespace-only) change.
70691
70692 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70693
70694         * lib/exclude.c: Include <ctype.h>
70695         (IN_CTYPE_DOMAIN): New macro.
70696         (is_space): New fn.
70697         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
70698         and empty lines.
70699
70700         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70701         Undo previous (whitespace-only) change.
70702
70703 2003-08-13  Paul Eggert  <eggert@twinsun.com>
70704
70705         * config/srclist-update: Change update back to the old behavior,
70706         leaving whitespace alone.  Use one 'sed' command rather than a
70707         pipeline.
70708         (fixlicense): Now a variable, not a function.
70709         (remove_trailing_blanks): Remove.
70710         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
70711         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70712         Undo previous (whitespace-only) change.
70713
70714 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70715
70716         Merge from coreutils.
70717         * modules/euidaccess: Add lib_SOURCES, include for new
70718         file euidaccess.h
70719
70720 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70721
70722         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
70723         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
70724         Normalize leading white space and remove trailing white space.
70725
70726         Merge from coreutils
70727         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
70728
70729         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
70730         0.12.1.  These files are now being upgraded automatically by
70731         ../config/srclist-update.
70732
70733 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70734
70735         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
70736         Normalize leading white space and remove trailing white space.
70737         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
70738         notice, as per ../config/srclist-update.
70739
70740         Merge from coreutils.
70741         * lib/euidaccess.h: New file.
70742         * lib/euidaccess.c: Include it.
70743         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
70744         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
70745         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
70746
70747 2003-08-12  Paul Eggert  <eggert@twinsun.com>
70748
70749         * config/srclist-update: Add copyright notice.
70750         (remove_id_lines, remove_trailing_blanks): New constants.
70751         (fixfile): Use them to normalize spacing a bit in copied files.
70752         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
70753         Normalize leading white space and remove trailing white space.
70754
70755         * config/texinfo.tex: Sync with texinfo.
70756
70757         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
70758         strtoul.c from libc, to merge coreutils whitespace changes.
70759
70760         * config/srclist.txt: Get the following m4 files from gettext:
70761         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
70762         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
70763         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
70764         wint_t.m4.
70765
70766 2003-08-12  Karl Berry  <karl@gnu.org>
70767
70768         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
70769         been made.
70770
70771 2003-08-11  Paul Eggert  <eggert@twinsun.com>
70772
70773         * modules/gnu-source, m4/gnu-source.m4:
70774         Remove; we're assuming Autoconf 2.54 or later now.
70775         Suggested by Bruno Haible.
70776         * MODULES.html.sh (func_all_modules): Remove gnu-source.
70777
70778 2003-08-11  Bruno Haible  <bruno@clisp.org>
70779
70780         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
70781
70782 2003-08-11  Bruno Haible  <bruno@clisp.org>
70783
70784         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
70785         (vasnprintf): Use it instead of wcslen.
70786
70787 2003-08-11  Bruno Haible  <bruno@clisp.org>
70788
70789         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
70790         value to ensure that _Bool promotes to int. Use #define for _Bool when
70791         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
70792
70793 2003-08-10  Karl Berry  <karl@gnu.org>
70794
70795         * lib/regex.h: update from libc (whitespace fix).
70796
70797 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70798
70799         Merge some files from coreutils.  These changes were
70800         originally made by Jim Meyering.
70801         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
70802         many older Unixes require this.
70803         * lib/alloca.c (alloca): Remove cast to argument of free;
70804         no longer needed in C89.
70805         * lib/alloca_.h, regex.h: Fix white space to match
70806         what GNU indent does.
70807
70808 2003-08-09  Paul Eggert  <eggert@twinsun.com>
70809
70810         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
70811         apparently Emacs's Unicode mode got confused before my 2003-08-05
70812         checkin.
70813
70814 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70815
70816         * m4/extensions.m4: New file.
70817         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
70818         Require gl_USE_SYSTEM_EXTENSIONS.
70819         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
70820         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
70821
70822 2003-08-08  Paul Eggert  <eggert@twinsun.com>
70823
70824         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
70825         * modules/extensions, modules/gnu-source: New files.
70826         * modules/timespec, modules/unlocked-io: Depend on extensions.
70827
70828 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70829
70830         * modules/restrict: New file.
70831         * MODULES.html.sh (func_all_modules): Add restrict.
70832         * modules/regex: Depend on restrict.
70833
70834 2003-08-07  Paul Eggert  <eggert@twinsun.com>
70835
70836         * m4/restrict.m4: New file.
70837         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
70838
70839 2003-08-07  Bruno Haible  <bruno@clisp.org>
70840
70841         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
70842         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
70843
70844 2003-08-07  Bruno Haible  <bruno@clisp.org>
70845
70846         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
70847         makes the module 'getndelim2' compatible with the module 'getline'.
70848
70849 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70850
70851         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
70852         byte with "\201" to avoid glitches when editing that source file
70853         with multi-gnome-terminal.
70854
70855 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70856
70857         * lib/bumpalloc.h: Remove.
70858
70859 2003-08-05  Paul Eggert  <eggert@twinsun.com>
70860
70861         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
70862         * modules/bumpalloc: Remove.
70863
70864 2003-08-04  Paul Eggert  <eggert@twinsun.com>
70865
70866         * lib/getloadavg.c: Change copyright notice and spacing to conform to
70867         GNU coding style.
70868
70869         Merge from coreutils.
70870         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
70871         1. From glibc.
70872         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
70873         from Karl Berry, implemented by Jim Meyering.
70874         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
70875         from Dmitry V. Levin.
70876         Remove anachronistic cast of xrealloc.
70877         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
70878         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
70879         type. Otherwise, it wouldn't compile with at least /bin/cc on
70880         ymp-cray-unicos9.0.2.X.
70881         Combine two mostly-identical uses of alloca into one.
70882         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
70883
70884 2003-08-04  Dave Love  <d.love@dl.ac.uk>
70885
70886         [From Emacs.]
70887
70888         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
70889         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
70890         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
70891         obsolete NLIST_NAME_UNION.
70892         [__GNU__]: Undef BSD and FSCALE.
70893         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
70894
70895 2003-08-03  Paul Eggert  <eggert@twinsun.com>
70896
70897         * lib/stdbool_.h (_Bool): Make it signed char, instead of
70898         an enum type, so that it's guaranteed to promote to int.  See:
70899         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
70900
70901 2003-08-03  Karl Berry  <karl@gnu.org>
70902
70903         * config/depcomp: update from automake.
70904
70905 2003-07-31  Paul Eggert  <eggert@twinsun.com>
70906
70907         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
70908         (strerror): Don't assume that a printable int fits in 14 bytes.
70909
70910 2003-07-31  Bruno Haible  <bruno@clisp.org>
70911
70912         * modules/getpass-gnu: New file.
70913         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
70914
70915 2003-07-31  Bruno Haible  <bruno@clisp.org>
70916
70917         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
70918
70919 2003-07-24  Karl Berry  <karl@gnu.org>
70920
70921         * config/missing: update from automake.
70922
70923 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
70924             Bruno Haible  <bruno@clisp.org>
70925
70926         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
70927         * lib/getline.c (getline, getdelim): Likewise.
70928         Remove _GNU_SOURCE define; now it's defined in config.h through
70929         m4/getline.m4.
70930
70931 2003-07-23  Karl Berry  <karl@gnu.org>
70932
70933         * config/config.sub: update from prep.
70934
70935 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70936
70937         * modules/xalloc (Depends-on): Add exitfail.
70938         * modules/xmemcoll: Likewise.
70939
70940 2003-07-22  Paul Eggert  <eggert@twinsun.com>
70941
70942         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
70943         over-parenthesization in macros.
70944
70945         Sync with coreutils.
70946
70947         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
70948         required by C99.
70949
70950         Use `exit_failure' for xalloc and xmemcoll instead of their own
70951         private exit-failure variables.
70952         * lib/xalloc.h (xalloc_exit_failure): Remove.
70953         * lib/xmalloc.c: Likewise.  Include exitfail.h.
70954         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
70955         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
70956         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
70957         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
70958
70959 2003-07-20  Jim Meyering  <jim@meyering.net>
70960
70961         * modules/closeout (Depends-on): Add exitfail.
70962         Suggestion from Bruno Haible.
70963
70964 2003-07-19  Karl Berry  <karl@gnu.org>
70965
70966         * config/config.sub: update from prep.
70967
70968 2003-07-18  Paul Eggert  <eggert@twinsun.com>
70969
70970         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
70971         Remove.
70972         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
70973         to test that it can stand by itself.  Include "exitfail.h".
70974         Clients should set exit_failure instead.
70975         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
70976
70977 2003-07-18  Bruno Haible  <bruno@clisp.org>
70978
70979         * modules/getndelim2: New file.
70980         * modules/getline: Share files with module getndelim2.
70981         * modules/getnline: Depend on getndelim2 instead of sharing files with
70982         it. Add getnline.c to lib_SOURCES.
70983         * MODULES.html.sh (func_all_modules): Add getndelim2.
70984
70985 2003-07-18  Bruno Haible  <bruno@clisp.org>
70986
70987         * m4/getndelim2.m4: New file.
70988         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
70989         invoke gl_PREREQ_GETNDELIM2.
70990         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
70991         gl_PREREQ_GETNDELIM2.
70992         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
70993         gl_GETNDELIM2.
70994
70995 2003-07-18  Bruno Haible  <bruno@clisp.org>
70996
70997         * lib/getndelim2.h: New file.
70998         * lib/getndelim2.c: Make into a module of its own. Include config.h,
70999         getndelim2.h.
71000         (getndelim2): Make non-static. Change return type to ssize_t.
71001         * lib/getline.h: Change argument names.
71002         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
71003         * lib/getnline.c: Include getndelim2.h.
71004
71005 2003-07-18  Andreas Schwab  <schwab@suse.de>
71006
71007         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
71008
71009 2003-07-17  Karl Berry  <karl@gnu.org>
71010
71011         * config/config.sub: update from prep.
71012
71013 2003-07-17  Bruno Haible  <bruno@clisp.org>
71014
71015         * modules/getnline: New file.
71016         * modules/getline: Add lib/getndelim2.c to source file list.
71017         * MODULES.html.sh (func_all_modules): Add getnline.
71018
71019 2003-07-17  Bruno Haible  <bruno@clisp.org>
71020
71021         * m4/getnline.m4: New file.
71022
71023 2003-07-17  Bruno Haible  <bruno@clisp.org>
71024
71025         * m4/Makefile.am.in: Remove file.
71026         * m4/Makefile.am: Remove file.
71027         * m4/Makefile.in: Remove file.
71028
71029 2003-07-17  Bruno Haible  <bruno@clisp.org>
71030
71031         * lib/getnline.h: New file.
71032         * lib/getnline.c: New file.
71033         * lib/getndelim2.c: New file, extracted from getline.c.
71034         (getndelim2): Renamed from getdelim2, with added nmax argument.
71035         * lib/getline.c: Include getndelim2.c.
71036         (getdelim2): Moved out to getndelim2.c.
71037         (getline, getdelim): Update.
71038
71039 2003-07-17  Bruno Haible  <bruno@clisp.org>
71040
71041         * lib/Makefile.am: Remove file.
71042         * lib/Makefile.in: Remove file.
71043
71044 2003-07-17  Bruno Haible  <bruno@clisp.org>
71045
71046         * configure.in: Remove file.
71047         * Makefile.in: Remove file.
71048
71049 2003-07-17  Bruno Haible  <bruno@clisp.org>
71050
71051         * MODULES.html.sh: Put the </BODY> right before </HTML>.
71052
71053 2003-07-16  Karl Berry  <karl@gnu.org>
71054
71055         * config/srclist-update: was running fixlicense twice, which caused
71056                 texinfo.tex to be nullified for some reason.  Simplify,
71057                 $gplsrc is no longer needed as far as I can see?
71058
71059 2003-07-16  Jim Meyering  <jim@meyering.net>
71060
71061         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
71062
71063 2003-07-15  Paul Eggert  <eggert@twinsun.com>
71064
71065         * config/srclist.txt: Get the following files from gettext-runtime/intl
71066         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
71067         ref-del.sin.  From Bruno Haible.
71068         * config/srclist-update (fixfile): Change grep pattern again, since the
71069         previous fix didn't work (there was another trailing $).  Use
71070         '[$]' to escape the $s.
71071
71072 2003-07-15  Karl Berry  <karl@gnu.org>
71073
71074         * lib/vasnprintf.c: update from gettext.
71075
71076 2003-07-15  Karl Berry  <karl@gnu.org>
71077
71078         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
71079         gets expanded when surrounded by '$'.
71080
71081 2003-07-15  Jim Meyering  <jim@meyering.net>
71082
71083         * modules/save-cwd: Don't depend on error.  From Derek Price.
71084
71085 2003-07-15  Jim Meyering  <jim@meyering.net>
71086
71087         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
71088
71089 2003-07-14  Simon Josefsson  <jas@extundo.com>
71090
71091         * modules/mempcpy: New file.
71092         * MODULES.html.sh (func_all_modules): Add mempcpy.
71093
71094 2003-07-14  Simon Josefsson  <jas@extundo.com>
71095
71096         * m4/mempcpy.m4: New file.
71097
71098 2003-07-14  Simon Josefsson  <jas@extundo.com>
71099
71100         * lib/mempcpy.h: New file.
71101         * lib/mempcpy.c: New file.
71102
71103 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71104
71105         * modules/getdate, modules/posixtm: Depend on mktime.
71106
71107 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71108
71109         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
71110         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
71111         unicodeio.c, unicodeio.h, unlocked-io.h:
71112         Switch from LGPL to GPL.
71113
71114 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71115
71116         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
71117         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
71118         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
71119         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
71120         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
71121         updated automatically by ../config/srclist-update.  This changes
71122         their license from LPGL to GPL.
71123
71124 2003-07-14  Paul Eggert  <eggert@twinsun.com>
71125
71126         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
71127         assumed to refer to the root of the most recent stable gettext version.
71128         * config/srclistvars.sh: Add defaults for eggert.
71129         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
71130         Match "This program" as well as "The program".  This is needed
71131         for gettext.
71132
71133 2003-07-14  Jim Meyering  <jim@meyering.net>
71134
71135         Don't emit diagnostics.  Let callers do that.
71136         * lib/save-cwd.c: Don't include "error.h".
71137         (save_cwd): Don't call error.  Ensure that errno is valid
71138         when returning nonzero.
71139
71140         * lib/save-cwd.h (restore_cwd): Update prototype.
71141         * lib/save-cwd.c (restore_cwd): Remove two parameters.
71142         Simplify.  Don't call error upon failure.  Let callers do that.
71143         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
71144         when auditing is enabled.  But don't bother updating the #if.
71145
71146 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
71147
71148         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
71149         it breaks C++ compilation.
71150         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
71151
71152 2003-07-10  Simon Josefsson  <jas@extundo.com>
71153
71154         * modules/strchrnul (Makefile.am): Add strchrnul.h.
71155
71156 2003-07-10  Jim Meyering  <jim@meyering.net>
71157
71158         * m4/clock_time.m4: Remove trailing blank.
71159         * m4/intmax_t.m4: Likewise.
71160
71161 2003-07-10  Jim Meyering  <jim@meyering.net>
71162
71163         * lib/vasnprintf.c: Remove trailing blanks.
71164         Make cpp indentation consistent.
71165
71166 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71167
71168         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
71169         posixver.c, strftime.c, strnlen.c, strverscmp.c:
71170         Switch from LGPL to GPL.
71171
71172 2003-07-09  Paul Eggert  <eggert@twinsun.com>
71173
71174         * config/srclist.txt: Sort sublists.  Add
71175         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
71176         that differ from gnulib for one reason or another; we'd like this list
71177         to be smaller but for now let's document what we have.
71178
71179 2003-07-08  Paul Eggert  <eggert@twinsun.com>
71180
71181         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
71182         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
71183         and sweeter "eval x=$x".
71184         * config/srclist.txt: Get lib/argp* from glibc.
71185
71186 2003-07-07  Paul Eggert  <eggert@twinsun.com>
71187
71188         * lib/mktime.c: Fix some boundary cases and remove need for floating
71189         point.
71190
71191         Issue a compile-time diagnostic if time_t is floating point, or if
71192         two's complement arithmetic is not in effect, or if arithmetic
71193         right shift does not propagate the sign.  These assumptions were
71194         all in the original code but they weren't checked.
71195
71196         (TIME_T_MIDPOINT, verify): New macros.
71197         (__isleap): Remove; it has integer overflow problems.
71198         (leapyear): New function, without those problems.
71199         (ydhms_tm_diff): Remove; splitting into two parts.
71200         (ydhms_diff): New function, containing the arithmetic part of
71201         the old ydhms_tm_diff function.  Issue a compile-time
71202         diagnostic if we are not using C99 integer division.
71203         Avoid casts when possible.
71204         (guess_time_tm): New function, containing the checking part of
71205         the old ydhms_tm_diff function.  Return the new value, rather than
71206         the difference between it and the old.  Accept a new argument T
71207         so that *T specifies the old value.  Check for overflow in the result.
71208
71209         (__mktime_internal): Use a time_t offset, not a long int offset.
71210         This undoes the 2003-06-04 change, which is no longer needed now
71211         that we have better overflow checking.
71212         (localtime_offset): Likewise.
71213
71214         (__mktime_internal): Avoid harmful overflow on hosts where time_t
71215         and long are 64-bit but int is only 32-bit.
71216         (ydhms_diff): Use long int to store year1 and yday1.
71217         Issue a compile-time diagnostic if long int is not wide enough.
71218
71219         (__mktime_internal): Use long int to store adjusted year and yday.
71220         Use plain C rather than preprocessor commands, if that doesn't
71221         affect efficiency.
71222         Check for overflow (and try to repair) after each probe
71223         rather than checking only at the very end.  This avoids some bugs
71224         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
71225         does not equal GMT offset at maximum time).
71226         Use integer to check for overflow rather than floating point; this
71227         is more portable to non-IEEE hosts, and is a tad faster.
71228         When we detect that we are oscillating between two values,
71229         don't check whether tm_isdst has the requested value, since
71230         we already know the answer.  When tm_isdst has the wrong value,
71231         use a different heuristic to find the right one, based on the
71232         extreme values actually observed in practice in tz2003a,
71233         rather than the (overly optimistic) "previous 3 calendar quarters".
71234
71235         (not_equal_tm, print_tm, check_result): Use "const T" rather than
71236         "T const" to accommodate glibc style.
71237         (check_result): Use less-confusing report format.  "long" -> "long int.
71238         (main): Likewise.
71239         Don't loop if the iteration overflows time_t.
71240         Allow a negative step in the iteration.
71241
71242 2003-07-06  Karl Berry  <karl@gnu.org>
71243
71244         * config/depcomp: update from automake.
71245         * config/config.sub: update from prep.
71246
71247 2003-07-03  Karl Berry  <karl@gnu.org>
71248
71249         * config/config.guess: update from prep.
71250
71251 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71252
71253         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
71254         xreadlink.c now includes it unconditionally.
71255
71256 2003-07-01  Paul Eggert  <eggert@twinsun.com>
71257
71258         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
71259         having it depend on HAVE_SYS_TYPES_H.
71260
71261 2003-07-01  Bruno Haible  <bruno@clisp.org>
71262
71263         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
71264         <sys/types.h> should be sufficient.
71265         Reported by Paul Eggert.
71266
71267 2003-06-26  Karl Berry  <karl@gnu.org>
71268
71269         * config/depcomp: update from automake.
71270
71271 2003-06-26  Bruno Haible  <bruno@clisp.org>
71272
71273         * modules/human: Depend on module stdbool.
71274
71275 2003-06-25  Bruno Haible  <bruno@clisp.org>
71276
71277         * modules/readlink: New file.
71278         * modules/xreadlink: Depend on it.
71279         * MODULES.html.sh (func_all_modules): Add readlink.
71280
71281 2003-06-25  Bruno Haible  <bruno@clisp.org>
71282
71283         * m4/readlink.m4: New file.
71284
71285 2003-06-25  Bruno Haible  <bruno@clisp.org>
71286
71287         * lib/readlink.c: New file.
71288
71289 2003-06-22  Karl Berry  <karl@gnu.org>
71290
71291         * config/srclist.txt: update mkinstalldirs from automake.
71292         * config/mkinstalldirs: update.
71293
71294 2003-06-22  Bruno Haible  <bruno@clisp.org>
71295
71296         Portability to mingw32.
71297         * m4/ssize_t.m4: New file, from GNU gettext.
71298         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
71299         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
71300
71301 2003-06-22  Bruno Haible  <bruno@clisp.org>
71302
71303         * modules/safe-read: Add m4/ssize_t.m4.
71304         * modules/xreadlink: Add m4/ssize_t.m4.
71305
71306 2003-06-20  Bruno Haible  <bruno@clisp.org>
71307
71308         Assume C89, so PARAMS isn't needed.
71309         * lib/unicodeio.h (PARAMS): Remove.
71310         * lib/unicodeio.c: Don't use PARAMS.
71311
71312 2003-06-18  Karl Berry  <karl@gnu.org>
71313
71314         * config/config.{guess,sub}: update from prep.
71315
71316 2003-06-18  Jim Meyering  <jim@meyering.net>
71317
71318         Merge changes from coreutils.
71319         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
71320         Remove explicit declarations of xmalloc and realloc.
71321         Include xalloc.h.
71322         (read_utmp): Remove anachronistic cast of xmalloc.
71323
71324 2003-06-17  Paul Eggert  <eggert@twinsun.com>
71325
71326         Assume C89, so PARAMS isn't needed.
71327         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
71328         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
71329         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
71330         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
71331         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
71332         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
71333         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
71334         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
71335         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
71336         lib/xstrtod.h, lib/xstrtol.h: Likewise.
71337         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
71338         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
71339         no longer needed. Anyway, config.h should always be included before any
71340         other file.
71341
71342 2003-06-11  Simon Josefsson  <jas@extundo.com>
71343
71344         * modules/sysexits: New file.
71345         * MODULES.html.sh (func_all_modules): Add sysexits.
71346
71347 2003-06-11  Simon Josefsson  <jas@extundo.com>
71348
71349         * lib/sysexit_.h: New file.
71350
71351 2003-06-11  Derek Price  <derek@ximbiot.com>
71352
71353         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
71354         necessary.
71355
71356 2003-06-11  Bruno Haible  <bruno@clisp.org>
71357
71358         * m4/sysexits.m4: New file.
71359
71360 2003-06-10  Simon Josefsson  <jas@extundo.com>
71361
71362         * lib/argp.h: New file, from glibc.
71363         * lib/argp-ba.c: New file, from glibc.
71364         * lib/argp-eexst.c: New file, from glibc.
71365         * lib/argp-fmtstream.c: New file, from glibc.
71366         * lib/argp-fmtstream.h: New file, from glibc.
71367         * lib/argp-fs-xinl.c: New file, from glibc.
71368         * lib/argp-help.c: New file, from glibc.
71369         * lib/argp-namefrob.h: New file, from glibc.
71370         * lib/argp-parse.c: New file, from glibc.
71371         * lib/argp-pv.c: New file, from glibc.
71372         * lib/argp-pvh.c: New file, from glibc.
71373         * lib/argp-xinl.c: New file, from glibc.
71374
71375 2003-06-10  Simon Josefsson  <jas@extundo.com>
71376
71377         * modules/strchrnul: New file.
71378
71379 2003-06-10  Simon Josefsson  <jas@extundo.com>
71380
71381         * modules/argp: New file.
71382
71383 2003-06-10  Simon Josefsson  <jas@extundo.com>
71384
71385         * m4/strchrnul.m4: New file.
71386
71387 2003-06-10  Simon Josefsson  <jas@extundo.com>
71388
71389         * lib/strchrnul.h: New file.
71390         * lib/strchrnul.c: New file.
71391
71392 2003-06-10  Bruno Haible  <bruno@clisp.org>
71393
71394         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
71395
71396 2003-06-07  Karl Berry  <karl@gnu.org>
71397
71398         * config/config.{guess,sub}: update from prep.
71399
71400 2003-06-07  Jim Meyering  <jim@meyering.net>
71401
71402         * modules/strtod: Use $(...) notation, not @...@ for
71403         AC_REPLACE'd variables.
71404         * modules/localcharset: Likewise.
71405
71406 2003-06-07  Jim Meyering  <jim@meyering.net>
71407
71408         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
71409         in place of my name in the copyright comment.
71410         Remove definition and uses of __P.
71411
71412         From coreutils.
71413         * lib/stat.c: Don't declare xmalloc explicitly.
71414         Instead, include "xalloc.h".
71415         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
71416         xrealloc, and xcalloc return values.
71417         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
71418         Improve comment.
71419         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
71420
71421 2003-06-07  Bruno Haible  <bruno@clisp.org>
71422
71423         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
71424         avoid AC_CONFIG_LINKS.
71425         * modules/fnmatch (Makefile.am): Use explicit creation rule for
71426         fnmatch.h, to avoid AC_CONFIG_LINKS.
71427         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
71428
71429 2003-06-07  Bruno Haible  <bruno@clisp.org>
71430
71431         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
71432         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
71433         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71434         directory.
71435         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
71436         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
71437         directory.
71438
71439 2003-06-06  Jim Meyering  <jim@meyering.net>
71440
71441         Merge from coreutils.
71442         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
71443         Consolidate declarations and initializations of *_base* locals.
71444
71445         Merge from coreutils.
71446         This avoids a core dump on systems without GNU putenv,
71447         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
71448         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
71449         (unsetenv): New static function, from GNU libc.
71450         (rpl_putenv): Use it.
71451
71452         * lib/modechange.c: Remove trailing blanks.
71453
71454         Merge from coreutils.
71455         * lib/fsusage.c: Remove declaration of statfs.
71456         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
71457
71458         * lib/posixtm.c: Include <stdbool.h> unconditionally.
71459
71460 2003-06-06  Jim Meyering  <jim@meyering.net>
71461
71462         * lib/stdbool_.h: Renamed from stdbool.h.in.
71463
71464 2003-06-06  Jim Meyering  <jim@meyering.net>
71465             Bruno Haible  <bruno@clisp.org>
71466
71467         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
71468         Adjust Makefile.am snippet not to redirect directly to target.
71469         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
71470
71471 2003-06-05  Paul Eggert  <eggert@twinsun.com>
71472
71473         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
71474         mismatch, look in future quarters as well as past.  This fixes a
71475         bug when processing fall-backwards gaps immediately after a long
71476         period of daylight-saving time.
71477
71478         * lib/mktime.c: Assume freestanding C89 or better.
71479         (HAVE_LIMITS_H): Remove.  Assume it's 1.
71480         (__P): Remove; not used.
71481         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
71482         (mktime, not_equal_tm, print_tm, check_result,
71483         main): Use prototypes.  Use const * where appropriate.
71484         (main): Fix typo in testing code that uncovered by above changes.
71485         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
71486
71487 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71488
71489         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
71490         locale.h, localeconv.  This merges changes from coreutils.
71491
71492         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
71493         It can be removed after the next Autoconf is released.
71494         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
71495         needed.
71496
71497 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71498
71499         * lib/mktime.c: Fix Debian bug 177940
71500         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
71501         (localtime_offset): Now long int, not time_t, because we want it
71502         to be guaranteed to be signed.  All uses changed.
71503         (__mktime_internal): If overflow would occur when adding offset,
71504         don't add it.
71505
71506         Merge 'human' changes from coreutils.  Rewrite to support
71507         locale-specific notations like thousands separators.
71508         * lib/human.c: Simplify authorship notice.
71509         Include human.h immediately after config.h.
71510         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
71511         <limits.h>: Do not include, since human.h does.
71512         (SIZE_MAX, UINTMAX_MAX): New macros.
71513         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
71514         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
71515         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
71516         (power_letter): Renamed from suffixes.
71517         (generate_suffix_backwards): Remove.
71518         (adjust_value): Now takes int style (because of human.h changes)
71519         and long double value (for greater precision on some platforms).
71520         (group_number): New function.
71521         (human_readable): Use it.  Use integer options, not enum.
71522         Put the options before the sizes in the arg list.
71523         Support all the new options.
71524         The old human_readable function has been removed;
71525         use inttostr.h instead.
71526         (human_readable, default_block_size, humblock):
71527         Use uintmax_t, not int, for block sizes.
71528         (human_readable_inexact, block_size_types): Remove.
71529         (block_size_opts): New constant.
71530         (human_options): Renamed from human_block_size, with new signature
71531         that allows block sizes up to UINTMAX_MAX.  All callers changed.
71532         * lib/human.h: Add copyright and authorship notice.
71533         Include <limits.h> and <stdbool.h> unconditionally.
71534         (PARAMS): Remove.  All uses removed.
71535         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
71536         (enum human_inexact_style): Remove tag; now a nameless enum.
71537         (human_floor, human_ceiling, human_round_to_even): Now have
71538         values 2, 0, 1 rather than -1, 1, 0.
71539         (human_group_digits, human_suppress_point_zero, human_autoscale,
71540         human_base_1024, human_SI, human_B): New constants.
71541         (human_readable_inexact, human_block_size): Remove.
71542         (human_readable): Size args are now uintmax_t, not int.
71543         (human_options): New decl.
71544
71545         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
71546         unnecessary now that we assume C89 or better.  This change
71547         imported from coreutils.
71548
71549         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71550         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
71551         in the 2003-05-30 sync from glibc.
71552
71553         .h files should stand alone, but we shouldn't include <sys/types.h>
71554         if we can get away with just <stddef.h>.
71555
71556         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
71557         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
71558         rather than <sys/types.h>, as we merely need size_t.
71559         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
71560         to get size_t.
71561         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
71562         Include <stdio.h>, to get FILE.
71563         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
71564         memcasecmp.h has included <stddef.h> and all we need is size_t.
71565         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
71566         our interface, instead of including <sys/types.h>
71567
71568 2003-06-04  Paul Eggert  <eggert@twinsun.com>
71569
71570         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
71571         now, as glibc mktime is buggy on non-glibc systems.
71572
71573 2003-06-03  Karl Berry  <karl@gnu.org>
71574
71575         * config/config.sub: update from prep.
71576
71577 2003-06-02  Paul Eggert  <eggert@twinsun.com>
71578
71579         [from coreutils]
71580         Fix some minor time-related bugs with POSIX time arguments.
71581         Some valid time stamps were being rejected (notably -1, and
71582         time stamps before 1900 on 64-bit hosts).  And some invalid
71583         time stamps were being accepted, e.g. September 31.
71584
71585         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
71586         that we can return (time_t) -1 successfully.
71587         * lib/posixtm.c: Likewise.
71588         [HAVE_STDBOOL_H]: Include <stdbool.h>.
71589         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
71590         (t): Remove static var.
71591         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
71592         of static var.  All uses changed.
71593         (year): Do not reject years before 1900; they can occur with
71594         64-bit time_t.
71595         (posix_time_parse): Do not check for out-of-range components;
71596         that is now the caller's responsibility, since our checks were
71597         only approximations.
71598         (posixtime): Use mktime to check for out-of-range components,
71599         since it knows them exactly.
71600         If mktime returns (time_t) -1, check whether an error actually occurred
71601         by invoking localtime on -1.
71602         (main) [TEST_POSIXTIME]: Check for input data errors, and report
71603         posixtime failures better.
71604         Improve the test data (in comments only).
71605
71606 2003-06-02  Karl Berry  <karl@gnu.org>
71607
71608         * config/mkinstalldirs (version): new variable.
71609         (--version): new option.
71610         (usage): improve message.
71611
71612 2003-05-30  Karl Berry  <karl@gnu.org>
71613
71614         * lib/mktime.c: update from libc.
71615
71616 2003-05-30  Bruno Haible  <bruno@clisp.org>
71617
71618         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
71619         * config/config.rpath: Upgrade to gettext-0.12.1.
71620
71621 2003-05-30  Bruno Haible  <bruno@clisp.org>
71622
71623         * m4/gettext.m4: Upgrade to gettext-0.12.1.
71624         * m4/nls.m4: New file, from gettext-0.12.1.
71625         * m4/po.m4: New file, from gettext-0.12.1.
71626         * m4/progtest.m4: Upgrade to gettext-0.12.1.
71627
71628 2003-05-30  Bruno Haible  <bruno@clisp.org>
71629
71630         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
71631         * lib/localcharset.h: Likewise.
71632         * lib/localcharset.c: Likewise.
71633
71634 2003-05-29  Karl Berry  <karl@gnu.org>
71635
71636         * config/config.rpath: update from gettext.
71637
71638 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71639
71640         Assume the headers required for C89 freestanding compilers.
71641         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
71642         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
71643         * m4/human.m4 (gl_HUMAN): Likewise.
71644         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
71645         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
71646         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71647         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
71648         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71649         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
71650
71651 2003-05-28  Paul Eggert  <eggert@twinsun.com>
71652
71653         Assume the headers required for C89 freestanding compilers.
71654         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
71655         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
71656         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
71657         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
71658         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
71659         define, since <limits.h> is guaranteed to do that.
71660         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
71661         * lib/exclude.c: Include <stdbool.h> unconditionally.
71662         * lib/tempname.c: Include <stddef.h> unconditionally.
71663         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
71664         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
71665         <stddef.h> does that.
71666         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
71667         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
71668         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
71669         needed.
71670         * lib/xstrtol.c: Likewise.
71671         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
71672         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
71673
71674         * lib/addext.c (addext): Use assignment rather than cast, to avoid
71675         warnings on some platforms.
71676
71677         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
71678         arbitrarily.
71679
71680 2003-05-26  Jim Meyering  <jim@meyering.net>
71681
71682         Merge in a change from coreutils:
71683         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
71684         that is guaranteed to be `no'.  Use `no_such_member' to indicate
71685         that condition, rather than `-1' which is slightly misleading.
71686         Change the name of the cache variable to have the gl_ prefix.
71687         Prompted by a patch from Richard Dawe for DJGPP.
71688
71689 2003-05-24  Karl Berry  <karl@gnu.org>
71690
71691         * config/config.guess: update from prep.
71692
71693 2003-05-22  Karl Berry  <karl@gnu.org>
71694
71695         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
71696
71697 2003-05-20  Karl Berry  <karl@gnu.org>
71698
71699         * config/config.guess: update from prep.
71700
71701 2003-05-18  Karl Berry  <karl@gnu.org>
71702
71703         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
71704         might actually be set by the user.
71705
71706         * config/depcomp, install-sh, mdate-sh: update from automake.
71707
71708 2003-05-17  Bruno Haible  <bruno@clisp.org>
71709
71710         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
71711         invalid expansion for AC_EGREP_CPP.
71712         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
71713         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
71714         Suggested by Akim Demaille <akim@epita.fr> in
71715         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
71716
71717 2003-05-12  Jim Meyering  <jim@meyering.net>
71718
71719         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
71720         the space-padded-by-default conversion specifiers, %e, %k, %l.
71721
71722 2003-05-12  Bruno Haible  <bruno@clisp.org>
71723
71724         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
71725         the string is longer than 4 KB.
71726
71727 2003-05-11  Karl Berry  <karl@gnu.org>
71728
71729         * config/config.{guess,sub}: update from prep.
71730
71731 2003-05-09  Bruno Haible  <bruno@clisp.org>
71732
71733         * modules/error: Add m4/strerror_r.m4 to file list.
71734
71735 2003-05-03  Bruno Haible  <bruno@clisp.org>
71736
71737         Upgrade to Unicode-4.0.
71738         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
71739         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
71740         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
71741         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
71742         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
71743         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
71744         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
71745         Change width of U+E0100..U+E01EF from 1 to 0.
71746
71747 2003-04-25  Jim Meyering  <jim@meyering.net>
71748
71749         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
71750         of type size_t, not int.
71751
71752 2003-04-25  Bruno Haible  <bruno@clisp.org>
71753
71754         * lib/copy-file.c: Include <stddef.h>, for size_t.
71755
71756 2003-04-21  Paul Eggert  <eggert@twinsun.com>
71757
71758         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
71759         code which expansion is under static control.  Patch imported from
71760         Akim Demaille's patch to Bison; see
71761         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
71762
71763 2003-04-14  Bruno Haible  <bruno@clisp.org>
71764
71765         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
71766
71767 2003-04-11  Jim Meyering  <jim@meyering.net>
71768
71769         Merge changes from Coreutils.
71770
71771         2003-03-22  Jim Meyering  <jim@meyering.net>
71772
71773         * lib/strftime.c (widen): Cast alloca return value to proper type.
71774
71775         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
71776
71777         From GNU libc.
71778         * lib/strftime.c (my_strftime): Handle very large width
71779         specifications for numeric values correctly.  Improve checks for
71780         overflow.
71781
71782         2003-01-19  Jim Meyering  <jim@meyering.net>
71783
71784         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
71785         definitions.
71786         (nl_get_alt_digit) [! defined my_strftime]: Define.
71787         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
71788         _nl_get_alt_digit and _nl_get_walt_digit.
71789
71790         * lib/strftime.c (my_strftime): Merge in locale-related changes from
71791         libc. These changes have no effect outside of _LIBC.
71792
71793 2003-04-10  Bruno Haible  <bruno@clisp.org>
71794
71795         * modules/findprog: New file.
71796         * MODULES.html.sh (func_all_modules): Add it.
71797
71798 2003-04-10  Bruno Haible  <bruno@clisp.org>
71799
71800         * m4/findprog.m4: New file.
71801         * m4/eaccess.m4: New file.
71802
71803 2003-04-10  Bruno Haible  <bruno@clisp.org>
71804
71805         * lib/findprog.h: New file, from GNU gettext.
71806         * lib/findprog.c: New file, from GNU gettext.
71807
71808 2003-04-05  Jim Meyering  <jim@meyering.net>
71809
71810         Merge changes from Coreutils.
71811
71812         * lib/exclude.h (PARAMS): Remove definition and uses.
71813         * lib/exclude.c: Remove uses of `PARAMS'.
71814
71815         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
71816         Add test-cases for DOS filenames. Declare program_name.
71817         (main): Set up program_name.  Patch by Rich Dawe.
71818
71819         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71820         error from mntctl.
71821         Use mntctl's return value to drive the entry-processing loop, since
71822         we can't rely on the value of the vmt_length member in the last
71823         entry.  On some systems doing so could result in exhausting
71824         virtual memory.  Based in part on a patch from Mike Jetzer.
71825
71826 2003-04-04  Bruno Haible  <bruno@clisp.org>
71827
71828         * modules/linebreak: New file.
71829         * MODULES.html.sh (func_all_modules): Add it.
71830
71831 2003-04-04  Bruno Haible  <bruno@clisp.org>
71832
71833         * m4/linebreak.m4: New file.
71834
71835 2003-04-04  Bruno Haible  <bruno@clisp.org>
71836
71837         * lib/linebreak.h: New file, from GNU gettext.
71838         * lib/linebreak.c: New file, from GNU gettext with slight
71839         modifications.
71840         * lib/lbrkprop.h: New file, from GNU gettext.
71841
71842 2003-04-03  Bruno Haible  <bruno@clisp.org>
71843
71844         * modules/utf8-ucs4: New file.
71845         * modules/utf16-ucs4: New file.
71846         * modules/ucs4-utf8: New file.
71847         * modules/ucs4-utf16: New file.
71848         * MODULES.html.sh (func_all_modules): Add them.
71849
71850 2003-04-03  Bruno Haible  <bruno@clisp.org>
71851
71852         * m4/utf-ucs4.m4: New file.
71853         * m4/ucs4-utf.m4: New file.
71854
71855 2003-04-03  Bruno Haible  <bruno@clisp.org>
71856
71857         * lib/utf8-ucs4.h: New file, from GNU gettext.
71858         * lib/utf16-ucs4.h: New file, from GNU gettext.
71859         * lib/ucs4-utf8.h: New file, from GNU gettext.
71860         * lib/ucs4-utf16.h: New file, from GNU gettext.
71861
71862 2003-04-02  Bruno Haible  <bruno@clisp.org>
71863
71864         * modules/binary-io: New file.
71865         * MODULES.html.sh (func_all_modules): Add it.
71866
71867 2003-04-02  Bruno Haible  <bruno@clisp.org>
71868
71869         * lib/binary-io.h: New file, from GNU gettext.
71870
71871 2003-04-01  Bruno Haible  <bruno@clisp.org>
71872
71873         * modules/pathname: New file.
71874         * MODULES.html.sh (func_all_modules): Add it.
71875
71876 2003-04-01  Bruno Haible  <bruno@clisp.org>
71877
71878         * lib/pathname.h: New file, from GNU gettext.
71879         * lib/concatpath.c: New file, from GNU gettext.
71880
71881 2003-03-30  Bruno Haible  <bruno@clisp.org>
71882
71883         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
71884
71885 2003-03-30  Bruno Haible  <bruno@clisp.org>
71886
71887         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
71888         function chown() doesn't exist.
71889
71890 2003-03-28  Bruno Haible  <bruno@clisp.org>
71891
71892         * modules/copy-file: New file.
71893         * MODULES.html.sh (func_all_modules): Add it.
71894
71895 2003-03-28  Bruno Haible  <bruno@clisp.org>
71896
71897         * m4/copy-file.m4: New file.
71898
71899 2003-03-28  Bruno Haible  <bruno@clisp.org>
71900
71901         * lib/copy-file.h: New file, from GNU gettext.
71902         * lib/copy-file.c: New file, from GNU gettext.
71903
71904 2003-03-18  Jim Meyering  <jim@meyering.net>
71905
71906         * lib/quote.c (quote_n): Fix typo in comment.
71907
71908 2003-03-18  Bruno Haible  <bruno@clisp.org>
71909
71910         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
71911         checking.
71912         * m4/onceonly_2_57.m4: Likewise.
71913
71914 2003-03-17  Bruno Haible  <bruno@clisp.org>
71915
71916         * m4/onceonly.m4: Require autoconf 2.54 or newer.
71917         (m4_quote): Remove macro.
71918         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
71919
71920 2003-03-14  Jim Meyering  <jim@meyering.net>
71921
71922         Merge changes from Coreutils.
71923         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
71924         to be const, in order to avoid warnings.
71925         (obstack_room): Likewise.
71926         (obstack_empty_p): Likewise.
71927
71928 2003-03-14  Bruno Haible  <bruno@clisp.org>
71929
71930         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
71931         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
71932
71933 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71934
71935         Merge changes from Bison.
71936         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
71937         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
71938         when compiling Bison 1.875's `bitset bset = obstack_alloc
71939         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
71940         * lib/hash.c: Include <stdbool.h> unconditionally.
71941
71942 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71943
71944         * m4/onceonly.m4 (m4_quote): New macro.
71945         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
71946         Quote AC_FOREACH variable-expansions properly.
71947
71948 2003-03-13  Paul Eggert  <eggert@twinsun.com>
71949
71950         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
71951
71952 2003-03-09  Paul Eggert  <eggert@twinsun.com>
71953
71954         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
71955         Reported by Bruce Becker; see:
71956         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
71957
71958 2003-03-03  Paul Eggert  <eggert@twinsun.com>
71959             Bruno Haible  <bruno@clisp.org>
71960
71961         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
71962         Reported by John Hughes, see
71963         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
71964
71965 2003-02-20  Bruno Haible  <bruno@clisp.org>
71966
71967         * MODULES.html.sh (func_all_modules): Add poll.
71968
71969 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71970
71971         * modules/poll: New file.
71972
71973 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71974
71975         * lib/poll_.h: New file.
71976         * lib/poll.c: New file.
71977
71978 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
71979
71980         * m4/poll.m4: New file.
71981
71982 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71983
71984         * modules/mathl: New file.
71985
71986 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
71987
71988         * lib/mathl.h: New file.
71989         * lib/acosl.c: New file.
71990         * lib/asinl.c: New file.
71991         * lib/atanl.c: New file.
71992         * lib/ceill.c: New file.
71993         * lib/cosl.c: New file.
71994         * lib/expl.c: New file.
71995         * lib/floorl.c: New file.
71996         * lib/frexpl.c: New file.
71997         * lib/ldexpl.c: New file.
71998         * lib/logl.c: New file.
71999         * lib/sincosl.c: New file.
72000         * lib/sinl.c: New file.
72001         * lib/sqrtl.c: New file.
72002         * lib/tanl.c: New file.
72003         * lib/trigl.c: New file.
72004         * lib/trigl.h: New file.
72005
72006 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
72007
72008         * m4/mathl.m4: New file.
72009
72010 2003-02-18  Bruno Haible  <bruno@clisp.org>
72011
72012         * MODULES.html.sh (func_all_modules): Add mathl.
72013
72014 2003-02-17  Bruno Haible  <bruno@clisp.org>
72015
72016         * modules/mkdtemp: New module.
72017         * MODULES.html.sh (func_all_modules): Add it.
72018
72019 2003-02-17  Bruno Haible  <bruno@clisp.org>
72020
72021         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
72022
72023 2003-02-17  Bruno Haible  <bruno@clisp.org>
72024
72025         * lib/mkdtemp.h: New file, from GNU gettext.
72026         * lib/mkdtemp.c: New file, from GNU gettext.
72027
72028 2003-02-02  Jim Meyering  <jim@meyering.net>
72029
72030         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
72031         e.g. glibc-2.2.93.
72032
72033 2003-01-31  Bruno Haible  <bruno@clisp.org>
72034
72035         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
72036         'rpl_rename'.
72037         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
72038         'rpl_strnlen'.
72039         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
72040         'rpl_strtod'.
72041         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
72042         'rpl_utime'.
72043
72044 2003-01-31  Bruno Haible  <bruno@clisp.org>
72045
72046         * lib/rename.c: #undef rename before defining rpl_rename.
72047         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
72048
72049 2003-01-30  Bruno Haible  <bruno@clisp.org>
72050
72051         * modules/vasnprintf, modules/vasprintf: New modules.
72052         * MODULES.html.sh (func_all_modules): Add them.
72053
72054 2003-01-30  Bruno Haible  <bruno@clisp.org>
72055
72056         * m4/signed.m4: New file, from GNU gettext.
72057         * m4/longdouble.m4: New file, from GNU gettext.
72058         * m4/wchar_t.m4: New file, from GNU gettext.
72059         * m4/wint_t.m4: New file, from GNU gettext.
72060         * m4/vasnprintf.m4: New file.
72061         * m4/vasprintf.m4: New file.
72062
72063 2003-01-30  Bruno Haible  <bruno@clisp.org>
72064
72065         * lib/printf-args.h: New file, from GNU gettext.
72066         * lib/printf-args.c: New file, from GNU gettext.
72067         * lib/printf-parse.h: New file, from GNU gettext.
72068         * lib/printf-parse.c: New file, from GNU gettext.
72069         * lib/vasnprintf.h: New file, from GNU gettext.
72070         * lib/vasnprintf.c: New file, from GNU gettext.
72071         * lib/asnprintf.c: New file, from GNU gettext.
72072         * lib/vasprintf.h: New file, from GNU gettext with modifications.
72073         * lib/vasprintf.c: New file, from GNU gettext.
72074         * lib/asprintf.c: New file, from GNU gettext.
72075
72076 2003-01-29  Bruno Haible  <bruno@clisp.org>
72077
72078         * modules/stpncpy: New module.
72079         * MODULES.html.sh (func_all_modules): Add it.
72080
72081 2003-01-29  Bruno Haible  <bruno@clisp.org>
72082
72083         * m4/stpncpy.m4: New file.
72084
72085 2003-01-29  Bruno Haible  <bruno@clisp.org>
72086
72087         * lib/stpncpy.h: New file, from GNU gettext with modifications.
72088         * lib/stpncpy.c: New file, from GNU gettext with modifications.
72089
72090 2003-01-28  Bruno Haible  <bruno@clisp.org>
72091
72092         * modules/c-ctype: New module.
72093         * MODULES.html.sh (func_all_modules): Add it.
72094
72095 2003-01-28  Bruno Haible  <bruno@clisp.org>
72096
72097         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
72098         Paul Eggert.
72099         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
72100         Paul Eggert.
72101
72102 2003-01-27  Bruno Haible  <bruno@clisp.org>
72103
72104         * modules/xsetenv: New module.
72105         * MODULES.html.sh (func_all_modules): Add it.
72106
72107 2003-01-27  Bruno Haible  <bruno@clisp.org>
72108
72109         * lib/xsetenv.h: New file, from GNU gettext.
72110         * lib/xsetenv.c: New file, from GNU gettext.
72111
72112 2003-01-23  Jim Meyering  <jim@meyering.net>
72113
72114         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
72115         from working on systems without dirfd (at least Irix and OSF1/Tru64).
72116
72117 2003-01-23  Bruno Haible  <bruno@clisp.org>
72118
72119         * modules/minmax: New module.
72120         * MODULES.html.sh (func_all_modules): Add it.
72121
72122 2003-01-23  Bruno Haible  <bruno@clisp.org>
72123
72124         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
72125         Eggert.
72126
72127 2003-01-22  Bruno Haible  <bruno@clisp.org>
72128
72129         * modules/exit: New module.
72130         * MODULES.html.sh (func_all_modules): Add it.
72131
72132 2003-01-22  Bruno Haible  <bruno@clisp.org>
72133
72134         * lib/exit.h: New file, from GNU gettext.
72135
72136 2003-01-19  Bruno Haible  <bruno@clisp.org>
72137
72138         * gnulib-tool: Recognize option --extract-maintainer.
72139         (func_get_maintainer): New function.
72140         * modules/*: Add Maintainer entry.
72141
72142 2003-01-16  Jim Meyering  <jim@meyering.net>
72143
72144         * m4/regex.m4: The `regex' struct is both input and output.
72145         Initialize it before each use.  Patch by Tim Waugh.
72146
72147 2003-01-16  Bruno Haible  <bruno@clisp.org>
72148
72149         * MODULES.html.sh: Add a table of contents. Add the module name as
72150         leftmost column. Add hyperlinks.
72151
72152 2003-01-15  Bruno Haible  <bruno@clisp.org>
72153
72154         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
72155
72156 2003-01-15  Bruno Haible  <bruno@clisp.org>
72157
72158         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
72159         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
72160         suffix.
72161
72162 2003-01-15  Bruno Haible  <bruno@clisp.org>
72163
72164         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
72165
72166 2003-01-15  Bruno Haible  <bruno@clisp.org>
72167
72168         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
72169         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
72170
72171 2003-01-14  Jim Meyering  <jim@meyering.net>
72172
72173         * lib/same.c (same_name): Tweak a comment.
72174
72175 2003-01-14  Bruno Haible  <bruno@clisp.org>
72176
72177         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
72178         when a string comparison is sufficient.
72179
72180 2003-01-14  Bruno Haible  <bruno@clisp.org>
72181
72182         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
72183         'unsigned int'.
72184
72185 2003-01-14  Bruno Haible  <bruno@clisp.org>
72186
72187         * lib/hash-pjw.c: Add comment about low quality of this function.
72188
72189 2003-01-13  Bruno Haible  <bruno@clisp.org>
72190
72191         * modules/stpcpy: Distribute lib/stpcpy.h.
72192         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
72193
72194 2003-01-13  Bruno Haible  <bruno@clisp.org>
72195
72196         * modules/*: Add a description.
72197         * modules/strpbrk: Fix Makefile.am snippet.
72198         * modules/strtoimax: Fix dependencies.
72199         * modules/strtoumax: Likewise.
72200
72201 2003-01-13  Bruno Haible  <bruno@clisp.org>
72202
72203         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
72204         * modules/alloca (Makefile.am): All object files depend on alloca.h.
72205         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
72206
72207 2003-01-13  Bruno Haible  <bruno@clisp.org>
72208
72209         * gnulib-tool (func_create_testdir): Store config/* files in the main
72210         directory.
72211         * config.rpath: Move to ...
72212         * config/config.rpath: ... here.
72213         * modules/gettext: Contains config/config.rpath, not config.rpath.
72214         * modules/iconv: Likewise.
72215
72216 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72217
72218         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72219         to avoid collisions with libcurses and libreadline.
72220
72221         * m4/getstr.m4: Remove.
72222         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
72223
72224 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72225
72226         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72227         to avoid collisions with libcurses and libreadline.
72228
72229         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
72230         * lib/getstr.h, getstr.c: Remove.
72231         * lib/getline.c: Include "getline.h", to check interface.
72232         Move body of old getstr.c here: this defines MIN_CHUNK and
72233         declares getdelim2, which is renamed from getstr.
72234         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
72235
72236         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
72237         All uses changed.
72238         * lib/linebuffer.h: Likewise.
72239         (readline): Remove backward-compatibility macro.
72240
72241 2003-01-12  Paul Eggert  <eggert@twinsun.com>
72242
72243         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
72244         to avoid collisions with libcurses and libreadline.
72245         * getstr: Remove.
72246         * MODULES.html.sh: Remove getstr.
72247         * modules/getline: Depend on unlocked-io, not getstr.
72248
72249 2003-01-12  Jim Meyering  <jim@meyering.net>
72250
72251         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
72252
72253 2003-01-10  Bruno Haible  <bruno@clisp.org>
72254
72255         * modules/alloca: Change Makefile.am requirements. Simplify Include
72256         requirements. Add lib/alloca_.h to file list.
72257
72258 2003-01-10  Bruno Haible  <bruno@clisp.org>
72259
72260         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
72261
72262 2003-01-10  Bruno Haible  <bruno@clisp.org>
72263
72264         * lib/alloca_.h: New file.
72265         * lib/getdate.y: Unconditionally include alloca.h.
72266         * lib/makepath.c: Likewise.
72267         * lib/setenv.c: Likewise.
72268         * lib/userspec.c: Likewise.
72269
72270 2003-01-09  Karl Berry  <karl@gnu.org>
72271
72272         * MODULES.html.sh: include `dirname $0` in PATH, to find
72273         gnulib-tool.
72274
72275 2003-01-09  Bruno Haible  <bruno@clisp.org>
72276
72277         * modules/stdbool: Change configure.ac, Makefile.am requirements.
72278         Simplify Include requirements. Add lib/stdbool.h.in to file list.
72279
72280 2003-01-09  Bruno Haible  <bruno@clisp.org>
72281
72282         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
72283
72284 2003-01-09  Bruno Haible  <bruno@clisp.org>
72285
72286         * lib/stdbool.h.in: New file.
72287
72288 2003-01-09  Bruno Haible  <bruno@clisp.org>
72289
72290         * gnulib-tool (func_all_modules): Ignore files ending in ~.
72291         * MODULES.html.sh: Likewise.
72292
72293 2003-01-08  Jim Meyering  <jim@meyering.net>
72294
72295         * lib/full-write.c: Undefine and define-away `const' after inclusion
72296         of errno.h, not before.  Suggestion from Bruno Haible.
72297
72298 2003-01-08  Bruno Haible  <bruno@clisp.org>
72299
72300         * modules/full-read: Depend on full-write.
72301
72302 2003-01-08  Bruno Haible  <bruno@clisp.org>
72303
72304         * lib/safe-read.c: Include specification header first, to ensure its
72305         selfcontainedness.
72306         * lib/full-write.c: Likewise.
72307
72308 2003-01-07  Jim Meyering  <jim@meyering.net>
72309
72310         * lib/full-write.c: Rework so that it may serve to define full_read,
72311         too.
72312         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
72313
72314 2003-01-07  Bruno Haible  <bruno@clisp.org>
72315
72316         * lib/strtoimax.c: Include <stdint.h> as an alternative to
72317         <inttypes.h>.
72318         * lib/xstrtol.h: Likewise.
72319         * lib/xstrtoimax.c: Likewise.
72320         * lib/xstrtoumax.c: Likewise.
72321         * lib/human.h: Likewise.
72322
72323         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
72324         on systems that have <inttypes.h> but not <stdint.h>.
72325
72326 2003-01-07  Bruno Haible  <bruno@clisp.org>
72327
72328         * MODULES.html.sh: Add copyright notice.
72329         (missed_files): Omit CVS directory entries.
72330         (func_module): Make it work with sed-3.02.
72331         * MODULES.txt: Remove file.
72332
72333 2003-01-06  Jim Meyering  <jim@meyering.net>
72334
72335         * lib/version-etc.c: Update year in translatable copyright string.
72336
72337 2003-01-03  Karl Berry  <karl@gnu.org>
72338
72339         * config/config.{guess,sub}: update from prep.
72340
72341 2003-01-02  Karl Berry  <karl@gnu.org>
72342
72343         * doc/COPYING.DOC: belatedly updated to 1.2.
72344
72345 2003-01-01  Karl Berry  <karl@gnu.org>
72346
72347         * gnulib-tool (func_verify_module): report module name $module in
72348         error message, not $1.
72349         * gnulib-tool (create-testdir): don't complain if destdir couldn't
72350         be created, only if it doesn't exist.
72351         * gnulib-tool (last_checkin_date): don't expand the $Date here.
72352
72353 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72354
72355         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
72356
72357 2002-12-31  Paul Eggert  <eggert@twinsun.com>
72358
72359         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
72360         memcmp if strcoll doesn't work.
72361
72362 2002-12-31  Bruno Haible  <bruno@clisp.org>
72363
72364         * lib/utime.c (utime_null): No need to call ftruncate if the file was
72365         nonempty.
72366
72367 2002-12-31  Bruno Haible  <bruno@clisp.org>
72368
72369         * lib/memcoll.c (STRCOLL): New macro.
72370         (memcoll): Use it.
72371
72372 2002-12-31  Bruno Haible  <bruno@clisp.org>
72373
72374         * lib/localcharset.h: New file.
72375         * lib/localcharset.c: Include it.
72376         * lib/unicodeio.c: Likewise.
72377
72378 2002-12-31  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
72381         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
72382
72383 2002-12-31  Bruno Haible  <bruno@clisp.org>
72384
72385         * lib/getline.h: Include <stddef.h>, for size_t.
72386
72387         * lib/unicodeio.h: Include <stddef.h>, for size_t.
72388         * lib/unicodeio.c: Don't include <stddef.h>.
72389
72390 2002-12-31  Bruno Haible  <bruno@clisp.org>
72391
72392         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
72393         HAVE_TM_ZONE.
72394
72395 2002-12-24  Karl Berry  <karl@gnu.org>
72396
72397         * config/config.guess: update from prep.
72398
72399 2002-12-24  Bruno Haible  <bruno@clisp.org>
72400
72401         General infrasructure.
72402         * m4/README: Rewritten.
72403         * m4/onceonly.m4: New file.
72404         * m4/onceonly_2_57.m4: New file.
72405
72406         Module atexit.
72407         * m4/atexit.m4: New file.
72408
72409         Module strtod.
72410         * m4/strtod.m4: New file.
72411
72412         Module strtol.
72413         * m4/strtol.m4: New file.
72414
72415         Module strtoul.
72416         * m4/strtoul.m4: New file.
72417
72418         Module memchr.
72419         * m4/memchr.m4: New file.
72420
72421         Module memcmp.
72422         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
72423         (jm_FUNC_MEMCMP): Invoke it.
72424
72425         Module memcpy.
72426         * m4/memcpy.m4: New file.
72427
72428         Module memmove.
72429         * m4/memmove.m4: New file.
72430
72431         Module memset.
72432         * m4/memset.m4: New file.
72433
72434         Module strcspn.
72435         * m4/strcspn.m4: New file.
72436
72437         Module strpbrk.
72438         * m4/strpbrk.m4: New file.
72439
72440         Module strstr.
72441         * m4/strstr.m4: New file.
72442
72443         Module strerror.
72444         * m4/strerror.m4: New file.
72445
72446         Module mktime.
72447         * m4/mktime.m4: Renamed from jm-mktime.m4.
72448         (gl_PREREQ_MKTIME): New macro.
72449         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
72450
72451         Module malloc.
72452         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
72453         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
72454         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
72455
72456         Module realloc.
72457         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
72458         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
72459         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
72460
72461         Module strftime.
72462         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
72463         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
72464         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
72465         gl_TM_GMTOFF.
72466         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
72467
72468         Module xalloc.
72469         * m4/xalloc.m4: New file.
72470
72471         Module alloca.
72472         * m4/alloca.m4: New file.
72473
72474         Module putenv.
72475         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
72476         (jm_FUNC_PUTENV): Invoke it.
72477
72478         Module setenv.
72479         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
72480         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
72481         when invoked twice.
72482         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
72483         gt_FUNC_SETENV.
72484
72485         Module memrchr.
72486         * m4/memrchr.m4: New file.
72487
72488         Module stpcpy.
72489         * m4/stpcpy.m4: New file.
72490
72491         Module strcase.
72492         * m4/strcase.m4: New file.
72493
72494         Module strdup.
72495         * m4/strdup.m4: New file.
72496
72497         Module strnlen.
72498         * m4/strnlen.m4: New file.
72499
72500         Module strndup.
72501         * m4/strndup.m4: New file.
72502
72503         Module xstrtod.
72504         * m4/xstrtod.m4: New file.
72505
72506         Module xstrtol.
72507         * m4/xstrtol.m4: New file.
72508
72509         Module getdate.
72510         * m4/getdate.m4: New file.
72511
72512         Module unlocked-io.
72513         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
72514         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
72515         * m4/jm-glibc-io.m4n: Remove file.
72516
72517         Module long-options.
72518         * m4/long-options.m4: New file.
72519
72520         Module md5.
72521         * m4/md5.m4: New file.
72522
72523         Module sha.
72524         * m4/sha.m4: New file.
72525
72526         Module getstr.
72527         * m4/getstr.m4: New file.
72528
72529         Module getline.
72530         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
72531         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
72532         <sys/types.h>, for size_t. Use the function name gnu_getline, not
72533         simply getline. Infoke gl_PREREQ_GETLINE.
72534
72535         Module obstack.
72536         * m4/obstack.m4: New file.
72537
72538         Module hash.
72539         * m4/hash.m4: New file.
72540
72541         Module readtokens.
72542         * m4/readtokens.m4: New file.
72543
72544         Module strverscmp.
72545         * m4/strverscmp.m4: New file.
72546
72547         Module stdbool.
72548         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
72549         OSF/1.
72550
72551         Module strtoll.
72552         * m4/strtoll.m4: New file.
72553
72554         Module strtoull.
72555         * m4/strtoull.m4: New file.
72556
72557         Module strtoimax.
72558         * m4/strtoimax.m4: New file.
72559
72560         Module strtoumax.
72561         * m4/strtoumax.m4: New file.
72562
72563         Module xstrtoimax.
72564         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
72565         jm_AC_PREREQ_XSTRTOIMAX.
72566         Moved the strtol prerequisites to strtol.m4.
72567         Moved the strtoll prerequisites to strtoll.m4.
72568         Moved the strtoimax prerequisites to strtoimax.m4.
72569
72570         Module xstrtoumax.
72571         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
72572         jm_AC_PREREQ_XSTRTOUMAX.
72573         Moved the strtoul prerequisites to strtoul.m4.
72574         Moved the strtoull prerequisites to strtoull.m4.
72575         Moved the strtoumax prerequisites to strtoumax.m4.
72576
72577         Module chown.
72578         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
72579         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
72580
72581         Module dup2.
72582         * m4/dup2.m4: New file.
72583
72584         Module ftruncate.
72585         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
72586         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
72587
72588         Module getgroups.
72589         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
72590         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
72591
72592         Module gettimeofday.
72593         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
72594         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
72595         gl_PREREQ_GETTIMEOFDAY.
72596
72597         Module mkdir.
72598         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
72599         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
72600
72601         Module mkstemp.
72602         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
72603         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
72604         jm_AC_TYPE_UINTMAX_T.
72605         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
72606
72607         Module stat.
72608         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
72609         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
72610
72611         Module lstat.
72612         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
72613         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
72614
72615         Module timespec.
72616         * m4/timespec.m4 (gl_TIMESPEC): New macro.
72617         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
72618         * m4/st_mtim.m4: Indentation.
72619
72620         Module nanosleep.
72621         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
72622         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
72623         gl_PREREQ_NANOSLEEP.
72624
72625         Module regex.
72626         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
72627         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
72628         (gl_REGEX): New macro.
72629
72630         Module rename.
72631         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
72632         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
72633
72634         Module rmdir.
72635         * m4/rmdir.m4: New file.
72636
72637         Module utime.
72638         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
72639         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
72640         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
72641
72642         Module dirname.
72643         * m4/dirname.m4: New file.
72644
72645         Module getopt.
72646         * m4/getopt.m4: New file.
72647
72648         Module unistd-safer.
72649         * m4/unistd-safer.m4: New file.
72650
72651         Module fnmatch.
72652         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
72653         declaration.
72654         (gl_PREREQ_FNMATCH_EXTRA): New macro.
72655         (gl_FUNC_FNMATCH_POSIX): New macro.
72656         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
72657         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
72658         simply fnmatch.
72659
72660         Module exclude.
72661         * m4/exclude.m4: New file.
72662
72663         Module human.
72664         * m4/human.m4: New file.
72665
72666         Module acl.
72667         * m4/acl.m4: Nop.
72668
72669         Module backupfile.
72670         * m4/backupfile.m4: New file.
72671         * m4/d-ino.m4: Indentation.
72672
72673         Module fsusage.
72674         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
72675         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
72676         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
72677
72678         Module dirfd.
72679         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
72680         requirements.
72681
72682         Module euidaccess.
72683         * m4/euidaccess.m4: New file.
72684
72685         Module file-type.
72686         * m4/file-type.m4: New file.
72687
72688         Module fileblocks.
72689         * m4/fileblocks.m4: New file.
72690
72691         Module filemode.
72692         * m4/filemode.m4: New file.
72693
72694         Module isdir.
72695         * m4/isdir.m4: New file.
72696
72697         Module lchown.
72698         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
72699         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
72700
72701         Module makepath.
72702         * m4/makepath.m4: New file.
72703
72704         Module modechange.
72705         * m4/modechange.m4: New file.
72706
72707         Module mountlist.
72708         * m4/mountlist.m4: New file.
72709         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
72710         Indentation.
72711
72712         Module path-concat.
72713         * m4/path-concat.m4: New file.
72714
72715         Module pathmax.
72716         * m4/pathmax.m4: New file.
72717
72718         Module same.
72719         * m4/same.m4: New file.
72720
72721         Module save-cwd.
72722         * m4/save-cwd.m4: New file.
72723
72724         Module savedir.
72725         * m4/savedir.m4: New file.
72726
72727         Module xgetcwd.
72728         * m4/xgetcwd.m4: New file.
72729         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
72730
72731         Module xreadlink.
72732         * m4/xreadlink.m4: New file.
72733
72734         Module safe-read.
72735         * m4/safe-read.m4: New file.
72736
72737         Module safe-write.
72738         * m4/safe-write.m4: New file.
72739
72740         Module closeout.
72741         * m4/closeout.m4: New file.
72742
72743         Module stdio-safer.
72744         * m4/stdio-safer.m4: New file.
72745
72746         Module getpass.
72747         * m4/getpass.m4: New file.
72748
72749         Module getugroups.
72750         * m4/getugroups.m4: New file.
72751
72752         Module group-member.
72753         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
72754         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
72755
72756         Module idcache.
72757         * m4/idcache.m4: New file.
72758
72759         Module userspec.
72760         * m4/userspec.m4: New file.
72761
72762         Module gettime.
72763         * m4/clock_time.m4: New file.
72764         * m4/gettime.m4: New file.
72765
72766         Module settime.
72767         * m4/settime.m4: New file.
72768
72769         Module posixtm.
72770         * m4/posixtm.m4: New file.
72771
72772         Module gethostname.
72773         * m4/gethostname.m4: New file.
72774
72775         Module canon-host.
72776         * m4/canon-host.m4: New file.
72777
72778         Module gettext.
72779         * m4/codeset.m4: New file, from gettext-0.11.5.
72780         * m4/gettext.m4: New file, from gettext-0.11.5.
72781         * m4/glibc21.m4: New file, from gettext-0.11.5.
72782         * m4/iconv.m4: New file, from gettext-0.11.5.
72783         * m4/intdiv0.m4: New file, from gettext-0.11.5.
72784         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
72785         * m4/inttypes.m4: New file, from gettext-0.11.5.
72786         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
72787         * m4/isc-posix.m4: New file, from gettext-0.11.5.
72788         * m4/lcmessage.m4: New file, from gettext-0.11.5.
72789         * m4/lib-ld.m4: New file, from gettext-0.11.5.
72790         * m4/lib-link.m4: New file, from gettext-0.11.5.
72791         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
72792         * m4/progtest.m4: New file, from gettext-0.11.5.
72793         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
72794         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
72795         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
72796
72797         Module localcharset.
72798         * m4/localcharset.m4: New file.
72799
72800         Module hard-locale.
72801         * m4/hard-locale.m4: New file.
72802
72803         Module mbswidth.
72804         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
72805         onceonly macros.
72806         * m4/mbrtowc.m4: Add comment.
72807
72808         Module memcasecmp.
72809         * m4/memcasecmp.m4: New file.
72810
72811         Module memcoll.
72812         * m4/memcoll.m4: New file.
72813
72814         Module unicodeio.
72815         * m4/unicodeio.m4: New file.
72816
72817         Module rpmatch.
72818         * m4/rpmatch.m4: New file.
72819
72820         Module yesno.
72821         * m4/yesno.m4: New file.
72822
72823         Module exitfail.
72824         * m4/exitfail.m4: New file.
72825
72826         Module c-stack.
72827         * m4/c-stack.m4 (gl_C_STACK): New macro.
72828         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
72829
72830         Module error.
72831         * m4/error.m4 (gl_ERROR): New macro.
72832         (jm_PREREQ_ERROR): Use onceonly macros.
72833
72834         Module fatal.
72835         * m4/fatal.m4: New file.
72836
72837         Module getloadavg.
72838         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
72839         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
72840
72841         Module getpagesize.
72842         * m4/getpagesize.m4: New file.
72843
72844         Module getusershell.
72845         * m4/getusershell.m4: New file.
72846
72847         Module physmem.
72848         * m4/physmem.m4: New file.
72849
72850         Module posixver.
72851         * m4/posixver.m4: New file.
72852
72853         Module quotearg.
72854         * m4/quotearg.m4: New file.
72855
72856         Module quote.
72857         * m4/quote.m4: New file.
72858
72859         Module readutmp.
72860         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
72861
72862         Module sig2str.
72863         * m4/sig2str.m4: New file.
72864
72865         Other.
72866         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
72867         ulonglong.m4.
72868         * m4/intmax_t.m4: New file.
72869         * m4/d-type.m4: Indentation.
72870         * m4/jm-macros.m4: Update.
72871         * m4/prereq.m4 (jm_PREREQ): Update.
72872         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
72873         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
72874         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
72875         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
72876         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
72877         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
72878         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
72879         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
72880         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
72881         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
72882         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
72883         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
72884         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
72885         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
72886         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
72887         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
72888         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
72889         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
72890         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
72891
72892 2002-12-24  Bruno Haible  <bruno@clisp.org>
72893
72894         * MODULES.txt: Update according to m4/ changes.
72895
72896         Module gettext.
72897         * config.rpath: New file, from gettext-0.11.5.
72898
72899         * modules/*: New module descriptions.
72900         * gnulib-tool: New file.
72901         * MODULES.html.sh: New file.
72902
72903 2002-12-21  Karl Berry  <karl@gnu.org>
72904
72905         * doc/fdl.texi: update to version 1.2.
72906
72907 2002-12-19  Karl Berry  <karl@gnu.org>
72908
72909         * config/config.guess: update from prep.
72910
72911 2002-12-18  Bruno Haible  <bruno@clisp.org>
72912
72913         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
72914         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
72915
72916 2002-12-17  Bruno Haible  <bruno@clisp.org>
72917
72918         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
72919         stdlib.h, string.h.
72920
72921 2002-12-17  Bruno Haible  <bruno@clisp.org>
72922
72923         * lib/canon-host.c (strdup): Remove unused declaration.
72924
72925         * lib/fsusage.c: Include full_read.h.
72926         (get_fs_usage): Use full_read instead of safe_read.
72927
72928         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
72929
72930 2002-12-12  Karl Berry  <karl@gnu.org>
72931
72932         * config/config.guess: update from prep.
72933
72934 2002-12-11  Bruno Haible  <bruno@clisp.org>
72935
72936         * m4/setenv.m4: New file, from gettext-0.11.5.
72937
72938 2002-12-11  Bruno Haible  <bruno@clisp.org>
72939
72940         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
72941         not unsetenv().
72942         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
72943         modifications:
72944
72945         2002-12-11  Bruno Haible  <bruno@clisp.org>
72946
72947                 * setenv.c (alloca): Fall back to malloc.
72948                 (freea): New macro.
72949                 (setenv): Use freea() to free memory allocated with alloca().
72950
72951         2002-11-13  Bruno Haible  <bruno@clisp.org>
72952
72953                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
72954                 function declarations.
72955                 * unsetenv.c (unsetenv): Likewise.
72956
72957         2002-03-04  Bruno Haible  <bruno@clisp.org>
72958
72959                 Portability to AIX 4.3.3.
72960                 * unsetenv.c: New file, extracted from setenv.c.
72961                 * setenv.c: Move the unsetenv() function to unsetenv.c.
72962
72963         2001-12-20  Bruno Haible  <bruno@clisp.org>
72964
72965                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
72966                 use malloc instead. For SunOS 4.
72967
72968         2001-12-11  Bruno Haible  <bruno@clisp.org>
72969
72970                 * setenv.c: Declare alloca.
72971                 (compar_fn_t): New typedef.
72972                 (KNOWN_VALUE, STORE_VALUE): Use it.
72973
72974         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
72975         setenv.h.
72976
72977 2002-12-10  Paul Eggert  <eggert@twinsun.com>
72978
72979         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
72980         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
72981         Choose values that are less likely to collide with system fnmatch
72982         options.
72983         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
72984         defined (e.g., a pure POSIX system).
72985         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
72986         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
72987
72988 2002-12-06  Paul Eggert  <eggert@twinsun.com>
72989
72990         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
72991         a pain in practice to deal with generated m4 files.  This change
72992         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
72993
72994         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
72995         and jm-glibc-io.m4, as they are no longer a special case.
72996         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
72997         kludge and the auto-generation stuff.  Check only whether the
72998         functions are declared, not whether they exist, since older hosts
72999         that don't declare the functions can't use the optimization anyway.
73000
73001 2002-12-06  Jim Meyering  <jim@meyering.net>
73002
73003         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
73004
73005         Merge in changes from libc's misc/error.c, in preparation
73006         for the merge of gnulib's changes back into libc.
73007
73008         * lib/error.c (_): Define only if not already defined.
73009         Move definition to follow all #include directives.
73010         Include unlocked-io.h only if !_LIBC.
73011         [_LIBC]: Include <libio/libioP.h>.
73012         [USE_IN_LIBIO]: Include <libio/iolibio.h>
73013         (fflush): Tweak definition to use INTUSE.
73014         (putc): Define.
73015
73016 2002-12-05  Paul Eggert  <eggert@twinsun.com>
73017
73018         * lib/alloca.c [defined emacs]: Include "lisp.h".
73019         (xalloc_die) [defined emacs]: New macro.
73020         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
73021         [! defined emacs]: Include <xalloc.h>.
73022         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
73023         (pointer): Typedef to POINTER_TYPE *.
73024         (malloc): Remove decl; we now always use xmalloc.
73025         (alloca): Use old-style definition, since Emacs needs this.
73026         Check for arithmetic overflow when computing combined size.
73027
73028 2002-12-04  Paul Eggert  <eggert@twinsun.com>
73029
73030         Do not generate unlocked-io.h automatically, since it's easier to
73031         maintain it by hand.
73032
73033         * lib/unlocked-io.h: New file, from GNU diffutils,
73034         but with proper copyright notice and attribution.
73035         * lib/gen-uio: Remove.
73036         * lib/Makefile.am: Add copyright notice.
73037         (libfetish_a_SOURCES): Add unlocked-io.h.
73038         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
73039         (DISTCLEANFILES, io_functions): Remove macros.
73040         (EXTRA_DIST): Remove gen_uio.
73041         (unlocked-io.h): Remove rule.
73042
73043 2002-12-04  Jim Meyering  <jim@meyering.net>
73044
73045         Reflect the fact that stat.c and lstat.c are no longer generated.
73046         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
73047         (DISTCLEANFILES): Likewise.
73048         (EXTRA_DIST): Likewise.
73049         (all_local): Don't depend on stat.c or lstat.c.
73050         (stat.c, lstat.c): Remove rules.
73051         (EXTRA_DIST): Remove xstat.in.
73052
73053         * lib/xstat.in: Remove file.  Contents moved into stat.c.
73054         * lib/stat.c: New file.  Contents mostly from xstat.in.
73055         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
73056         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
73057
73058         * lib/safe-read.c: Rework so that it may serve to define safe_write,
73059         too.
73060         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
73061
73062 2002-12-03  Jim Meyering  <jim@meyering.net>
73063
73064         * lib/safe-read.c, safe-write.c: Change variable names and comments,
73065         but not semantics, to minimize the differences between these two files.
73066         (safe_read): Change comment to mention SAFE_READ_ERROR.
73067
73068         * lib/safe-read.c (IS_EINTR): Define.
73069         (safe_read): Use IS_EINTR in place of in-function cpp directives.
73070
73071 2002-12-02  Jim Meyering  <jim@meyering.net>
73072
73073         * lib/safe-read.c (EINTR): Define.
73074         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73075         (INT_MAX): Provide fallback.
73076         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
73077
73078         * lib/safe-read.h (SAFE_READ_ERROR): Define.
73079
73080 2002-12-02  Bruno Haible  <bruno@clisp.org>
73081
73082         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
73083         Define, taken from safe-read.c.
73084         (INT_MAX): Provide fallback.
73085         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
73086         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
73087
73088         * lib/safe-read.c (EINTR): Remove definition.
73089         (safe_read): Don't use EINTR if it is absent.
73090
73091 2002-12-01  Jim Meyering  <jim@meyering.net>
73092
73093         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
73094         zero.
73095         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
73096
73097 2002-11-27  Paul Eggert  <eggert@twinsun.com>
73098
73099         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
73100         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
73101         with `if (! (value < limit)) abort ();', for readability.
73102
73103 2002-11-26  Karl Berry  <karl@gnu.org>
73104
73105         * lib/strdup.c: copy from libc again, with jim's ok.
73106         * lib/.cppi-disable: re-add strdup.c
73107
73108 2002-11-25  Karl Berry  <karl@gnu.org>
73109
73110         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
73111         instead of "strtol.c".
73112
73113 2002-11-25  Karl Berry  <karl@gnu.org>
73114
73115         * config/install-sh: update from automake for variable quoting, $0 in
73116         error msgs, etc.
73117
73118         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
73119         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
73120         entry.
73121
73122 2002-11-25  Jim Meyering  <jim@meyering.net>
73123
73124         * lib/mktime.c: Sync from libc, now that it has the latest fix.
73125
73126 2002-11-24  Karl Berry  <karl@gnu.org>
73127
73128         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
73129         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
73130
73131 2002-11-24  Jim Meyering  <jim@meyering.net>
73132
73133         Update from coreutils:
73134
73135         * lib/mktime.c: Merge in changes from libc.
73136
73137         Avoid a link-time failure on some Linux systems.
73138         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
73139         (otherwise).
73140         (__mon_yday): Declare with the STATIC attribute.
73141         (__mktime_internal): Likewise.
73142         Based on a report from Greg Schafer.
73143
73144 2002-11-23  Jim Meyering  <jim@meyering.net>
73145
73146         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
73147         Use `unsigned', not `int', as type of index.
73148
73149         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
73150
73151         * lib/fsusage.c: Remove unneeded parentheses around operands of
73152         `defined'.
73153
73154 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73155
73156         * lib/quotearg.h: Allow multiple inclusion by surrounding with
73157         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
73158         so that we can be included first.
73159         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
73160         * lib/quotearg.c: Include quotearg.h immediately after config.h.
73161         No need to include stddef.h or sys/types.h any more.
73162         Surround local include files with "", not "<>".
73163         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
73164         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
73165         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
73166         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
73167         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
73168         (ISPRINT): Remove; no longer needed now that we assume C89.
73169
73170         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
73171         Preserve errno.
73172
73173         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
73174         quotearg_char): Use SIZE_MAX rather than
73175         (size_t) -1 when we are talking about "infinity".
73176
73177         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
73178
73179 2002-11-22  Paul Eggert  <eggert@twinsun.com>
73180
73181         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
73182         hint that one should use `if (! x) abort ();' rather than `assert
73183         (x);', and anyway it's one less thing to worry about configuring.
73184         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
73185         hash_rehash, hash_insert): Use abort rather than assert.
73186
73187 2002-11-22  Bruno Haible  <bruno@clisp.org>
73188
73189         * lib/safe-read.h: Assume C89. Add comments.
73190         (safe_read): Change return type to size_t.
73191         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
73192         byte counts > SSIZE_MAX correctly.
73193         * lib/safe-write.h: New file.
73194         * lib/safe-write.c: New file.
73195         * lib/full-read.h: New file.
73196         * lib/full-read.c: New file.
73197         * lib/full-write.h: Assume C89. Add comments.
73198         * lib/full-write.c: Include safe-write.h.
73199         (full_write): Rewritten to use safe_write.
73200         Suggested by Jim Meyering and Paul Eggert.
73201
73202 2002-11-21  Jim Meyering  <jim@meyering.net>
73203
73204         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
73205
73206         Merge in changes from the coreutils.
73207
73208         2002-09-25  Paul Eggert  <eggert@twinsun.com>
73209         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
73210         <stdint.h>.
73211         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
73212         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
73213         int.  Work more efficiently if X is the same width as uintmax_t.
73214         Do not compare X to -1, to avoid bogus compiler warning.
73215         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
73216         Don't assume that f_frsize and f_bsize are the same type.
73217
73218         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
73219         warning on FreeBSD.
73220
73221         * lib/makepath.c (make_path): Restore umask *before* creating the final
73222         component.
73223         (make_path): Minor reformatting.
73224
73225         * lib/xmalloc.c: Adjust to work with new autoconf macros,
73226         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
73227         HAVE_MALLOC/HAVE_REALLOC.
73228
73229         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
73230         dummy ones.  At least on GNU/Linux systems, `auto' means something
73231         else.
73232         From Michael Stone.
73233
73234 2002-11-21  Bruno Haible  <bruno@clisp.org>
73235
73236         Remove case insensitive option matching.
73237         * lib/argmatch.h (argcasematch): Remove declaration.
73238         (ARGCASEMATCH): Remove macro.
73239         (__xargmatch_internal): Remove case_sensitive argument.
73240         (XARGMATCH): Update.
73241         (XARGCASEMATCH): Remove macro.
73242         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
73243         case_sensitive argument.
73244         (argcasematch): Remove function.
73245         (__xargmatch_internal): Remove case_sensitive argument.
73246         (main): Use XARGMATCH instead of XARGCASEMATCH.
73247
73248         * lib/xmalloc.c: Change compile-time error message. Add comment about
73249         required autoconf version.
73250
73251 2002-11-20  Paul Eggert  <eggert@twinsun.com>
73252
73253         Merge argmatch cleanups from Bison.  Assume C89.
73254
73255         * lib/argmatch.c: Include config.h here, not in argmatch.h.
73256         Include stdlib.h, for EXIT_FAILURE.
73257         Always include <string.h>, since we assume C89.
73258         (EXIT_FAILURE): Remove pre-C89 bug workaround.
73259         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
73260         Include <stddef.h> instead, since it's all we need for size_t.
73261         (PARAMS): Remove.  All uses removed.
73262         (ARRAY_CARDINALITY): Do not bother to #undef.
73263         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
73264         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73265         Remove unnecessary parentheses.
73266         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
73267         Insert necessary parentheses.
73268         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
73269         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
73270
73271 2002-11-19  Bruno Haible  <bruno@clisp.org>
73272
73273         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
73274         * lib/mbswidth.h: Include <stddef.h>, for size_t.
73275
73276         * lib/mbswidth.h (PARAMS): Remove macro.
73277         (mbswidth, mbsnwidth): Use ANSI C function declarations.
73278         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
73279
73280         * lib/gcd.h (PARAMS): Remove macro.
73281         (gcd): Use ANSI C function declarations.
73282         * lib/gcd.c (gcd): Likewise.
73283
73284 2002-11-15  Bruno Haible  <bruno@clisp.org>
73285
73286         * lib/strcspn.c: Include <stddef.h>.
73287         (strcspn): Use ANSI C function declaration. Change return type to
73288         size_t. Use NULL.
73289         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
73290         (strpbrk): Use NULL.
73291         * lib/strpbrk.h (PARAMS): Remove macro.
73292         (strpbrk): Use ANSI C function declaration.
73293         * lib/strstr.c: Don't include <sys/types.h>.
73294         * lib/strstr.h (PARAMS): Remove macro.
73295         (strstr): Use ANSI C function declarations.
73296
73297 2002-11-14  Karl Berry  <karl@gnu.org>
73298
73299         * config/mkinstalldirs: `do' on separate line, instead of
73300         `for var; do'.
73301
73302 2002-11-06  Bruno Haible  <bruno@clisp.org>
73303
73304         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
73305         * lib/gcd.c (gcd): Likewise.
73306
73307 2002-11-05  Bruno Haible  <bruno@clisp.org>
73308
73309         * lib/gcd.h: New file, from gettext-0.11.5.
73310         * lib/gcd.c: New file, from gettext-0.11.5.
73311
73312 2002-11-05  Bruno Haible  <bruno@clisp.org>
73313
73314         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73315         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73316         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73317         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
73318
73319         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
73320         <libintl.h>.
73321         * lib/makepath.c: Include gettext.h instead of <locale.h> and
73322         <libintl.h>.
73323
73324         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
73325         * lib/human.c: Include gettext.h instead of <libintl.h>.
73326         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
73327         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
73328         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
73329         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
73330         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
73331         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
73332         (textdomain): Remove definition.
73333         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
73334
73335         * lib/long-options.c: Remove include of <libintl.h> and definition of
73336         _.
73337         * lib/same.c: Remove include of <libintl.h> and definition of _.
73338
73339 2002-11-04  Owen Taylor  <otaylor@redhat.com>
73340
73341         * lib/config.charset: A few additions for Solaris.
73342
73343 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73344
73345         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
73346         * lib/localcharset.c (locale_charset): Declare as extern "C".
73347
73348 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
73349
73350         * lib/config.charset: msdos in uk_UA uses CP1125.
73351
73352 2002-11-04  Bruno Haible  <bruno@clisp.org>
73353
73354         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
73355         * lib/strcase.h: New file, from GNU gettext-0.11.5.
73356         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
73357         * lib/strstr.h: New file, from GNU gettext-0.11.5.
73358         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
73359
73360 2002-11-04  Bruno Haible  <bruno@clisp.org>
73361
73362         * lib/localcharset.c (locale_charset): Don't return an empty string.
73363
73364 2002-11-04  Bruno Haible  <bruno@clisp.org>
73365
73366         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
73367         aliases.
73368
73369 2002-11-04  Bruno Haible  <bruno@clisp.org>
73370
73371         * lib/config.charset: Update for newest glibc. Add canonical names
73372         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
73373
73374 2002-11-04  Bruno Haible  <bruno@clisp.org>
73375
73376         * lib/config.charset: Add support for NetBSD.
73377
73378 2002-11-04  Bruno Haible  <bruno@clisp.org>
73379
73380         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
73381
73382 2002-11-01  Bruno Haible  <bruno@clisp.org>
73383
73384         * configure.in: Add AC_CONFIG_AUX_DIR call.
73385         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
73386         test/Makefile.
73387         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
73388
73389 2002-09-28  Karl Berry  <karl@gnu.org>
73390
73391         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
73392         installed automake until the next release, since changes have been
73393         made.
73394
73395 2002-09-25  Karl Berry  <karl@gnu.org>
73396
73397         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
73398         * lib/getopt*: copy from libc/posix.
73399         * lib/gettext.h: copy from gettext.
73400         * lib/.cppi-disable: add strdup.c, gettext.h.
73401
73402 2002-09-25  Karl Berry  <karl@gnu.org>
73403
73404         * config/srclist.txt: enable gettext.h check.
73405         * config/config.{guess,sub}: update from prep.
73406         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
73407                 from automake 1.6.3.
73408         See srclist*.
73409
73410 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
73411
73412         * regex.c (PATFETCH): Remove the translating fetch.
73413         (PATFETCH_RAW): Rename to PATFETCH.
73414         (set_image_of_range): New fun.
73415         (SET_RANGE_TABLE_WORK_AREA): Use it.
73416         (regex_compile): Don't translate the pattern chars so eagerly.
73417         Only do it when inserting an `exactn' bytecode or when handling
73418         a char-range.
73419         (mutually_exclusive_p): Avoid empty statement.
73420
73421 2002-07-06  Jim Meyering  <meyering@lucent.com>
73422
73423         * m4/README: Don't mention Makefile.am.in.
73424         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
73425
73426 2002-07-01  Jim Meyering  <meyering@lucent.com>
73427
73428         * lib/c-stack.c: Include sys/time.h.
73429         From Volker Borchert.
73430
73431 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73432
73433         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
73434
73435 2002-06-26  Paul Eggert  <eggert@twinsun.com>
73436
73437         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
73438         New macro.  Use it uniformly instead of
73439         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
73440         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
73441         reported by Vin Shelton.
73442
73443 2002-06-22  Paul Eggert  <eggert@twinsun.com>
73444
73445         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
73446         Do not assume SA_SIGINFO behavior.
73447         Bug reported by Jim Meyering on NetBSD 1.5.2.
73448
73449 2002-06-22  Jim Meyering  <meyering@lucent.com>
73450
73451         * m4/c-stack.m4: New file, from diffutils-2.8.2.
73452         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
73453
73454         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
73455         now that configure.ac uses AC_GNU_SOURCE.
73456         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
73457         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
73458
73459         Update to latest tools.  Suggestions from Paul Eggert.
73460         * m4/stdbool.m4: New file, from diffutils-2.8.2.
73461         * m4/gnu-source.m4: Update from diffutils-2.8.2.
73462         * m4/fnmatch.m4: Likewise.
73463         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
73464         to AC_HEADER_STDBOOL
73465
73466 2002-06-22  Jim Meyering  <meyering@lucent.com>
73467
73468         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
73469         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
73470
73471 2002-06-22  Jim Meyering  <meyering@lucent.com>
73472
73473         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
73474
73475         * lib/exitfail.c, exitfail.h: Likewise.
73476         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
73477
73478         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
73479         of fnmatch.h.
73480         (EXTRA_DIST): Add fnmatch_loop.c.
73481         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
73482
73483         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
73484         * lib/fnmatch.c: Update from diffutils-2.8.2.
73485         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
73486         * lib/fnmatch.h: Remove file.
73487
73488 2002-06-21  Jim Meyering  <meyering@lucent.com>
73489
73490         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
73491         * m4/mbrtowc.m4: Likewise.
73492
73493         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
73494         * m4/mbswidth.m4: Reflect name change:
73495         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
73496         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73497
73498         * m4/lib-link.m4: Update from gettext-0.11.2.
73499         * m4/gettext.m4: Likewise.
73500
73501         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
73502         From Alfred M. Szmidt.
73503
73504 2002-06-18  Paul Eggert  <eggert@twinsun.com>
73505
73506         * lib/file-type.h: Report an error if neither S_ISREG nor
73507         S_IFREG is defined, instead of using a test specific to glibc
73508         2.2.  This should be safe, since POSIX requires S_ISREG and
73509         Unix Version 7 had S_IFREG.  We don't need to check for
73510         <sys/types.h> since we don't use any symbols that it defines.
73511
73512 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
73513
73514         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
73515         $@-t, so that each temporary file name is unique and valid in the first
73516         8 characters, for operation under DOS.
73517
73518 2002-06-15  Paul Eggert  <eggert@twinsun.com>
73519
73520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
73521
73522 2002-06-15  Jim Meyering  <meyering@lucent.com>
73523
73524         Work even with DJGPP 2.03, which lacks support for symlinks.
73525         From Richard Dawe.
73526         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
73527         is defined.
73528         * lib/lchown.c (S_ISLNK): Likewise.
73529
73530 2002-06-15  Jim Meyering  <meyering@lucent.com>
73531
73532         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
73533         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
73534         have been included before this file.
73535
73536 2002-06-14  Jim Meyering  <meyering@lucent.com>
73537
73538         * lib/file-type.h: Use the version from diffutils-2.8.2.
73539         * lib/file-type.c: Likewise.
73540
73541 2002-06-07  Jim Meyering  <meyering@lucent.com>
73542
73543         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
73544         They're needed at least for NetBSD 1.5.2.
73545         ($statxfs_includes): Include those same headers.
73546         ($statxfs_includes): Include sys/vfs.h if available.
73547         ($statxfs_includes): Likewise for sys/statvfs.h.
73548         Check for the following members in both structs statfs and statvfs:
73549         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
73550
73551 2002-06-01  Jim Meyering  <meyering@lucent.com>
73552
73553         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
73554         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
73555
73556 2002-05-28  Jim Meyering  <meyering@lucent.com>
73557
73558         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
73559         Reported by Volker Borchert.
73560
73561 2002-05-27  Jim Meyering  <meyering@lucent.com>
73562
73563         Fix a problem seen only on nonconforming systems whereby ls.c's
73564         use of localtime, and then of gettimeofday would cause trouble:
73565         the localtime call used to initialize rpl_gettimeofday's save
73566         mechanism would clobber ls's current local time information so
73567         that in any long listing the first file would always be listed
73568         with date 1970-01-01.  Analysis by Volker Borchert.
73569
73570         * lib/gettimeofday.c (localtime): Undefine.
73571         (rpl_localtime): New function.
73572
73573 2002-05-27  Jim Meyering  <meyering@lucent.com>
73574
73575         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
73576         localtime.
73577
73578         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
73579         use the replacement function; it wouldn't resolve at link time.
73580         Reported by Volker Borchert.
73581
73582 2002-05-22  Jim Meyering  <meyering@lucent.com>
73583
73584         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
73585         file-type.h.
73586         * lib/file-type.h: New file.
73587         * lib/file-type.c (file_type): New file/function.  Extracted from
73588         diffutils.
73589
73590 2002-04-30  Jim Meyering  <meyering@lucent.com>
73591
73592         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
73593
73594 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73595
73596         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
73597
73598 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73599
73600         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
73601         Do not check for alloca.h (no longer used) or stdbool.h (was never
73602         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
73603
73604 2002-04-29  Paul Eggert  <eggert@twinsun.com>
73605
73606         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
73607
73608 2002-04-29  Jim Meyering  <meyering@lucent.com>
73609
73610         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
73611         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
73612         Use AC_FUNC_STRNLEN here instead.
73613
73614         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
73615         With autoconf-2.53a, it's part of AC_PROG_CC.
73616
73617 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73618
73619         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
73620         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
73621
73622 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73623
73624         * lib/sig2str.h, lib/sig2str.c: New files.
73625         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
73626
73627 2002-04-28  Paul Eggert  <eggert@twinsun.com>
73628
73629         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
73630         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
73631         of 127, since 64 is the largest conceivable number for ancient
73632         nonstandard hosts.
73633         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
73634
73635 2002-04-28  Jim Meyering  <meyering@lucent.com>
73636
73637         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
73638
73639 2002-04-24  Jim Meyering  <meyering@lucent.com>
73640
73641         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
73642         (jm_PREREQ): Use it.
73643
73644         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
73645         mach/mach.h fcntl.h.
73646         Check for this function: setlocale.
73647
73648 2002-04-24  Jim Meyering  <meyering@lucent.com>
73649
73650         * lib/gettext.h: New file, from Gettext.
73651         * lib/Makefile.am (INCLUDES): Remove -I../intl.
73652         (libfetish_a_SOURCES): Add gettext.h.
73653
73654 2002-04-16  Jim Meyering  <meyering@lucent.com>
73655
73656         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
73657         ut_pid, ut_id, ut_exit.
73658
73659 2002-04-16  Jim Meyering  <meyering@lucent.com>
73660
73661         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
73662         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
73663         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
73664
73665 2002-04-12  Jim Meyering  <meyering@lucent.com>
73666
73667         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
73668         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
73669         existence of the getmntinfo function.  Needed for Darwin 5.3.
73670
73671         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
73672         This is necessary at least on Darwin 5.3.
73673
73674         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
73675         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
73676         strnlen.o in the library, and that makes some versions of ranlib
73677         object.
73678
73679 2002-04-12  Jim Meyering  <meyering@lucent.com>
73680
73681         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
73682
73683 2002-04-09  Jim Meyering  <meyering@lucent.com>
73684
73685         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
73686         to be more precise.  Rather than saying we're checking whether the
73687         function `works', say what we're testing.
73688         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
73689         Reported by Bruno Haible.
73690
73691 2002-03-10  Jim Meyering  <meyering@lucent.com>
73692
73693         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
73694         Suggestion from Santiago Vila.
73695
73696 2002-03-08  Jim Meyering  <meyering@lucent.com>
73697
73698         * lib/rename.c: Mention that this wrapper is needed also on
73699         mips-dec-ultrix4.4 systems.
73700
73701 2002-03-02  Jim Meyering  <meyering@lucent.com>
73702
73703         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
73704         not HAVE_CLOCK_SETTIME.
73705
73706 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73707
73708         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
73709         Check for clock_settime.
73710
73711 2002-02-27  Paul Eggert  <eggert@twinsun.com>
73712
73713         * lib/nanosleep.h: Rename to....
73714         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
73715
73716         * lib/gettime.c: New file.
73717         * lib/settime.c: New file.
73718         * lib/stime.c: Remove.
73719
73720         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
73721         timespec.h.  Remove nanosleep.h.
73722
73723 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73724
73725         * m4/acl.m4: New file.
73726         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
73727         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
73728
73729 2002-02-25  Paul Eggert  <eggert@twinsun.com>
73730
73731         * lib/acl.c, lib/acl.h: New files.
73732         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
73733
73734 2002-02-24  Jim Meyering  <meyering@lucent.com>
73735
73736         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
73737         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
73738         cause trouble.  Reported by Nelson Beebe.
73739
73740 2002-02-23  Paul Eggert  <eggert@twinsun.com>
73741
73742         * lib/path-concat.c (xpath_concat): Reorder code to pacify
73743         compilers that don't know that xalloc_die never returns.
73744
73745 2002-02-20  Jim Meyering  <meyering@lucent.com>
73746
73747         * lib/getdate.c: Regenerate using bison-1.33.
73748
73749 2002-02-17  Jim Meyering  <meyering@lucent.com>
73750
73751         * config/config.guess (main): Don't use `head -1'; it's no longer
73752         portable. Use `sed 1q' instead.
73753
73754 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
73755
73756         * m4/codeset.m4: Upgrade to gettext-0.11.
73757         * m4/gettext.m4: Upgrade to gettext-0.11.
73758         * m4/glibc21.m4: Upgrade to gettext-0.11.
73759         * m4/iconv.m4: Upgrade to gettext-0.11.
73760         * m4/isc-posix.m4: Upgrade to gettext-0.11.
73761         * m4/lcmessage.m4: Upgrade to gettext-0.11.
73762         * m4/lib-ld.m4: New file, from gettext-0.11.
73763         * m4/lib-link.m4: New file, from gettext-0.11.
73764         * m4/lib-prefix.m4: New file, from gettext-0.11.
73765         * m4/progtest.m4: Upgrade to gettext-0.11.
73766
73767 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73768
73769         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
73770         (jm_PREREQ): Use it.
73771
73772 2002-02-15  Paul Eggert  <eggert@twinsun.com>
73773
73774         * lib/posixver.c, lib/posixver.h: New files.
73775         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73776
73777 2002-02-02  Paul Eggert  <eggert@twinsun.com>
73778             Bruno Haible  <bruno@clisp.org>
73779
73780         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
73781         (fwrite_success_callback): New declaration.
73782         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
73783         print_unicode_char. Call failure callback instead of error.
73784         (fwrite_success_callback): New function.
73785         (exit_failure_callback): New function.
73786         (fallback_failure_callback): New function.
73787         (print_unicode_char): Call unicode_to_mb.
73788
73789 2002-01-26  Jim Meyering  <meyering@lucent.com>
73790
73791         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
73792         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
73793
73794 2002-01-26  Jim Meyering  <meyering@lucent.com>
73795
73796         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
73797
73798 2002-01-22  Paul Eggert  <eggert@twinsun.com>
73799
73800         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
73801
73802 2002-01-22  Jim Meyering  <meyering@lucent.com>
73803
73804         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
73805         Otherwise, some versions of automake would omit the rule that makes
73806         Makefile from Makefile.in.
73807
73808 2002-01-21  Paul Eggert  <eggert@twinsun.com>
73809
73810         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
73811         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
73812         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
73813         (memcoll): Set errno to zero if there is no error.
73814
73815         * lib/quotearg.c (quotearg_buffer_restyled):
73816         Fix bug with quoting buffers containing NUL when backslashing escapes.
73817         This bug was exposed by the other changes in this patch.
73818         (quotearg_n_options): New arg ARGSIZE.
73819         All callers changed.
73820         (quoting_options_from_style): New function.
73821         (quotearg_n_style): Use it.
73822         (quotearg_n_style_mem): New function.
73823
73824         * lib/quotearg.h (quotearg_n_style_mem): New function.
73825
73826 2002-01-19  Jim Meyering  <meyering@lucent.com>
73827
73828         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
73829         Remove useless quotes: DF_PROG="df".
73830         * m4/strnlen.m4: New file.
73831
73832 2002-01-16  Paul Eggert  <eggert@twinsun.com>
73833
73834         * lib/backupfile.c (ISDIGIT): Comment fix.
73835         * lib/getdate.y (ISDIGIT): Likewise.
73836         * lib/posixtm.c (ISDIGIT, year): Likewise.
73837         * lib/strverscmp.c (ISDIGIT): Likewise.
73838         * lib/userspec.c (ISDIGIT): Likewise.
73839
73840 2002-01-16  Jim Meyering  <meyering@lucent.com>
73841
73842         * lib/getdate.y: Add three semicolons, each just before a closing
73843         brace. Bison (as of version 1.31) no longer papers over that mistake.
73844
73845 2002-01-05  Jim Meyering  <meyering@lucent.com>
73846
73847         * lib/version-etc.c (version_etc_copyright): Update copyright year.
73848
73849 2001-12-19  Paul Eggert  <eggert@twinsun.com>
73850
73851         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
73852         not silently exit merely because the output buffer happens to
73853         have nothing pending.
73854
73855 2001-12-18  Paul Eggert  <eggert@twinsun.com>
73856
73857         See the big note in ../ChangeLog.
73858         * lib/human.c (suffixes): Prefer K to k for 1024.
73859         (generate_suffix_backwards): New function.
73860         (human_readable_inexact): Use it.
73861         * lib/xstrtol.c (__xstrtol): If there is no number but there
73862         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
73863         Accept 'K' as well as 'k'.
73864
73865 2001-12-15  Jim Meyering  <meyering@lucent.com>
73866
73867         * lib/regex.h (__restrict_arr): Update from libc.
73868
73869         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
73870         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
73871         (STREQ): Define.
73872
73873 2001-12-14  Jim Meyering  <meyering@lucent.com>
73874
73875         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
73876         Suggestion from Bruno Haible.
73877
73878 2001-12-10  Jim Meyering  <meyering@lucent.com>
73879
73880         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
73881         xrealloc, Instead, include "xalloc.h".
73882         (initbuffer): Don't cast xmalloc return value to char*.
73883         (readline): Reword comment.
73884         Don't cast xrealloc return value to char*
73885         Return NULL, not 0.
73886
73887 2001-12-09  Jim Meyering  <meyering@lucent.com>
73888
73889         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
73890         about `signed and unsigned type in conditional expression'.
73891         * lib/posixtm.c (posix_time_parse): Likewise.
73892
73893         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
73894
73895         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
73896         to avoid a pedantic warning.
73897
73898         * lib/getstr.c: Don't include assert.h.
73899         (getstr): Remove warning-evoking assertions.
73900         Return -1 if offset parameter is out of bounds.
73901         Change the type of a local from int to size_t.
73902
73903         * lib/strftime.c (my_strftime_localtime_r): Include this function
73904         definition in the `#if ! HAVE_TM_GMTOFF' block.
73905
73906         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
73907         Include xalloc.h instead.
73908
73909 2001-12-02  Jim Meyering  <meyering@lucent.com>
73910
73911         * lib/tempname.c: Don't declare getenv, thus reverting the change of
73912         2001-11-18.  It's no longer necessary, now that stdlib.h is always
73913         included.
73914
73915         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
73916         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
73917
73918 2001-11-30  Akim Demaille  <akim@epita.fr>
73919
73920         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
73921         before being defined.
73922
73923 2001-11-27  Paul Eggert  <eggert@twinsun.com>
73924
73925         * lib/quotearg.h (quotearg_n, quotearg_n_style):
73926         First arg is int, not unsigned.
73927         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
73928         (SIZE_MAX, UINT_MAX): New macros.
73929         (quotearg_n_options): Abort if N is negative.
73930         Avoid overflow check on hosts where size_t is 64 bits and int
73931         is 32 bits, as overflow is impossible there.
73932         Fix off-by-one typo that caused unnecessary reallocation.
73933
73934 2001-11-27  Jim Meyering  <meyering@lucent.com>
73935
73936         * lib/tempname.c: Merge with version from libc.
73937         * lib/regex.c: Likewise.
73938
73939         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
73940         systems for which STDC_HEADERS is 0, it was not included, resulting in
73941         a warning about an integer-to-pointer conversion problem with getenv.
73942         Reported by Volker Borchert.
73943
73944 2001-11-26  Jim Meyering  <meyering@lucent.com>
73945
73946         * lib/gtod.h: Remove file.
73947         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
73948         * lib/gettimeofday.c: Don't include gtod.h.
73949         (GTOD_init): Remove function.
73950         (rpl_gettimeofday): Do its job here instead, rather than aborting.
73951         Suggestion from Volker Borchert.
73952
73953 2001-11-23  Jim Meyering  <meyering@lucent.com>
73954
73955         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
73956         it.
73957         * lib/hash.c (struct hash_table): Define it here instead.
73958
73959 2001-11-22  Jim Meyering  <meyering@lucent.com>
73960
73961         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
73962
73963 2001-11-20  Jim Meyering  <meyering@lucent.com>
73964
73965         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
73966         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
73967
73968 2001-11-19  Jim Meyering  <meyering@lucent.com>
73969
73970         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
73971         directory.  Use "conftestXXXXXX" as the template.
73972         Suggestion from Paul Eggert.
73973
73974         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
73975         immediately, so the test doesn't mistakenly hit the max-open-files
73976         limit.
73977
73978 2001-11-18  Paul Eggert  <eggert@twinsun.com>
73979
73980         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
73981         (TEMPORARIES): New macro.
73982         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
73983         removes an artificial limitation (e.g. HP-UX 10.20, where
73984         TMP_MAX is 17576).
73985
73986 2001-11-18  Jim Meyering  <meyering@lucent.com>
73987
73988         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
73989
73990 2001-11-18  Jim Meyering  <meyering@lucent.com>
73991
73992         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
73993         on SunOS 4.
73994
73995         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
73996         files will be created before anything else.
73997
73998 2001-11-17  Paul Eggert  <eggert@twinsun.com>
73999
74000         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
74001         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
74002
74003 2001-11-17  Jim Meyering  <meyering@lucent.com>
74004
74005         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
74006         Prompted by a report from Bob Proulx.
74007
74008         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
74009         Instead, require UTILS_FUNC_MKSTEMP.
74010
74011 2001-11-17  Jim Meyering  <meyering@lucent.com>
74012
74013         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
74014         Now, that's done as part of AC_FUNC_STRTOD.
74015
74016 2001-11-17  Jim Meyering  <meyering@lucent.com>
74017
74018         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
74019         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
74020         rather than group writable.  Patch by Juan F. Codagnone.
74021
74022         * lib/readtokens.c: Remove explicit declarations of xmalloc and
74023         xrealloc, Instead, include "xalloc.h".
74024
74025         * lib/mountlist.c: Include unlocked-io.h after all system headers.
74026         Remove explicit declarations of xmalloc, xrealloc,
74027         and xstrdup.  Instead, include "xalloc.h".
74028
74029         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
74030         unlocked-io.h.
74031         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
74032         Likewise.
74033         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
74034
74035         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
74036         Reported by Padraig Brady.
74037
74038         * lib/mkstemp.c: #undef mkstemp.
74039         Include config.h.
74040         (rpl_mkstemp): Rename from mkstemp.
74041         Protoize.
74042
74043 2001-11-16  Jim Meyering  <meyering@lucent.com>
74044
74045         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
74046         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
74047         determine the amount of total physical memory, use pstat_getstatic.
74048         HPUX-11 doesn't define _SC_PHYS_PAGES.
74049         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
74050         If sysconf couldn't be used to determine the amount of available
74051         physical memory, use both pstat_getstatic and pstat_getdynamic.
74052         Based on a patch from Bob Proulx.
74053
74054 2001-11-10  Jim Meyering  <meyering@lucent.com>
74055
74056         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
74057         (jm_PREREQ): Use it.
74058
74059 2001-11-09  Jim Meyering  <meyering@lucent.com>
74060
74061         * m4/jm-macros.m4: Require autoconf-2.52f.
74062         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
74063         Use these AC_-prefixed names, not the AM_-prefixed ones.
74064
74065         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
74066
74067 2001-11-05  Jim Meyering  <meyering@lucent.com>
74068
74069         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
74070
74071 2001-11-04  Jim Meyering  <meyering@lucent.com>
74072
74073         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
74074         $DEFS.
74075
74076 2001-11-03  Jim Meyering  <meyering@lucent.com>
74077
74078         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
74079         of AC_DEFUN.
74080
74081         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
74082         know the name of the variable in the macro definition.
74083
74084 2001-11-03  Jim Meyering  <meyering@lucent.com>
74085
74086         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
74087         in argmatch_to_argument call.
74088
74089         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
74090         argument.
74091
74092         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
74093         e.g., a fault due to an attempt to free a NULL pointer.
74094
74095 2001-11-01  Jim Meyering  <meyering@lucent.com>
74096
74097         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
74098         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
74099
74100 2001-11-01  Jim Meyering  <meyering@lucent.com>
74101
74102         * lib/dirfd.c, lib/dirfd.h: New files.
74103         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
74104
74105         * lib/hash.c (hash_print) [TESTING]: Clean up.
74106
74107 2001-10-22  Paul Eggert  <eggert@twinsun.com>
74108
74109         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
74110         to avoid a warning if -Wall.
74111
74112 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
74113
74114         * README: New file
74115         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
74116         (per RMS's instructions, this is now the canonical source)
74117         * lgpl/, gpl/: New directories.
74118
74119 2001-10-21  Paul Eggert  <eggert@twinsun.com>
74120
74121         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
74122
74123 2001-10-21  Jim Meyering  <meyering@lucent.com>
74124
74125         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
74126         this code would end up calling gettext even in packages built
74127         with --disable-nls.
74128         * lib/getopt.c (_): Likewise.
74129         * lib/regex.c (_): Likewise.
74130
74131 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74132
74133         * m4/error.m4 (jm_PREREQ_ERROR):
74134         Do not invoke AC_CHECK_FUNCS with strerror_r, as
74135         AC_FUNC_STRERROR_R does that.
74136         Check for strerror declaration.
74137
74138         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
74139         are supposed to have them these days.
74140         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
74141         Merge changes from latest Autoconf CVS.
74142         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
74143         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
74144         POSIX decided to standardize on the int flavor of strerror_r.
74145
74146 2001-10-20  Paul Eggert  <eggert@twinsun.com>
74147
74148         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
74149         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
74150         Use strerror_r that is only a macro, even if it is not a function.
74151         (strerror): Check for HAVE_DECL_STRERROR before declaring.
74152         (private_strerror): Use prototypes, not old-style function definition.
74153         (print_errno_message): New function.
74154         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
74155         char*-flavored one.
74156         (error_tail, error, error_at_line): Use it.
74157
74158 2001-10-11  Jim Meyering  <meyering@lucent.com>
74159
74160         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
74161         and quote_n (1, ... to avoid clobbering a buffer.
74162
74163 2001-10-05  Jim Meyering  <meyering@lucent.com>
74164
74165         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
74166         hash-pjw.h.
74167         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
74168         * lib/hash-pjw.h: New file.
74169
74170 2001-09-30  Jim Meyering  <meyering@lucent.com>
74171
74172         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
74173         `struct fsstat' has the `f_fstypename' member.
74174         Use that to define FS_TYPE, which is now used to make
74175         the getfsstat link test tighter.
74176
74177 2001-09-30  Jim Meyering  <meyering@lucent.com>
74178
74179         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
74180         Include <sys/ucred.h>, for Apple Darwin.
74181         Include sys/mount.h and sys/fs_types.h only if available.
74182         (FS_TYPE): Define.
74183         (read_filesystem_list): Use FS_TYPE.
74184
74185 2001-09-29  Paul Eggert  <eggert@twinsun.com>
74186
74187         * lib/exclude.c (excluded_filename): 0 -> false, since it's
74188         a boolean context.
74189
74190 2001-09-29  Jim Meyering  <meyering@lucent.com>
74191
74192         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74193         [one-argument getmntent function]): Include stdio.h before mntent.h.
74194         SunOS 4.1.x needs it for the declaration of `FILE'.
74195         Patch by Volker Borchert.
74196
74197         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
74198         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
74199         sys/fs_types.h, and make the link-test for getfsstat guard #include
74200         directives with appropriate #if HAVE_*_H tests so that we can
74201         detect getfsstat on Apple Darwin1.3.7 systems.
74202         Reported by Nelson Beebe.
74203         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
74204
74205 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74206
74207         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74208         #defines strtoimax.  Also treat the other strto* functions
74209         like strtoimax.
74210
74211         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74212         Check for strtoul and strtoumax,
74213         as those declarations are made even in the signed case.
74214         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
74215         Likewise, for strtol and strtoimax.
74216
74217 2001-09-28  Paul Eggert  <eggert@twinsun.com>
74218
74219         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
74220         #defines strtoimax.  Also treat the other strto* functions
74221         like strtoimax.
74222
74223         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
74224         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
74225         (strtoimax, strtoumax): Do not declare if already defined as a macro.
74226
74227 2001-09-26  Jim Meyering  <meyering@lucent.com>
74228
74229         Most macros in unlocked-io.h had the wrong number of arguments.
74230         * lib/gen-uio: New script.
74231         (USE_UNLOCKED_IO): Define to 1 if not already defined.
74232         * lib/unlocked-io.hin: Remove file.
74233         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
74234         rather than trying to embed it here.
74235         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
74236         Reported by Padraig Brady.
74237
74238 2001-09-25  Volker Borchert  <bt@teknon.de>
74239
74240         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
74241         `result'.
74242
74243 2001-09-24  Jim Meyering  <meyering@lucent.com>
74244
74245         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
74246
74247 2001-09-23  Jim Meyering  <meyering@lucent.com>
74248
74249         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
74250         instead of the mere test for existence of mntent.h.  The latter
74251         would get a false-positive on AIX 3.4 systems.
74252         In the outer getmntent if-block, don't die if neither of the getmntent
74253         tests succeeds.  Instead, just fall through and continue with the
74254         remaining tests.
74255
74256 2001-09-23  Jim Meyering  <meyering@lucent.com>
74257
74258         * lib/mountlist.c: Remove useless parentheses in #if directives.
74259         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
74260         the deprecated MOUNTED symbol is no longer defined in mntent.h.
74261
74262 2001-09-22  Jim Meyering  <meyering@lucent.com>
74263
74264         * m4/gettext.m4: New file.  From gettext.
74265         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
74266         * m4/progtest.m4: Likewise
74267         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
74268         * m4/glibc21.m4: Likewise.
74269
74270         * m4/libintl.m4: Remove.  No longer used.
74271
74272 2001-09-22  Jim Meyering  <meyering@lucent.com>
74273
74274         * lib/localcharset.c: Update from latest gettext.
74275         * lib/config.charset: Likewise.
74276
74277 2001-09-20  Jim Meyering  <meyering@lucent.com>
74278
74279         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
74280         strtoimax.
74281         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
74282         strtoumax.
74283
74284 2001-09-20  Jim Meyering  <meyering@lucent.com>
74285
74286         * lib/xstrtol.c (strtoimax): Guard declaration with
74287         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
74288         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
74289         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
74290         (strtoumax): Likewise, for completeness (it wasn't necessary).
74291
74292 2001-09-17  Paul Eggert  <eggert@twinsun.com>
74293
74294         * lib/strtoimax.c (HAVE_LONG_LONG):
74295         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
74296         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
74297         to work around bug in IBM C compiler.
74298
74299 2001-09-17  Jim Meyering  <meyering@lucent.com>
74300
74301         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
74302         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
74303         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
74304         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
74305         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
74306         whenever the right hand side need not be expanded by the shell.
74307
74308 2001-09-16  Paul Eggert  <eggert@twinsun.com>
74309
74310         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
74311         library.  It's not correct, as some older glibcs are buggy.
74312         fnmatch wasn't fixed until glibc 2.2.
74313
74314         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
74315         special shell magic here.
74316
74317 2001-09-16  Jim Meyering  <meyering@lucent.com>
74318
74319         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
74320         * m4/jm-macros.m4: Require it.
74321
74322 2001-09-16  Jim Meyering  <meyering@lucent.com>
74323
74324         * lib/mkdir.c: New file.
74325
74326 2001-09-15  Jim Meyering  <meyering@lucent.com>
74327
74328         * m4/jm-macros.m4: Check for help2man.
74329
74330 2001-09-11  Jim Meyering  <meyering@lucent.com>
74331
74332         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
74333         The body, by Paul Eggert, was moved here from configure.in.
74334         * m4/jm-macros.m4: Require UTILS_HOST_OS.
74335
74336 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74337
74338         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
74339         (jm_PREREQ): Use it.
74340
74341 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74342
74343         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
74344         Use ssize_t, not int, to store result of readlink.
74345         Check for ssize_t overflow as well as size_t overflow,
74346         as POSIX says the result of readlink is implementation-defined
74347         when ssize_t overflows.
74348         Remove unnecessary cast to char*.
74349         Use free+malloc instead of realloc, as the storage doesn't need
74350         to be preserved and it's clearer and can be more efficient that way.
74351         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
74352         * lib/xreadlink.h (xreadlink): Update prototype.
74353
74354 2001-09-04  Paul Eggert  <eggert@twinsun.com>
74355
74356         * lib/xgetcwd.c: Revert some of the previous change; intead,
74357         fix the HAVE_GETCWD_NULL code to behave more like the
74358         !HAVE_GETCWD_NULL code used to.
74359
74360         Include "xalloc.h".
74361         (xgetcwd): Do not return NULL when memory is exhausted; instead,
74362         invoke xalloc_die.
74363
74364 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74365
74366         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
74367         sys/param.h, as pathmax.h includes them.
74368
74369 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74370
74371         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
74372         (jm_PREREQ_XGETCWD): New macro.
74373
74374         * m4/getcwd.m4: New file.
74375
74376 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74377
74378         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
74379         like the HAVE_GETCWD_NULL code.
74380         Include pathmax.h if not HAVE_GETCWD.
74381         Do not include xalloc.h.
74382         (INITIAL_BUFFER_SIZE): New symbol.
74383         Do not use xmalloc / xrealloc, since the caller is responsible for
74384         handling errors.  Preserve errno around `free' during failure.
74385         Do not overrun buffer when using getwd.
74386
74387 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74388
74389         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
74390         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
74391         getcwd (NULL, 0).
74392
74393 2001-09-03  Paul Eggert  <eggert@twinsun.com>
74394
74395         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
74396         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
74397         spotted by Jim Meyering.
74398
74399 2001-09-03  Jim Meyering  <meyering@lucent.com>
74400
74401         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
74402         failure.
74403
74404 2001-09-02  Jim Meyering  <meyering@lucent.com>
74405
74406         * lib/error.c: Update from GNU libc.
74407
74408 2001-09-01  Jim Meyering  <meyering@lucent.com>
74409
74410         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
74411         Used by df.
74412
74413 2001-09-01  Jim Meyering  <meyering@lucent.com>
74414
74415         * lib/xreadlink.c: New file.
74416         * lib/xreadlink.h: New file.
74417         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
74418         xreadlink.h.
74419
74420         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
74421         doesn't conflict with sparc Solaris 7's definition in
74422         /usr/include/sys/int_types.h.
74423
74424         * lib/exclude.c: Use `""', not `<>' to #include non-system header
74425         files.
74426         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
74427         and strncasecmp as r-values.  Unixware didn't have declarations.
74428
74429 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74430
74431         * lib/xstrtol.h: Add copyright notice.
74432         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
74433         LONGINT_INVALID_SUFFIX_CHAR.
74434
74435 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74436
74437         * lib/xstrtol.c (strtoimax): New decl.
74438
74439 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74440
74441         * lib/xgetcwd.c: Don't include pathmax.h.
74442         Include stdlib.h and unistd.h if available.
74443         Include xalloc.h.
74444         (xmalloc, xstrdup, free): Remove decls.
74445         (xgetcwd): Don't assume sizes fit in unsigned.
74446         Check for overflow when computing sizes.
74447         Simplify reallocation code.
74448
74449 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74450
74451         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
74452         a directory's st_size can have an arbitrary value, so the old
74453         usage could waste an arbitrary amount of memory.  All uses
74454         changed.
74455         * lib/savedir.h: Update prototype.
74456
74457 2001-08-31  Paul Eggert  <eggert@twinsun.com>
74458
74459         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
74460
74461         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
74462         old strtoimax.c.
74463
74464         Also, make the following further changes to make this file's
74465         configuration more similar to that of strtol.c:
74466         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
74467         (strtoumax, uintmax_t, strtoull, strtol): Remove.
74468         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
74469         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
74470         changed to signed values.
74471
74472         And make the following changes as well:
74473         Fix copyright notice, as 1999 was missing.
74474         (verify): New macro.
74475         (strtoimax): Check sizes at compile-time, not run-time.
74476         Prefer strtol to strtoll if both work.
74477         (main): Remove; it was not that useful and was a pain to maintain.
74478
74479         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
74480
74481 2001-08-31  Jim Meyering  <meyering@lucent.com>
74482
74483         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
74484         Use an initial, malloc'd, buffer of length 128 rather than
74485         a statically allocated one of length 1024.
74486
74487 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74488
74489         Simplify code, partly by assuming autoconf 2.52 semantics.
74490
74491         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
74492
74493         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
74494         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
74495         All uses removed.
74496         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
74497         Move AC_REQUIRE to next-to-top level, to avoid confusion.
74498         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
74499         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
74500         jm_AC_HEADER_INTTYPES_H.
74501         * m4/jm-macros.m4 (jm_MACROS): Likewise.
74502
74503         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
74504
74505         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
74506         Quote first arg of AC_DEFUN.
74507         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
74508         since they are needed to parse the include file even if we need
74509         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
74510         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
74511         but with opposite signedness.
74512
74513 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74514
74515         Merge 'exclude' changes from tar 1.13.22.
74516         This fixes one or two unlikely storage allocation overflow bugs,
74517         but doesn't change user-visible behavior otherwise.
74518
74519 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74520
74521         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
74522         (jm_PREREQ_EXCLUDE): New macro.
74523
74524 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74525
74526         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
74527         tm to be declared.
74528
74529 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74530
74531         * lib/hash.c: Remove '2001' from copyright notice.
74532
74533 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74534
74535         * lib/full-write.h: New file.
74536         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
74537         * lib/full-write.c: Correct credits, as cccp.c no longer
74538         exists and anyway it was so heavily changed from the old cccp
74539         code as to be unrecognizable.  Include full-write.h.
74540         (full_write) Return size_t, with short writes meaning failure.
74541         All callers changed.  This fixes a bug with large buffers
74542         on 64-bit hosts.
74543         * lib/utime.c: Include full-write.h.
74544
74545 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74546
74547         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
74548         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
74549         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
74550         Include if available.
74551         (<xalloc.h>): Include
74552         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
74553         (verify): New macro.  Use it to verify that EXCLUDE macros do not
74554         collide with FNM macros.
74555         (struct patopts): New struct.
74556         (struct exclude): Use it, as exclude patterns now come with options.
74557         (new_exclude): Support above changes.
74558         (new_exclude, add_exclude_file):
74559         Initial size must now be a power of two to simplify overflow checking.
74560         (free_exclude, fnmatch_no_wildcards): New function.
74561         (excluded_filename): No longer requires options arg, as the options
74562         are determined by add_exclude.  Now returns bool, not int.
74563         (excluded_filename, add_exclude):
74564         Add support for the fancy new exclusion options.
74565         (add_exclude, add_exclude_file): Now takes int options arg.
74566         Check for arithmetic overflow when computing sizes.
74567         (add_exclude_file): xrealloc might modify errno, so don't
74568         realloc until after errno might be used.
74569
74570         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
74571         New macros.
74572         (free_exclude): New decl.
74573         (add_exclude, add_exclude_file): Now takes int options arg.
74574         (excluded_filename): No longer requires options arg, as the options
74575         are determined by add_exclude.  Now returns bool, not int.
74576
74577 2001-08-30  Paul Eggert  <eggert@twinsun.com>
74578
74579         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
74580
74581 2001-08-27  Jim Meyering  <meyering@lucent.com>
74582
74583         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
74584
74585         * lib/version-etc.c (N_): Remove definition.
74586         Revert most of last change.
74587         Instead, simply don't mark the `Copyright...' string for translation.
74588         Based on advice from Paul Eggert.
74589
74590         * lib/strtoxmax.c: Tweak comment.
74591
74592 2001-08-26  Jim Meyering  <meyering@lucent.com>
74593
74594         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
74595
74596         * m4/xstrtoimax.m4: New file.
74597         * m4/xstrtoumax.m4: Add comments explaining why we
74598         AC_REPLACE_FUNCS(strtol).
74599
74600 2001-08-26  Jim Meyering  <meyering@lucent.com>
74601
74602         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
74603         of copyright with `%s' so translators don't get an untranslated
74604         message in 2002.
74605         (COPYRIGHT_YEAR): Define.
74606         (version_etc): Use fprintf rather than fputs.
74607         Suggestion from Ulrich Drepper.
74608
74609         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
74610
74611         * lib/strtoll.c: New file, from GNU libc.
74612         * lib/xstrtoimax.c: New file.
74613
74614         * lib/xstrtol.h: Add xstrtoimax.
74615         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
74616         * lib/strtoimax.c: New file.  Likewise, but first define
74617         STRTOUXMAX_SIGNED.
74618
74619         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
74620         ...
74621         * lib/strtoxmax.c: ... then renamed to this.
74622
74623 2001-08-18  Paul Eggert  <eggert@twinsun.com>
74624
74625         * m4/inttypes.m4: Add AC_PREREQ(2.13).
74626         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
74627         (jm_AC_TYPE_INTMAX_T): New macro.
74628         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
74629
74630         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
74631
74632         * m4/longlong.m4: Renamed from ulonglong.m4.
74633         * m4/inttypes.m4: Renamed from inttypes_h.m4.
74634         * m4/uintmax_t.m4: Removed.
74635
74636 2001-08-13  Paul Eggert  <eggert@twinsun.com>
74637
74638         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
74639         Port to Solaris 8, where 'sed' requires a space after the 'r'
74640         command, and where sh dislikes "$/".  Clean up the spacing a bit.
74641         Redirect output to $tmp just once.
74642
74643 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
74644
74645         * lib/addext.c (<errno.h>): Include.
74646         (errno): Declare if not defined.
74647         (addext): Work correctly when pathconf returns -1 and leaves
74648         errno alone because there is no limit.  Also, work even if
74649         pathconf returns a value greater than SIZE_MAX.
74650
74651 2001-08-12  Jim Meyering  <meyering@lucent.com>
74652
74653         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
74654         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
74655         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
74656         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
74657         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
74658         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
74659         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
74660         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
74661         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
74662         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
74663         utime.m4, utimes.m4, xstrtoumax.m4:
74664         Quote the first argument in each use of AC_DEFUN.
74665
74666 2001-08-12  Jim Meyering  <meyering@lucent.com>
74667
74668         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
74669         Simply `return getcwd (NULL, 0);'.
74670         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
74671         Use 1300 as initial value for length, not PATH_MAX.
74672
74673         * lib/pathmax.h: Clean up cpp syntax.
74674
74675 2001-08-12  Jim Meyering  <meyering@lucent.com>
74676
74677         * lib/gettimeofday.c: New file.
74678         * lib/gtod.h: New file.
74679         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
74680
74681 2001-08-05  Jim Meyering  <meyering@lucent.com>
74682
74683         * m4/jm-macros.m4: Require autoconf-2.52.
74684
74685 2001-08-04  Jim Meyering  <meyering@lucent.com>
74686
74687         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
74688         stmt, to get in sync with glibc.
74689
74690 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74691
74692         The following changes are from gettext 0.10.39 as maintained by
74693         Bruno Haible.
74694
74695         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
74696         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
74697         with inverted sense.  All uses changed.
74698
74699         * lib/mbswidth.c: Don't include <limits.h>.
74700         Include <stdlib.h> and <string.h> unconditionally.
74701         (iswcntrl, mbsinit, ISCNTRL): New macros.
74702         (mbsnwidth): Use K&R style function declarations.
74703         Don't bother checking for MB_LEN_MAX == 1, since the compiler
74704         can optimize it when MB_CUR_MAX == 1.
74705         The width of control characters is zero, not 1.
74706
74707 2001-08-03  Paul Eggert  <eggert@twinsun.com>
74708
74709         The following changes are from gettext 0.10.39 as maintained by
74710         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
74711
74712         * m4/codeset.m4: Upgrade to serial AM1.
74713         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
74714         all uses changed.  Quote first arg of AC_DEFUN.
74715         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
74716
74717         * m4/iconv.m4: Upgrade to serial AM2.
74718         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
74719         Add --with-libconv-prefix.
74720         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
74721         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
74722         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
74723         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
74724         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
74725
74726         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
74727         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
74728         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
74729         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
74730         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
74731         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
74732         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
74733         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
74734         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
74735
74736         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
74737         string.h any more.
74738
74739         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
74740         not the default value.
74741
74742         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
74743         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
74744         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
74745         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
74746         Also check for iswcntrl, used for wcwidth fallback.
74747         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
74748         to Autoconf 2.13.
74749
74750 2001-08-03  Jim Meyering  <meyering@lucent.com>
74751
74752         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
74753         as it was in the original.  Reported by Paul Eggert.
74754
74755 2001-07-16  Jim Meyering  <meyering@lucent.com>
74756
74757         * m4/gettimeofday.m4: New file.
74758         Prompted by a report from Bernhard Baehr.
74759
74760 2001-07-15  Jim Meyering  <meyering@lucent.com>
74761
74762         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
74763         stuff. Now it's in ../Makefile.cfg.
74764
74765 2001-07-15  Jim Meyering  <meyering@lucent.com>
74766
74767         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
74768         (BUILT_SOURCES): Add unlocked-io.h.
74769         (io_functions): Define.
74770         (unlocked-io.h): New rule.
74771         (DISTCLEANFILES): Add unlocked-io.h.
74772         (all-local): Depend on unlocked-io.h, to ensure it is created.
74773
74774         * lib/unlocked-io.hin: New file
74775
74776         * lib/regex.c: Update from glibc.
74777
74778 2001-07-05  Jim Meyering  <meyering@lucent.com>
74779
74780         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
74781         recommendation.
74782         (libfetish_a_SOURCES): Put all .h files here instead.
74783         Remove a thus-exposed (better checks in automake) duplicate and
74784         two unnecessary .h files.
74785
74786 2001-07-04  Jim Meyering  <meyering@lucent.com>
74787
74788         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
74789         that generates jm-glibc-io.m4 so that it doesn't trigger any make
74790         distcheck failure.
74791
74792 2001-07-02  Jim Meyering  <meyering@lucent.com>
74793
74794         The following changes were prompted by suggestions from Bruno Haible.
74795
74796         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
74797         is now generated.
74798         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
74799         definition of EXTRA_DIST.
74800         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
74801         ensure that the generated file is created/updated whenever the list
74802         of $(unlocked_functions) is changed.
74803         (jm-glibc-io.m4): New rule.
74804         (unlocked-io.h): New rule -- currently unused.
74805
74806 2001-06-24  Jim Meyering  <meyering@lucent.com>
74807
74808         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
74809         unmatched right bracket, rather than kludging it with an extra,
74810         falsely-matching quote in a comment.  Patch by Akim Demaille.
74811
74812 2001-06-11  Jim Meyering  <meyering@lucent.com>
74813
74814         * lib/regex.c: Update from GNU libc.
74815
74816 2001-05-27  Jim Meyering  <meyering@lucent.com>
74817
74818         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
74819         Check for ut_type in struct utmp.
74820
74821 2001-05-27  Jim Meyering  <meyering@lucent.com>
74822
74823         * lib/readutmp.h (UT_TYPE): Define.
74824
74825 2001-05-24  Jim Meyering  <meyering@lucent.com>
74826
74827         * lib/argmatch.c: Include "quote.h".
74828         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
74829         quote function.  Reported by Göran Uddeborg.
74830
74831 2001-05-22  Jim Meyering  <meyering@lucent.com>
74832
74833         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
74834         now that we use the package-supplied version unconditionally.
74835         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
74836
74837 2001-05-21  Jim Meyering  <meyering@lucent.com>
74838
74839         * m4/regex.m4: Change a couple backticks to single quotes to avoid
74840         shell syntax errors.
74841
74842 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74843
74844         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
74845
74846 2001-05-20  Paul Eggert  <eggert@twinsun.com>
74847
74848         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
74849         Don't bother to check library strftime, since
74850         we'll be using our own my_strftime function anyway.
74851         Define my_strftime instead of strftime.
74852
74853 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
74854
74855         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
74856         which is not yet declared.
74857
74858 2001-05-15  Jim Meyering  <meyering@lucent.com>
74859
74860         * m4/regex.m4: Use proper quoting so brackets appear in the test
74861         program.
74862         Reported by, and with help from, Bruno Haible.
74863
74864 2001-05-13  Jim Meyering  <meyering@lucent.com>
74865
74866         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
74867         undefined.
74868
74869 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74870
74871         dirname code cleanup.  base_name now behaves more compatibly
74872         with POSIX basename when given file names that have trailing
74873         slashes, and similarly for dir_name.  Add new primitives
74874         base_len and dir_len.  Put the directory-name-related decls
74875         into dirname.h.
74876
74877         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
74878         * lib/backupfile.c (base_name): Likewise.
74879         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
74880         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
74881         * lib/makepath.c (strip_trailing_slashes): Likewise.
74882         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
74883         ISSLASH): Likewise.
74884         * lib/rename.c (strip_trailing_slashes): Likewise.
74885         * lib/same.c (base_name): Likewise.
74886         * lib/stripslash.c (ISSLASH): Likewise.
74887
74888         * lib/addext.c: Include <dirname.h> after size_t is defined.
74889         * lib/backupfile.c: Likewise.
74890
74891         * lib/addext.c (addext): Use base_len to trim redundant
74892         trailing slashes instead of doing it ourselves.
74893         But do not trim the last slash if it is not redundant.
74894
74895         * lib/backupfile.c (find_backup_file_name,
74896         max_backup_version): Use base_len instead of rolling it ourselves.
74897         Handle the case of "" and (on DOS) "C:" correctly.
74898
74899         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
74900         needed. Include <string.h>, <dirname.h>.
74901         (base_name): Allow file names ending in slashes, other than names
74902         that are all slashes.  In this case, return the basename followed
74903         by the slashes.  This is more general, and can be used in places
74904         where the original base_name purposely had an assertion failure.
74905         (base_len): New function.
74906
74907         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
74908         Do not include <assert.h>; no longer needed.
74909         Include xalloc.h.
74910         (memrchr): Remove decl.
74911         (dir_name_r): Remove.
74912         (dir_len): Renamed from dirlen.  All callers changed.
74913         Rewrite in terms of base_name, for simplicity and consistency.
74914         (dir_name): Never return NULL.  All callers changed.
74915         Do not include <stdlib.h> in test program; no longer needed.
74916         return 0; is fine for test program.
74917
74918         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
74919         New macros.
74920         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
74921
74922         * lib/path-concat.c (path_concat): Use base_len to compute
74923         base length, not strlen; this means we cannot rely on memcpy
74924         to null-terminate.
74925
74926         * lib/same.c (STREQ): Remove.
74927         (same_name): Handle the case where the basename ends in trailing '/'.
74928
74929         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
74930         a slash was stripped.  Do not strip the last slash after a
74931         file system prefix.
74932
74933 2001-05-11  Paul Eggert  <eggert@twinsun.com>
74934
74935         * lib/Makefile.am (libfetish_a_SOURCES):
74936         Add strftime.c, since we now compile it on all hosts.
74937
74938         * lib/strftime.c (my_strftime):
74939         Define to nstrftime if emacs, but only if my_strftime is not defined.
74940         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
74941         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
74942         Add one more extra argument: a nanoseconds value.
74943         All uses changed.
74944         (ns): New macro.
74945         (my_strftime function): Add %N format.
74946         (emacs_strftimeu): Renamed from emacs_strftime,
74947         with extra ut argument.
74948
74949 2001-05-09  Paul Eggert  <eggert@twinsun.com>
74950
74951         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
74952
74953 2001-04-21  Jim Meyering  <meyering@lucent.com>
74954
74955         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
74956         doesn't interfere.
74957
74958 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
74959
74960         * m4/ftruncate.m4: Check for chsize.
74961         Link with ftruncate.o unconditionally if ftruncate is missing.
74962         This was required when cross-compiling to i586-mingw32msvc.
74963
74964 2001-04-08  Jim Meyering  <meyering@lucent.com>
74965
74966         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
74967         recomputed; that's necessary when the offset spans a DST transition.
74968         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
74969
74970 2001-04-02  Jim Meyering  <meyering@lucent.com>
74971
74972         * lib/regex.h, regex.c: Update from GNU libc.
74973
74974 2001-03-24  Jim Meyering  <meyering@lucent.com>
74975
74976         * m4/jm-macros.m4: Require autoconf-2.49d.
74977
74978 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
74979
74980         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
74981
74982 2001-03-19  Paul Eggert  <eggert@twinsun.com>
74983
74984         * lib/version-etc.c (version_etc_copyright): Update to 2001.
74985
74986 2001-03-17  Jim Meyering  <meyering@lucent.com>
74987
74988         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
74989         now that the version in autoconf is equivalent.
74990         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
74991
74992         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
74993         Suggestion from Akim Demaille.
74994
74995         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
74996         (jm_PREREQ_TEMPNAME): New function.
74997
74998 2001-03-16  Paul Eggert  <eggert@twinsun.com>
74999
75000         * lib/tempname.c (uint64_t): Define to uintmax_t if
75001         not defined, and if UINT64_MAX is not defined.
75002         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
75003         Reported by John David Anglin.
75004
75005 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
75006
75007         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
75008         resolve alias if codeset is empty.
75009         * lib/config.charset (BeOS): Use wildcard syntax.
75010
75011 2001-03-13  Jim Meyering  <meyering@lucent.com>
75012
75013         * lib/path-concat.c (path_concat)
75014         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
75015         concatenating e.g., `C:' and `foo'.
75016         From Bruno Haible.
75017
75018 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75019
75020         * lib/localcharset.c (locale_charset): Don't use
75021         setlocale(LC_CTYPE,NULL). Don't return NULL.
75022         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
75023
75024 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
75025
75026         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
75027         support for DOS/DJGPP.
75028
75029 2001-03-01  Paul Eggert  <eggert@twinsun.com>
75030
75031         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
75032         lacks mkstemp.  Compile our own tempname.c if we compile our own
75033         mkstemp.c, as mkstemp relies on tempname.
75034
75035 2001-03-01  Jim Meyering  <meyering@lucent.com>
75036
75037         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
75038         AH_VERBATIM really does output its argument verbatim.
75039
75040 2001-02-28  Paul Eggert  <eggert@twinsun.com>
75041
75042         * lib/Makefile.am (libfetish_a_SOURCES):
75043         Add dup-safer.c, fopen-safer.c.
75044         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
75045
75046         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
75047         * lib/unistd-safer.h: New files.
75048
75049 2001-02-25  Paul Eggert  <eggert@twinsun.com>
75050
75051         The mkstemp replacement is taken from glibc 2.2.2, with some
75052         portability fixes for use outside glibc, as follows:
75053
75054         * lib/tempname.c (struct_stat64): New macro.
75055         (direxists, __gen_tempname): Use it.
75056         This avoids a portability problem with Solaris 8.
75057
75058         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
75059         (<stddef.h>, <stdint.h>, <string.h>):
75060         Include only if STDC_HEADERS || _LIBC.
75061         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
75062         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
75063         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
75064         (__set_errno): Define this macro if <errno.h> doesn't.
75065         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
75066         Define these macros if <stdio.h> doesn't.
75067         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
75068         Define these macros if <sys/stat.h>
75069         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
75070         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
75071         __xstat64): Define if not _LIBC.
75072         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
75073         (__gen_tempname): Invoke gettimeofday only if
75074         HAVE_GETTIMEOFDAY || _LIBC;
75075         otherwise, fall back on plain "time".
75076         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
75077
75078         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
75079
75080         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
75081
75082 2001-02-18  Paul Eggert  <eggert@twinsun.com>
75083
75084         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
75085
75086 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75087
75088         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
75089         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
75090         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
75091         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75092
75093 2001-02-17  Paul Eggert  <eggert@twinsun.com>
75094
75095         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
75096         Remove workaround macros for hosts that have mbrtowc but not
75097         mbstate_t, as we now insist on proper declarations for both
75098         before using mbrtowc.
75099
75100 2001-02-17  Jim Meyering  <meyering@lucent.com>
75101
75102         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
75103         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
75104         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
75105         UnixWare 7.1.1.
75106
75107         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
75108         rather than AC_CACHE_VAL.
75109
75110 2001-02-17  Jim Meyering  <meyering@lucent.com>
75111
75112         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
75113         around included file name.
75114
75115         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
75116
75117         * lib/strftime.c: Update from GNU libc (the only changes were to
75118         comments).
75119
75120 2001-02-17  Jim Meyering  <meyering@lucent.com>
75121
75122         * lib/regex.c: Update from libc.
75123
75124 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
75125
75126         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
75127         clash.
75128
75129 2001-02-16  Paul Eggert  <eggert@twinsun.com>
75130
75131         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
75132         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
75133         Reported by Mark Hounschell via Paul Eggert.
75134
75135 2001-02-07  Jim Meyering  <meyering@lucent.com>
75136
75137         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
75138
75139 2001-02-05  Jim Meyering  <meyering@lucent.com>
75140
75141         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
75142         it includes the patch required for `large file' support with at least
75143         HP-UX's 10.20 /bin/cc.
75144
75145 2001-02-03  Jim Meyering  <meyering@lucent.com>
75146
75147         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
75148         AS_IF, now that it works once again (mysteriously).
75149         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75150
75151 2001-01-30  Jim Meyering  <meyering@lucent.com>
75152
75153         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
75154         * m4/chown.m4: Rename conftestchown to conftest.chown.
75155         * m4/rename.m4: s/conftestdir/conftest.d1/ and
75156         s/conftestdir2/conftest.d2/.
75157         * m4/utimes.m4: s/conftestdata/conftest.data/
75158         Inspired by Pavel Roskin's change in autoconf.
75159
75160 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
75161
75162         * lib/config.charset: Update for FreeBSD 4.2.
75163
75164 2001-01-27  Jim Meyering  <meyering@lucent.com>
75165
75166         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
75167         a use of AS_IF.
75168         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
75169
75170 2001-01-26  Jim Meyering  <meyering@lucent.com>
75171
75172         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
75173         quotearg.c includes it.
75174
75175 2001-01-26  Jim Meyering  <meyering@lucent.com>
75176
75177         * lib/quotearg.c: Include stddef.h.
75178         * lib/quote.c: Include stddef.h.
75179         Reported by Axel Kittenberger.
75180
75181         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
75182         line in double quotes so that it evokes a better diagnostic.
75183         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
75184         Reported by Axel Kittenberger.
75185
75186 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
75187
75188         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
75189         as if it was a `charset'.
75190
75191 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75192
75193         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
75194         has const.
75195
75196 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
75197
75198         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
75199         to avoid a warning.  Add back 'const' to inptr.
75200
75201 2001-01-20  Jim Meyering  <meyering@lucent.com>
75202
75203         Be sure that headers are checked before used in code compiled
75204         for the type checks.
75205         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
75206         In place of that, invoke jm_CHECK_ALL_TYPES.
75207         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
75208         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
75209         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
75210         The check for ssize_t was mistakenly run before the test for unistd.h.
75211
75212         The configure-time check for stdbool.h was missing.
75213         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
75214         (jm_PREREQ_HASH): New function.
75215
75216 2001-01-17  Jim Meyering  <meyering@lucent.com>
75217
75218         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
75219         for autoconf-2.49c.
75220         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
75221
75222 2001-01-16  Jim Meyering  <meyering@lucent.com>
75223
75224         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
75225         From Bruno Haible.
75226
75227 2001-01-14  Jim Meyering  <meyering@lucent.com>
75228
75229         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
75230         foo and bar.  Create conftestdir/ in the script, not in the C code.
75231         Remove directories in the script, not in the C code.
75232         Remove conftestdir{,2} before trying to create the directory.
75233         Make the entire configure script fail if the mkdir fails.
75234
75235 2001-01-14  Jim Meyering  <meyering@lucent.com>
75236
75237         * lib/rename.c: New file.  From Volker Borchert.
75238         Include stdlib.h, string.h or strings.h, and xalloc.h.
75239         Use strip_trailing_slashes rather than open-coding it.
75240
75241 2001-01-03  Paul Eggert  <eggert@twinsun.com>
75242
75243         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
75244
75245 2001-01-03  Jim Meyering  <meyering@lucent.com>
75246
75247         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
75248         of local `inptr' to avoid warning with some system declarations of
75249         iconv.
75250
75251 2001-01-02  Volker Borchert  <bt@teknon.de>
75252
75253         * m4/rename.m4: New file.
75254         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
75255
75256 2001-01-01  Jim Meyering  <meyering@lucent.com>
75257
75258         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
75259         even on systems with utmpx.h.  It's necessary for the declaration of
75260         utmp's ut_user member.  Reported by Andreas Jaeger.
75261
75262         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
75263         available. They are required for the declarations of getgrgid and
75264         getpwuid resp.
75265         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
75266         Reported by Andreas Jaeger.
75267
75268 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
75269
75270         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
75271         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
75272         so `make install' also works in VPATH builds.
75273
75274 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
75275
75276         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
75277         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
75278         can be used in subdirectories.
75279
75280 2000-12-29  Paul Eggert  <eggert@twinsun.com>
75281
75282         * lib/modechange.c: Do not assume that mode_t uses the
75283         traditional octal encoding.  E.g. "chmod 1 FOO" should set
75284         the other-execute bit of FOO even if S_IXOTH != 1.
75285
75286         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
75287         WOTH, XOTH, ALLM): New macros.
75288         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
75289          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
75290         Use them.
75291         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
75292         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
75293         (mode_compile):
75294         No need to use uintmax_t; unsigned long is long enough.
75295         Don't bother to get suffix since we don't use it.
75296
75297 2000-12-26  Jim Meyering  <meyering@lucent.com>
75298
75299         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
75300         better with autoheader.
75301
75302 2000-12-24  Jim Meyering  <meyering@lucent.com>
75303
75304         * lib/hash.c (is_prime): Return explicit boolean values.
75305         (hash_get_first): Return NULL to appease Irix5.6's 89.
75306         Reported by Nelson Beebe.
75307
75308 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
75309
75310         * lib/localcharset.c (locale_charset): Add support for Win32.
75311
75312 2000-12-18  Paul Eggert  <eggert@twinsun.com>
75313
75314         * lib/physmem.h, lib/physmem.c: New files.
75315
75316         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
75317         (noinst_HEADERS): Add physmem.h.
75318
75319         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
75320         't' for compatibility with Solaris 8 sort.
75321
75322 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
75323
75324         * lib/config.charset: Add support for BeOS.
75325
75326 2000-12-17  Jim Meyering  <meyering@lucent.com>
75327
75328         * m4/dos.m4 (jm_AC_DOS): New file and macro.
75329         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
75330
75331 2000-12-16  Jim Meyering  <meyering@lucent.com>
75332
75333         This bug had a serious impact on chown: `chown N:M FILE' (for integer
75334         N and M) would have treated it like `chown N:N FILE'.
75335
75336         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
75337
75338 2000-12-16  Jim Meyering  <meyering@lucent.com>
75339
75340         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
75341         SHELLS_FILE to a file name that's useful on djgpp systems.
75342         Include stdlib.h.
75343         (ADDITIONAL_DEFAULT_SHELLS): Define.
75344         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
75345         Based mostly on a patch from Prashant TR.
75346
75347 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
75348
75349         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
75350         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
75351         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
75352
75353 2000-12-08  Andreas Schwab  <schwab@suse.de>
75354
75355         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
75356         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
75357
75358 2000-12-07  Jim Meyering  <meyering@lucent.com>
75359
75360         * lib/stripslash.c (ISSLASH): Define.
75361         (strip_trailing_slashes): Use ISSLASH rather than comparing against
75362         `/'.
75363         From Prashant TR.
75364
75365         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
75366         (dir_name_r): Declare this function as static.
75367         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
75368         manifest itself on a name containing a mix of slashes and
75369         backslashes.
75370         Make this function work with names starting with a DOS-style
75371         drive letter and colon prefix.
75372         (dir_name): Append `.' if necessary.
75373         Based mostly on patches from Prashant TR and Eli Zaretskii.
75374
75375         * lib/dirname.h (dir_name_r): Remove prototype.
75376
75377 2000-12-06  Paul Eggert  <eggert@twinsun.com>
75378
75379         * m4/off_t-format.m4: Remove this file.
75380         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
75381
75382 2000-12-06  Jim Meyering  <meyering@lucent.com>
75383
75384         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
75385         replacement strtoull, we may well need the replacement strtoul, too.
75386         Check for declarations of strtoul and strtoull.
75387         Check for strtol.  Mainly as a cue to cause automake to include
75388         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
75389         Check for limits.h -- strtol.c needs it.
75390
75391 2000-12-05  Jim Meyering  <meyering@lucent.com>
75392
75393         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
75394
75395 2000-12-04  Jim Meyering  <meyering@lucent.com>
75396
75397         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
75398         Also include memory.h, stdlib.h, unistd.h if appropriate.
75399         Reported by Andreas Jaeger (conflicting declaration of malloc).
75400
75401 2000-12-02  Jim Meyering  <meyering@lucent.com>
75402
75403         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
75404         * m4/jm-macros.m4 (jm_MACROS): require it.
75405
75406 2000-12-02  Jim Meyering  <meyering@lucent.com>
75407
75408         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
75409
75410 2000-12-01  Paul Eggert  <eggert@twinsun.com>
75411
75412         * lib/memrchr.c: Include <config.h> before any system include file.
75413
75414 2000-11-30  Jim Meyering  <meyering@lucent.com>
75415
75416         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
75417
75418 2000-11-30  Jim Meyering  <meyering@lucent.com>
75419
75420         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
75421
75422 2000-11-29  Paul Eggert  <eggert@twinsun.com>
75423
75424         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
75425
75426 2000-11-26  Jim Meyering  <meyering@lucent.com>
75427
75428         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
75429
75430 2000-11-22  Paul Eggert  <eggert@twinsun.com>
75431
75432         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
75433         size of (size_t) -1; it's not portable.
75434
75435 2000-11-17  Jim Meyering  <meyering@lucent.com>
75436
75437         * lib/strstr.c: Update from GNU libc.
75438
75439 2000-11-17  Akim Demaille  <akim@epita.fr>
75440
75441         * lib/obstack.h: Formatting changes.
75442         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
75443         prevent type checking.
75444         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
75445         cast the value to (void *): assigning a `foo *' to a `void *'
75446         variable is valid.
75447         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
75448
75449 2000-11-16  Jim Meyering  <meyering@lucent.com>
75450
75451         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
75452
75453 2000-11-11  Jim Meyering  <meyering@lucent.com>
75454
75455         * lib/error.c: Add a couple #includes, merging from GNU libc version.
75456
75457 2000-11-10  Jim Meyering  <meyering@lucent.com>
75458
75459         * lib/obstack.h: Update from GNU libc.
75460         * lib/obstack.c: Likewise.
75461
75462 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
75463
75464         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
75465
75466 2000-11-06  Paul Eggert  <eggert@twinsun.com>
75467
75468         * lib/getusershell.c (setusershell): Use rewind rather than
75469         fseek/fseeko, to avoid configuration hassles with fseeko.
75470         Don't bother opening SHELLS_FILE if shellstream is NULL;
75471         it's not necessary.
75472
75473 2000-11-05  Jim Meyering  <meyering@lucent.com>
75474
75475         * lib/makepath.h (make_dir): Declare.
75476         * lib/makepath.c (make_dir): Remove `static' attribute.
75477         Tweak a comment.
75478
75479 2000-11-04  Jim Meyering  <meyering@lucent.com>
75480
75481         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
75482
75483 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
75484
75485         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
75486         last one in a bucket, advance to the next bucket.
75487
75488 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
75489
75490         * lib/fnmatch.c: Do not comment out all the code if we are using
75491         the GNU C library, because in some cases we are replacing buggy
75492         code in the GNU C library itself.
75493
75494 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
75495
75496         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
75497         (regex_compile): Catch bogus \(\1\).
75498
75499 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75500
75501         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
75502         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
75503         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
75504
75505 2000-10-30  Paul Eggert  <eggert@twinsun.com>
75506
75507         * lib/error.h, getline.h, modechange.h:
75508         Remove "2000" from Copyright line, as the file hasn't been
75509         changed this year other than in the copyright notice.
75510
75511         * lib/xalloc.h: Add "2000" to Copyright line, as this file
75512         was changed this year.
75513
75514 2000-10-29  Jim Meyering  <meyering@lucent.com>
75515
75516         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
75517         renaming.
75518         * m4/ls-mntd-fs.m4: Likewise
75519
75520 2000-10-29  Jim Meyering  <meyering@lucent.com>
75521
75522         * lib/xstat.in: Fix grammar in comment.
75523
75524 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
75525
75526         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
75527         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
75528         doesn't define __restrict_arr.
75529
75530 2000-10-28  Jim Meyering  <meyering@lucent.com>
75531
75532         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
75533         (jm_PREREQ_MEMCHR): New function.
75534
75535 2000-10-28  Jim Meyering  <meyering@lucent.com>
75536
75537         * lib/memchr.c: Update from libc.
75538         Adjust for portability:
75539         [HAVE_STDLIB_H]: Include stdlib.h.
75540         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
75541         Undef __memchr, too.
75542         [!weak_alias]: Define __memchr to memchr.
75543
75544         * lib/regex.c: Update from libc.
75545         * lib/regex.h: Likewise.
75546         * lib/getopt1.c: Likewise.
75547         * lib/memcmp.c: Likewise.
75548
75549         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
75550         Avoid using fseek, when possible -- it's broken by design.
75551         Patch by Ulrich Drepper.
75552
75553 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
75554
75555         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
75556         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
75557         Giving in to popular pressure to shut up the compiler with casts.
75558
75559 2000-10-26  Jim Meyering  <meyering@lucent.com>
75560
75561         * lib/strftime.c: Update from libc.
75562
75563 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
75564
75565         * regex.c: More `unsigned char' -> `re_char' changes.
75566         Also change several `int' into `re_wchar_t'.
75567         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
75568         (PUSH_FAILURE_POINTER): Don't cast any more.
75569         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
75570         We want GCC to complain, since this piece of code makes
75571         re_match non-reentrant, which *should* be fixed.
75572         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
75573         (EXTEND_BUFFER): Use RETALLOC.
75574         (SET_LIST_BIT): Don't cast.
75575         (re_wchar_t): New type.
75576         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
75577         that those two functions will always properly return.
75578         (IMMEDIATE_QUIT_CHECK): Cast to void.
75579         (analyse_first): Use recursion rather than an explicit stack.
75580         (re_compile_fastmap): Can't fail anymore.
75581         (re_search_2): Don't check re_compile_fastmap for failure.
75582         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
75583         Now also sets the new value (passed in a new argument).
75584         (re_match_2_internal): Use it.
75585         Also, use a new var `reg' of type size_t when looping through regs
75586         rather than reuse the inappropriate `mcnt'.
75587
75588 2000-10-25  Jim Meyering  <meyering@lucent.com>
75589
75590         * lib/obstack.c: Update from libc.
75591
75592 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
75593
75594         * regex.c (regex_compile): Change the way of handling a range from
75595         a char less than 256 to a char not less than 256.
75596
75597 2000-10-24  Andrew Innes  <andrewi@gnu.org>
75598
75599         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
75600         NT-Emacs only.
75601         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
75602         so that re_search functions only quit when callers expect them to.
75603
75604 2000-10-23  Jim Meyering  <meyering@lucent.com>
75605
75606         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
75607         wrong.  That set_locale call must not have any side effects.
75608         From Paul Eggert.
75609
75610 2000-10-22  Jim Meyering  <meyering@lucent.com>
75611
75612         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
75613         [CYCLIC]: Remove now-unused definition.
75614
75615         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
75616         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
75617         Suggestion from Ulrich Drepper.
75618
75619 2000-10-21  Jim Meyering  <meyering@lucent.com>
75620
75621         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
75622         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
75623         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
75624
75625 2000-10-21  Jim Meyering  <meyering@lucent.com>
75626
75627         * lib/dirname.c (memrchr): Declare if necessary.
75628         (dir_name): Remove the restriction that there be no
75629         trailing slashes.  Now, this code skips past them, effectively
75630         ignoring them.
75631         [TEST_DIRNAME] (main): New unit tests.
75632
75633         * lib/memrchr.c: New file from GNU libc.
75634         Undef __memrchr, too.
75635         [!weak_alias]: Define __memrchr to memrchr.
75636         Guard weak_alias use with `#ifdef weak_alias'.
75637
75638 2000-10-21  Jim Meyering  <meyering@lucent.com>
75639
75640         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
75641         (dir_name): Use dir_name_r.
75642         * lib/dirname.h (dir_name_r): Declare it.
75643
75644 2000-10-17  Jim Meyering  <meyering@lucent.com>
75645
75646         * lib/quote.h (PARAMS): Define and use.
75647         Reported by Akim Demaille.
75648
75649         * lib/getopt.c: Update from libc.
75650
75651 2000-10-16  Jim Meyering  <meyering@lucent.com>
75652
75653         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
75654         setlocale.
75655         From Jan Fedak.
75656
75657 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
75658
75659         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
75660
75661 2000-09-25  Jim Meyering  <meyering@lucent.com>
75662
75663         * lib/md5.h (rol): Define (from GnuPG).
75664
75665         * lib/sha.c: Give credit (GnuPG) where due.
75666         (M): Use rol rather than open-coding it.
75667         Add a FIXME comment.
75668
75669 2000-09-21  Jim Meyering  <meyering@lucent.com>
75670
75671         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
75672         Reported by Michael Stone.
75673
75674 2000-09-20  Jim Meyering  <meyering@lucent.com>
75675
75676         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
75677         (noinst_HEADERS): Add sha.h.
75678         Based on code from Scott G. Miller and from GnuPG.
75679
75680 2000-09-18  Jim Meyering  <meyering@lucent.com>
75681
75682         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
75683         LIBS. Otherwise, everyone ends up linking with -lelf for some
75684         configurations.
75685         Reported by Mike Stone.
75686
75687 2000-09-15  Jim Meyering  <meyering@lucent.com>
75688
75689         * lib/regex.c: Update from libc.
75690
75691 2000-09-10  Jim Meyering  <meyering@lucent.com>
75692
75693         * lib/getopt.c (_getopt_internal): Update from glibc.
75694
75695 2000-09-09  Jim Meyering  <meyering@lucent.com>
75696
75697         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
75698         think it should be used as a general replacement for isascii.
75699         * lib/fnmatch.c: Likewise.
75700         * lib/mbswidth.c: Likewise
75701         * lib/regex.c: Likewise.
75702
75703         Don't use atoi.
75704         * lib/userspec.c: Include sys/param.h and limits.h.
75705         Include xstrtol.h.
75706         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75707         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
75708         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
75709         UID, GID.  Check range.
75710
75711 2000-09-06  Jim Meyering  <meyering@lucent.com>
75712
75713         * lib/getopt.c (_getopt_internal): Update from glibc.
75714
75715 2000-08-30  Jim Meyering  <meyering@lucent.com>
75716
75717         * lib/strftime.c: Merge in changes from GNU libc.
75718
75719 2000-08-26  Jim Meyering  <meyering@lucent.com>
75720
75721         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
75722         * m4/fpending.m4: New file.
75723
75724 2000-08-26  Jim Meyering  <meyering@lucent.com>
75725
75726         * lib/closeout.c: Include "__fpending.h".
75727         (close_stdout_status): Return right away if there's nothing to flush.
75728
75729         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
75730         * lib/__fpending.c: New file.
75731         * lib/__fpending.h: New file.
75732
75733 2000-08-20  Jim Meyering  <meyering@lucent.com>
75734
75735         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
75736         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
75737         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
75738
75739 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
75740
75741         Improve fileutils installation on systems where running
75742         programs (like install) can't be unlinked.
75743         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
75744         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
75745
75746 2000-08-07  Paul Eggert  <eggert@twinsun.com>
75747
75748         Standardize on "memory exhausted" instead of "Memory exhausted"
75749         or "virtual memory exhausted".
75750         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
75751         "virtual memory exhausted".
75752         * lib/same.c (same_name): Invoke xalloc_die instead of printing
75753         our own message.
75754         * lib/userspec.c (parse_user_spec): Likewise.
75755         * lib/bumpalloc.h: comment fix
75756         * lib/same.c, userspec.c: Include xalloc.h.
75757
75758         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
75759         not char *const and pointing to a constant array.
75760         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
75761         (xrealloc): Comment fix.
75762
75763         * lib/userspec.c (parse_user_spec):
75764         Don't translate a message until just before returning,
75765         to avoid unnecessary translation.
75766
75767 2000-08-07  Jim Meyering  <meyering@lucent.com>
75768
75769         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
75770         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
75771         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
75772         getgroups.c, gethostname.c, getopt.h, group-member.c,
75773         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
75774         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
75775         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
75776         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
75777         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
75778         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
75779         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
75780         yesno.c: Back out Copyright date changes for each file with no change
75781         this year.  This eases coordination with other programs using the same
75782         source code modules.  From Paul Eggert.
75783
75784 2000-08-06  Paul Eggert  <eggert@twinsun.com>
75785
75786         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
75787         not char, for compatibility with glibc 2.1.3 strftime.c.
75788
75789 2000-08-03  Greg McGary  <greg@mcgary.org>
75790
75791         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
75792         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
75793         (EXTEND_BUFFER): Use them.
75794
75795 2000-08-01  Jim Meyering  <meyering@lucent.com>
75796
75797         * lib/dirname.c (ISSLASH): Define.
75798         (BACKSLASH_IS_PATH_SEPARATOR): Define.
75799         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
75800         both `\' and `/' may be use as path separators.
75801         Based on a patch from Prashant TR.
75802
75803 2000-07-31  Paul Eggert  <eggert@twinsun.com>
75804
75805         * lib/quotearg.c (quotearg_n_options): Don't make the initial
75806         slot vector a constant, since it might get modified.
75807
75808 2000-07-31  Jim Meyering  <meyering@lucent.com>
75809
75810         * lib/xmalloc.c: Use `virtual memory exhausted', not
75811         `Memory exhausted'.
75812         * lib/obstack.c (print_and_abort): Likewise.
75813
75814 2000-07-30  Paul Eggert  <eggert@twinsun.com>
75815
75816         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
75817         buffer, so that the caller can always quote one small
75818         component of a "memory exhausted" message in slot 0.
75819         From a suggestion by Jim Meyering.
75820
75821 2000-07-30  Jim Meyering  <meyering@lucent.com>
75822
75823         * lib/makepath.c (make_path): Quote the other instance, too.
75824
75825         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
75826         (STATIC_BUF_SIZE): Define.
75827         (quotearg_n_options): Use only statically allocated storage when
75828         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
75829         than STATIC_BUF_SIZE.
75830
75831 2000-07-29  Jim Meyering  <meyering@lucent.com>
75832
75833         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
75834         * lib/dirname.c (dir_name): Likewise.
75835
75836         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
75837         `/'.
75838
75839         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
75840         (dir_name): Assert that there are no trailing slashes.
75841
75842 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
75843
75844         * lib/mbswidth.h (mbswidth): Add a flags argument.
75845         (mbswidth): New declaration.
75846         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
75847         * lib/mbswidth.c (mbswidth): Add a flags argument.
75848         (mbsnwidth): New function.
75849
75850 2000-07-24  Jim Meyering  <meyering@lucent.com>
75851
75852         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
75853
75854 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75855
75856         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
75857
75858 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75859
75860         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
75861         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
75862         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
75863         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
75864         invoke multibyte primitives.
75865
75866 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75867
75868         * lib/quotearg.c:
75869         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
75870         so that mbstate_t is always defined.
75871
75872         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
75873         be 1 in at least one GCC installation, and this configuration
75874         error is likely to be common.  Ignoring MB_LEN_MAX hurts
75875         performance on hosts that have mbrtowc but have only unibyte
75876         locales, but I assume these hosts are rare.
75877
75878 2000-07-23  Paul Eggert  <eggert@twinsun.com>
75879
75880         * lib/mbswidth.c (_XOPEN_SOURCE):
75881         Don't define; this causes problems on Solaris 7.
75882         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
75883
75884 2000-07-23  Jim Meyering  <meyering@lucent.com>
75885
75886         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
75887         too: getgrgid, getpwuid, getuid.
75888
75889 2000-07-23  Jim Meyering  <meyering@lucent.com>
75890
75891         * lib/basename.c (base_name): Add an assertion.
75892
75893 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
75894
75895         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
75896         shadow its mbsinit function.
75897
75898 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75899
75900         * lib/mbswidth.h: New file.
75901         * lib/mbswidth.c: New file.
75902         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
75903         (noinst_HEADERS): Add mbswidth.h.
75904
75905 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
75906
75907         * lib/config.charset: Add support for FreeBSD. Improve support for
75908         HP-UX and IRIX 6.
75909
75910 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
75911
75912         * m4/mbswidth.m4: New file.
75913         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
75914
75915 2000-07-15  Jim Meyering  <meyering@lucent.com>
75916
75917         * lib/makepath.c: Include quote.h.
75918         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
75919         corresponding argument in a `quote (...)' call.
75920         Give better diagnostics.
75921
75922         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
75923         (noinst_HEADERS): Add quote.h.
75924
75925         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
75926         from tar's src/misc.c.
75927         * lib/quote.h: New file.  Prototypes for same.
75928
75929 2000-07-14  Paul Eggert  <eggert@twinsun.com>
75930
75931         From a suggestion by Bruno Haible.
75932         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
75933         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
75934         to decide whether to define the BeOS workaround macro;
75935         this adjusts to the change to AC_MBSTATE_T.
75936
75937 2000-07-14  Jim Meyering  <meyering@lucent.com>
75938
75939         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
75940         jm_AC_TYPE_UINTMAX_T.
75941
75942 2000-07-13  Paul Eggert  <eggert@twinsun.com>
75943
75944         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
75945
75946         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
75947         quotearg_buffer_restyled): Add support for
75948         clocale_quoting_style.  Undo previous change to
75949         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
75950         and "{RIGHT QUOTATION MARK}" msgids.
75951
75952 2000-07-10  Paul Eggert  <eggert@twinsun.com>
75953
75954         From a suggestion by Bruno Haible.
75955         * m4/mbstate_t.m4 (AC_MBSTATE_T):
75956         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
75957         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
75958         and mbstate_t, to a single-part test that simply defines mbstate_t.
75959         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
75960         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
75961
75962 2000-07-10  Jim Meyering  <meyering@lucent.com>
75963
75964         * m4/strerror_r.m4: Mirror the correction made in autoconf.
75965
75966         * m4/gnu-source.m4: Output to confdefs.h directly.
75967         Suggestion from Akim Demaille.
75968
75969 2000-07-09  Paul Eggert  <eggert@twinsun.com>
75970
75971         The old behavior of quoting `like this' doesn't look good with
75972         newer, ISO-style fonts.  See:
75973         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
75974
75975         Instead, quote "like this" by default.  Let the translator
75976         tailor the locale-specific quoting behavior by providing
75977         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
75978
75979         * lib/quotearg.c (N_): New macro.
75980         (gettext_default): New function.
75981         (quotearg_buffer_restyled): Use
75982         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
75983         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
75984
75985 2000-07-09  Jim Meyering  <meyering@lucent.com>
75986
75987         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
75988         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
75989
75990         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
75991         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
75992
75993 2000-07-09  Jim Meyering  <meyering@lucent.com>
75994
75995         * lib/Most files: Update copyright dates to include 2000.
75996
75997 2000-07-08  Jim Meyering  <meyering@lucent.com>
75998
75999         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
76000         if not defined.
76001         (xgethostname): Remove now-unnecessary #ifdef.
76002         Move declaration of `err' into loop where it's used.
76003
76004 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76005         and Bruno Haible  <haible@clisp.cons.org>
76006
76007         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
76008         only if the test for an object-type mbstate_t fails.  This
76009         prevents us from mistakenly reporting that mbstate_t is a
76010         system object type after we "#define mbstate_t int" to work
76011         around its lack.
76012
76013 2000-07-05  Paul Eggert  <eggert@twinsun.com>
76014         and Bruno Haible  <haible@clisp.cons.org>
76015
76016         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
76017
76018 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76019
76020         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
76021         to strerror_r.
76022         Include <ctype.h> for use of isalpha.
76023
76024 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76025
76026         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
76027         by allocating a larger buffer. Test the gethostname return value for
76028         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
76029         returns an error and ENAMETOOLONG isn't defined.
76030
76031 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
76032
76033         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
76034         dimension.
76035
76036 2000-07-04  Jim Meyering  <meyering@lucent.com>
76037
76038         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
76039         of the deprecated AC_CHECKING.
76040
76041 2000-07-04  Jim Meyering  <meyering@lucent.com>
76042
76043         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
76044         Reported by Bruno Haible.
76045
76046 2000-07-04  Jim Meyering  <meyering@lucent.com>
76047
76048         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
76049         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
76050         lacks mbrtowc.
76051
76052 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76053
76054         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
76055         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
76056
76057 2000-07-03  Paul Eggert  <eggert@twinsun.com>
76058         and Bruno Haible  <haible@clisp.cons.org>
76059
76060         * lib/quotearg.c (mbrtowc):
76061         Assign to *pwc, and return 1 only if result is nonzero.
76062         (iswprint): Use ISPRINT when substituting our own mbrtowc.
76063
76064 2000-07-03  Jim Meyering  <meyering@lucent.com>
76065
76066         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
76067
76068 2000-07-03  Jim Meyering  <meyering@lucent.com>
76069
76070         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
76071         This is necessary to get a definition of e.g., UTMP_FILE on
76072         HP-UX 10.20.
76073         From Bob Proulx.
76074
76075 2000-07-02  Jim Meyering  <meyering@lucent.com>
76076
76077         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
76078
76079         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
76080         AC_LIBOBJ(function_name).
76081         * m4/chown.m4: Likewise.
76082         * m4/fnmatch.m4: Likewise.
76083         * m4/ftruncate.m4: Likewise.
76084         * m4/getgroups.m4: Likewise.
76085         * m4/getline.m4: Likewise.
76086         * m4/group-member.m4: Likewise.
76087         * m4/jm-macros.m4: Likewise.
76088         * m4/lstat.m4: Likewise.
76089         * m4/malloc.m4: Likewise.
76090         * m4/memcmp.m4: Likewise.
76091         * m4/nanosleep.m4: Likewise.
76092         * m4/putenv.m4: Likewise.
76093         * m4/realloc.m4: Likewise.
76094         * m4/regex.m4: Likewise.
76095         * m4/stat.m4: Likewise.
76096         * m4/strftime.m4: Likewise.
76097
76098 2000-07-02  Jim Meyering  <meyering@lucent.com>
76099
76100         * lib/quotearg.c (mbstate_t): Don't define here.
76101
76102 2000-07-02  Jim Meyering  <meyering@lucent.com>
76103
76104         * lib/nanosleep.c (SIGCONT): Define if not already defined.
76105
76106 2000-07-01  Jim Meyering  <meyering@lucent.com>
76107
76108         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
76109
76110 2000-07-01  Jim Meyering  <meyering@lucent.com>
76111
76112         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
76113         problem.
76114
76115 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76116
76117         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
76118         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
76119
76120 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
76121
76122         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
76123         per change in ../m4/ls-mntd-fs.m4.
76124         (read_filesystem_list): Ignore symbolic links.
76125
76126 2000-06-29  Jim Meyering  <meyering@lucent.com>
76127
76128         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
76129         for declaration of strcmp.
76130
76131         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
76132
76133         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
76134         Avoid warning by casting result to `char *' to remove `const'.
76135
76136 2000-06-28  Jim Meyering  <meyering@lucent.com>
76137
76138         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
76139         included by quotearg.c, for which we perform this test.  From
76140         Bruno Haible.
76141
76142 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76143
76144         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
76145         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
76146         <utmpx.h> exists, put readutmp.o into LIBOBJS.
76147
76148 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
76149
76150         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
76151
76152 2000-06-26  Paul Eggert  <eggert@twinsun.com>
76153
76154         savedir now sets errno on failure and invokes xmalloc to get memory.
76155         Fix a couple of other minor bugs while we're at it.
76156
76157         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
76158         (NAMLEN): Remove macro.
76159         (malloc, realloc): Remove decls.
76160         (stpcpy): Likewise.
76161         ("xalloc.h"): Include.
76162         (NAME_SIZE_DEFAULT): New macro.
76163         (savedir): Use xmalloc / xrealloc to allocate memory.
76164         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
76165         Skip "" directory entries.
76166         Use strlen to calculate directory entry length, since the old method
76167         is rarely used these days and isn't worth supporting.
76168         Don't use a pointer after freeing it.
76169         Check for integer overflow when calculating allocation size.
76170         Use memcpy to copy entries, instead of stpcpy.
76171         Set errno properly when returning NULL.
76172         Check for readdir error.
76173
76174 2000-06-26  Jim Meyering  <meyering@lucent.com>
76175
76176         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
76177
76178 2000-06-25  Jim Meyering  <meyering@lucent.com>
76179
76180         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
76181         Linux header bug when _XOPEN_SOURCE is defined to 500.
76182
76183 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76184
76185         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
76186         deficiency.
76187
76188 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
76189
76190         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
76191         Include xalloc.h.
76192         Don't include <stdlib.h>.  Don't declare malloc, realloc.
76193
76194 2000-06-24  Jim Meyering  <meyering@lucent.com>
76195
76196         * m4/strerror_r.m4: Revive this file -- to try out an experimental
76197         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
76198         for which strerror does return char*, but which lacks a conveniently
76199         accessible declaration of the function.  If the compile-test says
76200         strerror_r doesn't work, then resort to a `run'-test that works on
76201         BeOS and segfaults on DEC Unix.
76202
76203 2000-06-24  Jim Meyering  <meyering@lucent.com>
76204
76205         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
76206
76207 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76208
76209         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
76210         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
76211
76212 2000-06-23  Paul Eggert  <eggert@twinsun.com>
76213
76214         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
76215         (mbrtowc, mbstate_t): Define substitutes if
76216         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
76217         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
76218         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
76219
76220 2000-06-23  Jim Meyering  <meyering@lucent.com>
76221
76222         * m4/afs.m4: Add missing AC_MSG_RESULT.
76223         Reported by Bruno Haible.
76224
76225         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
76226         Suggestion from Bruno Haible.
76227
76228 2000-06-23  Jim Meyering  <meyering@lucent.com>
76229
76230         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
76231
76232 2000-06-21  Jim Meyering  <meyering@lucent.com>
76233
76234         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
76235
76236 2000-06-21  Jim Meyering  <meyering@lucent.com>
76237
76238         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
76239         (noinst_HEADERS): Add getstr.h.
76240
76241         * lib/getline.c (getstr): Move into a separate file.
76242         * lib/getstr.c (getstr): New file, extracted from getline.c, with
76243         the following changes: new parameter, delim2; both delim[12]
76244         parameters have type `int', not `char'.  The latter would lose
76245         with 8-bit delimiters.
76246         * lib/getstr.h: New file.
76247
76248 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76249
76250         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
76251         than 1024, return a memory chunk of least possible size, instead
76252         of size PATH_MAX + 2. In the loop, increment the size proportionally.
76253         Use free/xmalloc instead of xrealloc to avoid copying for very long
76254         paths.
76255
76256 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76257
76258         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
76259         the empty string.
76260
76261 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
76262
76263         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
76264         address, not strdup.  Include <stdlib.h> and don't declare free().
76265
76266 2000-06-19  Jim Meyering  <meyering@lucent.com>
76267
76268         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
76269
76270 2000-06-18  Jim Meyering  <meyering@lucent.com>
76271
76272         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
76273
76274         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
76275         `checking whether...' message to be consistent with that of the
76276         lstat test.
76277
76278 2000-06-18  Jim Meyering  <meyering@lucent.com>
76279
76280         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
76281         Besides, these days every porting target provides a mkdir function.
76282
76283         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
76284         needed. (this snippet comes from src/system.h).
76285
76286 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
76287
76288         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
76289
76290 2000-06-15  Paul Eggert  <eggert@twinsun.com>
76291
76292         * lib/human.c (adjust_value): New function.
76293         (human_readable_inexact): Apply rounding style even when
76294         printing approximate values.
76295
76296 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76297
76298         * lib/human.c (human_readable_inexact): Allow an input block
76299         size that is not a multiple of the output block size, and vice versa.
76300         Reported by Piergiorgio Sartor.
76301
76302 2000-06-14  Paul Eggert  <eggert@twinsun.com>
76303
76304         * lib/getdate.y (get_date): Apply relative times after time
76305         zone indicator, not before.  Reported by Todd A. Jacobs.
76306
76307 2000-06-13  Jim Meyering  <meyering@lucent.com>
76308
76309         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
76310
76311         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
76312
76313 2000-06-12  Paul Eggert  <eggert@twinsun.com>
76314
76315         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
76316
76317 2000-06-12  Jim Meyering  <meyering@lucent.com>
76318
76319         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
76320         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
76321         optional argument.
76322         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
76323         the optional argument, `lib'.
76324
76325 2000-06-08  Jim Meyering  <meyering@lucent.com>
76326
76327         * m4/largefile.m4: Remove file (now that it's part of autoconf).
76328
76329 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76330
76331         Rewrite largefile configuration so that we don't need to run
76332         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
76333         AC_CANONICAL_HOST in configure.in -- jmm]
76334
76335         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
76336         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
76337         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
76338         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
76339         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
76340         All uses changed.
76341         Instead of inspecting the output of getconf, try to compile the
76342         test program without and with the macro definition.
76343         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
76344         for getconf.  Instead, check for the needed flags by compiling
76345         test programs.
76346
76347 2000-06-04  Paul Eggert  <eggert@twinsun.com>
76348
76349         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
76350
76351 2000-06-04  Jim Meyering  <meyering@lucent.com>
76352
76353         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
76354         SunOS 4.1.4 for which gid_t is an unsigned type.
76355
76356 2000-06-03  Jim Meyering  <meyering@lucent.com>
76357
76358         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
76359         now that autoconf requires that.
76360
76361         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
76362         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
76363         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
76364
76365 2000-06-03  Jim Meyering  <meyering@lucent.com>
76366
76367         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
76368
76369 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76370
76371         * m4/glibc21.m4: New file.
76372         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
76373
76374 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
76375
76376         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
76377         newer, don't install charset.alias.
76378         * lib/config.charset: Change the Linux/glibc rules so they become empty
76379         on glibc-2.1 or newer.
76380
76381 2000-06-02  Jim Meyering  <meyering@lucent.com>
76382
76383         * lib/mountlist.c: Back out last change.  Instead, do this...
76384         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
76385         me_dummy member using the same `ignore'-testing code.
76386         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
76387         fs_type strings.
76388         From Mark D. Roth.
76389
76390 2000-05-29  Jim Meyering  <meyering@lucent.com>
76391
76392         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
76393         mounts with the `ignore' attribute.  Based on a patch from
76394         Mark D. Roth.
76395
76396 2000-05-28  Jim Meyering  <meyering@lucent.com>
76397
76398         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
76399         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76400         * m4/stat.m4: Likewise.
76401         * m4/lstat.m4: Likewise.
76402         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
76403
76404         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
76405         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
76406
76407 2000-05-26  Jim Meyering  <meyering@lucent.com>
76408
76409         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
76410
76411 2000-05-24  Jim Meyering  <meyering@lucent.com>
76412
76413         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
76414         autoconf requires that.
76415         * m4/lib-check.m4: Likewise.
76416         * m4/jm-macros.m4: Likewise.
76417         * m4/strftime.m4: Likewise.
76418
76419         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
76420         AC_CHECK_DECLS, now that autoconf requires that.
76421
76422 2000-05-22  Jim Meyering  <meyering@lucent.com>
76423
76424         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
76425         * m4/lstat.m4: Likewise.
76426
76427 2000-05-22  Jim Meyering  <meyering@lucent.com>
76428
76429         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
76430
76431 2000-05-20  Jim Meyering  <meyering@lucent.com>
76432
76433         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
76434         (jm_PREREQ): Use it.
76435
76436 2000-05-18  Jim Meyering  <meyering@lucent.com>
76437
76438         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
76439         back, too, since it may have been modified by allocate_entry.
76440         (hash_delete): Rewrite to use neither the assignment operator
76441         nor the comma operator in an if-expression.
76442
76443 2000-05-15  Paul Eggert  <eggert@twinsun.com>
76444
76445         * lib/closeout.c:
76446         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
76447         Remove; no longer needed.
76448         "quotearg.h": Add include.
76449         (file_name): Do not bother to explicitly initialize to NULL; it's less
76450         efficient on some hosts.
76451         (close_stdout_status): Remove test as to whether stdout was already
76452         closed; it breaks for the case "echo x | sort >&-".
76453         Quote file name colons.
76454         Do not assume that _("write error") lacks format strings.
76455
76456 2000-05-15  Jim Meyering  <meyering@lucent.com>
76457
76458         * lib/version-etc.c (version_etc_copyright): Update the copyright
76459         string used in all --version output.
76460
76461 2000-05-14  Jim Meyering  <meyering@lucent.com>
76462
76463         * lib/closeout.c (close_stdout_set_file_name): New function.
76464         (close_stdout_status): Use new file-scoped global.
76465         Return right away if fstat says the stdout file descriptor is invalid.
76466         * lib/closeout.h (close_stdout_set_file_name): Declare.
76467
76468 2000-05-10  Jim Meyering  <meyering@lucent.com>
76469
76470         * lib/closeout.c [default_exit_status]: New file-scoped variable.
76471         (close_stdout_set_status): New function.
76472         * lib/closeout.h (close_stdout_set_status): Declare.
76473
76474 2000-05-09  Jim Meyering  <meyering@lucent.com>
76475
76476         * m4/gettext.m4: Rename this...
76477         * m4/libintl.m4: ...to this.
76478
76479 2000-05-08  Jim Meyering  <meyering@lucent.com>
76480
76481         * lib/long-options.c: Don't include closeout.h.
76482         (parse_long_options): Don't call close_stdout for --version.
76483
76484 2000-05-06  Paul Eggert  <eggert@twinsun.com>
76485
76486         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
76487         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
76488         2.1.3 bug.  This avoids a clash when files like regex.c define
76489         _GNU_SOURCE.
76490
76491 2000-05-06  Jim Meyering  <meyering@lucent.com>
76492
76493         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
76494         (AC_REPLACE_FUNCS): Add strnlen.
76495
76496         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
76497         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
76498
76499         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
76500         AC_SEARCH_LIBS call for nanosleep.
76501         (LIB_NANOSLEEP): Set and AC_SUBST.
76502
76503 2000-05-06  Jim Meyering  <meyering@lucent.com>
76504
76505         * lib/strnlen.c: Undefine __strnlen and strnlen.
76506         [!weak_alias]: Define __strnlen to strnlen.
76507
76508         * lib/atexit.c: New file, from libiberty.
76509
76510 2000-05-06  Jim Meyering  <meyering@lucent.com>
76511
76512         * lib/closeout.c (close_stdout_status): Also check for errors on the
76513         stderr stream.
76514
76515 2000-05-05  Jim Meyering  <meyering@lucent.com>
76516
76517         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
76518         AC_SEARCH_LIBS call for clock_gettime.
76519         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
76520
76521         * m4/search-libs.m4: Update from autoconf.
76522
76523         su doesn't work on Solaris 2.6.
76524         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
76525         <shadow.h>.  Reported by Dragos Harabor.
76526
76527 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
76528
76529         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
76530         memcpy instead of xmalloc, xrealloc, path_concat.
76531         (locale_charset): Treat empty environment variables as absent.
76532         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
76533
76534 2000-05-04  Jim Meyering  <meyering@lucent.com>
76535
76536         * lib/getopt.c: Update from glibc.
76537         * lib/obstack.c: Likewise.
76538         * lib/obstack.h: Likewise.
76539         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
76540         file
76541
76542         * lib/regex.h: Likewise.
76543         * lib/strndup.c: Likewise.
76544         * lib/strnlen.c: New file, from glibc.
76545
76546 2000-05-03  Jim Meyering  <meyering@lucent.com>
76547
76548         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
76549
76550 2000-05-02  Paul Eggert  <eggert@twinsun.com>
76551
76552         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
76553         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
76554         compile-time test, rather than inspecting host and OS, to
76555         decide whether to define _LARGEFILE_SOURCE.
76556
76557 2000-05-01  Jim Meyering  <meyering@lucent.com>
76558
76559         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
76560
76561         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
76562         Based on a patch from Bruno Haible.
76563
76564 2000-05-01  Jim Meyering  <meyering@lucent.com>
76565
76566         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
76567
76568 2000-04-29  Jim Meyering  <meyering@lucent.com>
76569
76570         * lib/path-concat.c: Declare strdup only if it's not defined.
76571         * lib/canon-host.c: Likewise.
76572
76573 2000-04-28  Jim Meyering  <meyering@lucent.com>
76574
76575         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
76576         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
76577         is included first, then limits.h is included by locale.h by libintl.h.
76578         From John David Anglin.
76579
76580 2000-04-25  Jim Meyering  <meyering@lucent.com>
76581
76582         * lib/makepath.c (S_IRWXUGO): Define.
76583         (make_path): Always perform explicit chmod if MODE specifies any
76584         of the `special' permission bits.  Prompted by a bug report against
76585         install from Mate Wierdl and Joost van Baal.
76586
76587 2000-04-18  Jim Meyering  <meyering@lucent.com>
76588
76589         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
76590         (jm_PREREQ): Use it.
76591
76592 2000-04-18  Jim Meyering  <meyering@lucent.com>
76593
76594         * lib/README: New file.
76595
76596         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
76597         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
76598
76599 2000-04-17  Jim Meyering  <meyering@lucent.com>
76600
76601         Get it right :-)
76602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
76603         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
76604         Suggestion from Akim Demaille.
76605
76606 2000-04-17  Jim Meyering  <meyering@lucent.com>
76607
76608         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
76609         the definition of it to rpl_strftime also defined-away the system's
76610         declaration.
76611
76612 2000-04-15  Jim Meyering  <meyering@lucent.com>
76613
76614         Use `C' to denote so-called `contiguous' files, the same way
76615         that tar does.
76616         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
76617         (ftypelet): Use S_ISCTG.
76618         From Michael Deutschmann.
76619
76620 2000-04-14  Jim Meyering  <meyering@lucent.com>
76621
76622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
76623         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
76624         clobbered.
76625
76626 2000-04-14  Jim Meyering  <meyering@lucent.com>
76627
76628         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
76629
76630 2000-04-13  Jim Meyering  <meyering@lucent.com>
76631
76632         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
76633         AH_VERBATIM to insert required #ifndef into config.h.in.
76634         Suggestion from Akim Demaille.
76635
76636 2000-04-12  Jim Meyering  <meyering@lucent.com>
76637
76638         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
76639         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
76640         Christian Krackowizer.
76641
76642         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
76643         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
76644         (AC_SYS_LARGEFILE): Require.
76645         (AM_C_PROTOTYPES): Require.
76646
76647 2000-04-08  Jim Meyering  <meyering@lucent.com>
76648
76649         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
76650         names don't conflict.  Reported by Eli Zaretskii.
76651
76652 2000-04-07  Jim Meyering  <meyering@lucent.com>
76653
76654         * lib/putenv.c: Move inclusion of errno.h so it follows that of
76655         sys/types.h, to work around system header problems on AIX 3.2.5.
76656         From Bruno Haible.
76657
76658 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
76659
76660         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
76661         bug.  Deal with the different error behavior of Irix iconv.
76662
76663 2000-04-05  Paul Eggert  <eggert@twinsun.com>
76664
76665         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
76666         IRIX if the installer said otherwise.
76667
76668 2000-04-05  Jim Meyering  <meyering@lucent.com>
76669
76670         Portability tweaks required for ultrix4.3.
76671         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
76672         (jm_CHECK_DECLS): Add getutent to the list of functions.
76673         (_jm_DECL_HEADERS): Add utmpx.h.
76674         From John David Anglin.
76675
76676         * m4/strftime.m4: Back out the 2000-04-02 change.
76677         Instead of that change, simply undefine putenv in the test program.
76678
76679 2000-04-05  Jim Meyering  <meyering@lucent.com>
76680
76681         Portability tweaks required for ultrix4.3.
76682         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
76683         getutent.
76684         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
76685         * lib/canon-host.c: Declare strdup.
76686         * lib/path-concat.c: Likewise.
76687         From John David Anglin.
76688
76689 2000-04-04  Jim Meyering  <meyering@lucent.com>
76690
76691         Be more DOS 8.3-friendly.
76692         * lib/ref-add.sin: Renamed from ref-add.sed.in.
76693         * lib/ref-del.sin: Renamed from ref-del.sed.in.
76694         * lib/Makefile.am: Reflect renaming.
76695         Reported by Eli Zaretskii.
76696
76697         Use a temporary file name that won't clash with `charset.alias'
76698         in the DOS 8.3 name space.
76699         * lib/Makefile.am (charset_tmp): Define.
76700         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
76701         (uninstall-local): Likewise.
76702         Reported by Eli Zaretskii.
76703
76704 2000-04-03  Jim Meyering  <meyering@lucent.com>
76705
76706         * m4/gettext.m4: Fix typo in comment.
76707
76708         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
76709         textutils/configure.in).  Suggestion from Paul Eggert.
76710         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
76711
76712 2000-04-02  Paul Eggert  <eggert@twinsun.com>
76713
76714         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
76715         variable in the shell rather than using putenv, which isn't
76716         portable.  This avoids the configure-time inter-test dependency
76717         on the potentially-renamed putenv function.
76718
76719 2000-03-30  Paul Eggert  <eggert@twinsun.com>
76720
76721         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
76722         before checking struct stat.st_blksize, so that
76723         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
76724
76725 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76726
76727         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
76728         since strftime.c uses HAVE_STRFTIME to decide whether to use
76729         the underlying strftime.
76730
76731 2000-03-29  Paul Eggert  <eggert@twinsun.com>
76732
76733         * lib/time/strftime.c (my_strftime): Make sure we call the system
76734         strftime, not ourselves, when invoking the underlying strftime.
76735
76736 2000-03-24  Jim Meyering  <meyering@lucent.com>
76737
76738         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
76739         (charset_alias): Define.
76740         (install-exec-local): Factor out common code.
76741         (uninstall-local): Split lines longer than 80.
76742         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
76743         (SUFFIXES): Define.
76744         (.sed.in.sed): New rule.  Don't redirect directly to $@.
76745         (CLEANFILES): Add ref-add.sed and ref-del.sed.
76746
76747 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
76748
76749         * lib/config.charset: Output a line containing "Packages using this
76750         file".
76751         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
76752         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
76753         ref-del.sed): New rules.
76754
76755 2000-03-17  Jim Meyering  <meyering@lucent.com>
76756
76757         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
76758         Otherwise, include <strings.h>
76759
76760 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
76761
76762         * lib/unicodeio.c (utf8_wctomb): New function.
76763         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
76764         format instead of in UCS-4 with platform dependent endianness.
76765
76766 2000-03-10  Jim Meyering  <meyering@lucent.com>
76767
76768         * m4/lib-check.m4: Look for getspnam in -lgen, too.
76769         From Marco Franzen.
76770
76771 2000-03-07  Paul Eggert  <eggert@twinsun.com>
76772
76773         * lib/savedir.c (savedir): Work even if directory size is
76774         negative; this can happen with some screwy NFS configurations.
76775
76776 2000-03-06  Jim Meyering  <meyering@lucent.com>
76777
76778         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
76779         if it's NULL (because we ran out of memory).  From Bruno Haible.
76780
76781 2000-03-05  Jim Meyering  <meyering@lucent.com>
76782
76783         * lib/localcharset.c ("path-concat.h"): Include.
76784         (get_charset_aliases): Use path_concat instead of ANSI string
76785         concatenation.
76786
76787         * lib/unicodeio.h (PARAMS): Define.
76788         Use it to guard prototype.
76789
76790 2000-03-04  Jim Meyering  <meyering@lucent.com>
76791
76792         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
76793         for lib/localcharset.c.
76794
76795 2000-03-04  Jim Meyering  <meyering@lucent.com>
76796
76797         * lib/Makefile.am (install-exec-local): Create $(libdir) before
76798         installing into it.
76799         (uninstall-local): Uncomment this rule so `make distcheck' works
76800         once again.
76801
76802         * lib/unicodeio.c (<errno.h>): Include it.
76803         (errno): Declare if not defined.
76804
76805         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
76806
76807         * lib/config.charset: New version, incorporating remarks from a linux
76808         i18n mailing list.  From Bruno Haible.
76809
76810 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
76811
76812         * m4/codeset.m4: New file.
76813         * m4/iconv.m4: New file.
76814         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
76815
76816 2000-03-03  Jim Meyering  <meyering@lucent.com>
76817
76818         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
76819
76820 2000-03-02  Jim Meyering  <meyering@lucent.com>
76821
76822         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
76823         the messages come out on separate lines.
76824
76825         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
76826         rather than jm_CHECK_DECLARATIONS.
76827         * m4/decl.m4: Remove now-unused file.
76828
76829         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
76830         geteuid.
76831
76832 2000-03-02  Jim Meyering  <meyering@lucent.com>
76833
76834         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
76835
76836 2000-03-01  Jim Meyering  <meyering@lucent.com>
76837
76838         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
76839         * lib/unicodeio.c: Likewise.
76840
76841 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
76842
76843         * lib/config.charset: New file.
76844         * lib/localcharset.c: New file.
76845         * lib/unicodeio.h, lib/unicodeio.c: New files.
76846         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
76847         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
76848         (noinst_HEADERS): Add unicodeio.h.
76849         (all-local, install-exec-local, charset.alias): New targets.
76850
76851 2000-02-28  Paul Eggert  <eggert@twinsun.com>
76852
76853         * lib/quotearg.c (ALERT_CHAR): New macro.
76854         (quotearg_buffer_restyled): Use it.
76855
76856 2000-02-27  Jim Meyering  <meyering@lucent.com>
76857
76858         * m4/check-decl.m4: Add getenv to the list.
76859
76860 2000-02-27  Jim Meyering  <meyering@lucent.com>
76861
76862         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
76863         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
76864
76865         * lib/backupfile.c: Guard inclusion of stdlib.h with
76866         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
76867         Declare malloc if needed.
76868
76869         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
76870         `#ifndef HAVE_DECL..'
76871         now that autoconf always defines the HAVE_DECL_ symbols.
76872         * lib/human.c: Likewise.
76873         * lib/same.c: Likewise.
76874         * lib/strtoumax.c: Likewise.
76875
76876         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
76877         declaration check was not run.
76878         * lib/hash.c: Likewise.
76879         * lib/human.c: Likewise.
76880         * lib/same.c: Likewise.
76881         * lib/strtoumax.c: Likewise.
76882
76883         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
76884         `.', then first look up the entire `.'-containing string as a login
76885         name.
76886
76887 2000-02-23  Jim Meyering  <meyering@lucent.com>
76888
76889         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
76890         in place of my hack.
76891
76892 2000-02-18  Paul Eggert  <eggert@twinsun.com>
76893
76894         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
76895         (textint): New typedef.
76896         (parser_control): Member year changed from int to textint.
76897         All uses changed.
76898         (YYSTYPE): Removed; replaced by %union with int and textint members.
76899         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
76900         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
76901         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
76902         (tSNUMBER, tUNUMBER): Now of type <textintval>.
76903         (date, number, to_year): Use width of number in digits, not its value,
76904         to determine whether it's a 2-digit year, or a 2-digit time.
76905         (yylex): Store number of digits of numeric tokens.
76906         Reported by John Kendall.
76907
76908         (parser_control): Changed from struct parser_control to typedef (for
76909         consistency).  All uses changed.
76910
76911         (tID): Removed; not used.
76912         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
76913
76914 2000-02-14  Paul Eggert  <eggert@twinsun.com>
76915
76916         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
76917         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
76918
76919 2000-02-12  Jim Meyering  <meyering@lucent.com>
76920
76921         * lib/userspec.c (ISDIGIT): Define it.
76922         (isdigit): Remove definition.
76923         (is_number): Use ISDIGIT, not isdigit.
76924         <libintl.h>: Include.
76925         (_ and N_): Define.
76926         (parse_user_spec): Mark translatable strings.
76927
76928 2000-02-10  Jim Meyering  <meyering@lucent.com>
76929
76930         With these changes, nanosleep.[ch] are finally enough like the other
76931         lib/* replacement files to compile on a few more losing systems.
76932
76933         * lib/nanosleep.h: Don't include config.h.
76934         Remove prototype from declaration of nanosleep.
76935         (PARAMS): Remove now-unneeded definition.
76936         * lib/nanosleep.c: #undef nanosleep.
76937         (rpl_nanosleep): Rename from nanosleep.
76938
76939 2000-02-10  Jim Meyering  <meyering@lucent.com>
76940
76941         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
76942         gnu_nanosleep to rpl_nanosleep.
76943
76944 2000-02-09  Jim Meyering  <meyering@lucent.com>
76945
76946         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
76947         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
76948
76949 2000-02-08  Akim Demaille  <akim@epita.fr>
76950
76951         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
76952         `[' and `]' and remove uses of `changequote'.
76953         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
76954         (AC_SYS_LARGEFILE): Likewise.
76955         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
76956         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
76957         of changequote.
76958         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
76959         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
76960         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
76961         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
76962
76963 2000-02-05  Jim Meyering  <meyering@lucent.com>
76964
76965         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
76966         Remove explicit use of AC_HEADER_TIME.  It is required by
76967         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
76968         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
76969         in autoconf whereby the expansion of the latter ended up preceding
76970         the expansion of its prerequisite, AC_HEADER_TIME.
76971         Reported by Volker Borchert.
76972
76973 2000-02-03  Jim Meyering  <meyering@lucent.com>
76974
76975         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
76976
76977 2000-02-03  Jim Meyering  <meyering@lucent.com>
76978
76979         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
76980         rather than with `#if HAVE_UTMPNAME'.
76981
76982 2000-02-02  Jim Meyering  <meyering@lucent.com>
76983
76984         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
76985         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
76986         Reported by Eli Zaretskii.
76987
76988 2000-02-01  Jim Meyering  <meyering@lucent.com>
76989
76990         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
76991
76992 2000-01-31  Jim Meyering  <meyering@lucent.com>
76993
76994         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
76995         functions.  Add the time.h and sys/time.h headers along with the
76996         AC_REQUIRE'ment of AC_HEADER_TIME.
76997
76998 2000-01-31  Jim Meyering  <meyering@lucent.com>
76999
77000         * lib/nanosleep.h (nanosleep): Guard declaration with
77001         `#if ! HAVE_DECL_NANOSLEEP'.
77002         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
77003         the declaration in that vendor's sys/timers.h.
77004         Reported by Christian Krackowizer.
77005
77006         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
77007         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
77008         (ISPRINT): Likewise.
77009         Reported by Tom Tromey.
77010
77011 2000-01-30  Jim Meyering  <meyering@lucent.com>
77012
77013         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
77014
77015         * m4/prereq.m4 (utmp_includes): Define.
77016         Check for ut_user and ut_name members in both struct utmpx
77017         and struct utmp.
77018
77019 2000-01-30  Jim Meyering  <meyering@lucent.com>
77020
77021         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
77022         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
77023         header files where only utmpx.ut_user is declared.
77024
77025         * lib/readutmp.h (UT_USER): Define.
77026
77027 2000-01-29  Jim Meyering  <meyering@lucent.com>
77028
77029         * m4/lib-check.m4: New file containing library-related checks from
77030         fileutils and sh-utils (textutils had none).
77031
77032 2000-01-28  Jim Meyering  <meyering@lucent.com>
77033
77034         * m4/perl.m4: Change format of warning message to look more like that
77035         from the missing script.  Suggestion from François Pinard.
77036
77037 2000-01-25  Jim Meyering  <meyering@lucent.com>
77038
77039         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
77040         well as time.h in the compile check.
77041         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
77042         Fix typo in cross-compiling case: s/yes/no/.
77043
77044 2000-01-23  Jim Meyering  <meyering@lucent.com>
77045
77046         * m4/jm-macros.m4: Move df-related tests here from
77047         fileutils/configure.in
77048
77049         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
77050         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
77051
77052         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
77053         s/space/ac_fsusage_space/.
77054         (jm_FILE_SYSTEM_USAGE): Take two parameters.
77055
77056         * m4/ftruncate.m4: New file (derived from part of
77057         fileutils/configure.in).
77058         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
77059         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
77060
77061         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
77062         AC_SUBST these here, rather than just in sh-util/configure.in, so
77063         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
77064         all the same.
77065         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
77066         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
77067         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
77068         (AC_SUBST(POW_LIBM)): Likewise.
77069         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
77070
77071 2000-01-23  Jim Meyering  <meyering@lucent.com>
77072
77073         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
77074         obstack.c.
77075
77076 2000-01-22  Jim Meyering  <meyering@lucent.com>
77077
77078         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
77079
77080         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
77081
77082         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
77083         configure.in
77084         (AC_CHECK_HEADERS): Likewise for sh-utils.
77085         (AC_CHECK_HEADERS): Likewise for textutils.
77086         Merge the three lists of headers.
77087
77088         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
77089         from fileutils' configure.in.
77090
77091         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
77092         code. Moved tests into their own function (_jm_DECL_HEADERS) in
77093         check-decl.m4.
77094
77095         * m4/check-decl.m4: Use #if rather than #ifdef.
77096         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
77097         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
77098         (_jm_DECL_HEADERS): Define new function.
77099         (jm_CHECK_DECLARATIONS): Require it.
77100
77101 2000-01-22  Jim Meyering  <meyering@lucent.com>
77102
77103         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
77104         [! HAVE_DECL_STRTOULL]: Declare strtoull.
77105         Required for some AIX systems.  Reported by Christian Krackowizer.
77106         [TESTING] (main): New function.
77107
77108         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
77109         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
77110         letters.
77111
77112         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
77113         iswprint.
77114
77115         * lib/strverscmp.c (ISDIGIT): Define.
77116         (strverscmp): Use ISDIGIT, not isdigit.
77117
77118 2000-01-19  Jim Meyering  <meyering@lucent.com>
77119
77120         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
77121         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
77122         defines `struct timespec' in <sys/time.h>
77123
77124         * m4/c-bs-a.m4: Remove uses of changequote altogether.
77125         Thanks to Akim for explaining.
77126
77127 2000-01-17  Paul Eggert  <eggert@twinsun.com>
77128
77129         * lib/nanosleep.c (nanosleep):
77130         Don't use SA_INTERRUPT to decide whether to call sigaction, as
77131         POSIX.1 doesn't require SA_INTERRUPT and some systems
77132         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
77133         it's been part of POSIX.1 since day 1 (in 1988).
77134
77135 2000-01-17  Jim Meyering  <meyering@lucent.com>
77136
77137         * lib/interlock: Remove unused file.  Reported by François Pinard.
77138
77139 2000-01-16  Paul Eggert  <eggert@twinsun.com>
77140
77141         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
77142         alert, backslash, formfeed, and vertical tab unnecessarily in
77143         shell quoting style.
77144
77145 2000-01-16  Jim Meyering  <meyering@lucent.com>
77146
77147         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
77148         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
77149         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
77150         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
77151
77152 2000-01-16  Jim Meyering  <meyering@lucent.com>
77153
77154         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
77155         because the latter didn't work.
77156
77157 2000-01-15  Jim Meyering  <meyering@lucent.com>
77158
77159         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
77160         (AC_REPLACE_FUNCS): Add memcpy and memset.
77161         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
77162         Add strpbrk.
77163         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
77164
77165 2000-01-12  Jim Meyering  <meyering@lucent.com>
77166
77167         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
77168         (jm_PREREQ): Use it.
77169         (jm_PREREQ_READUTMP): New macro.
77170         (jm_PREREQ): Use it.
77171
77172 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77173
77174         Quote multibyte characters correctly.
77175         * m4/c-bs-a.m4: New file.
77176         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
77177         (jm_PREREQ): Use it.
77178
77179 2000-01-11  Paul Eggert  <eggert@twinsun.com>
77180
77181         * m4/uintmax_t.m4: Port to autoconf 2.13.
77182
77183 2000-01-08  Jim Meyering  <meyering@ascend.com>
77184
77185         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
77186         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
77187
77188 2000-01-04  Jim Meyering  <meyering@ascend.com>
77189
77190         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
77191         jm_STRUCT_DIRENT_D_TYPE.
77192         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
77193         jm_STRUCT_DIRENT_D_INO.
77194         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
77195         jm_STRUCT_UTIMBUF.
77196         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
77197         renamings.
77198         * m4/utime.m4: Likewise.
77199
77200         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
77201         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
77202
77203 2000-01-03  Paul Eggert  <eggert@twinsun.com>
77204
77205         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
77206         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
77207
77208 2000-01-02  Jim Meyering  <meyering@ascend.com>
77209
77210         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
77211         remember if this is necessary.
77212
77213 1999-12-26  Jim Meyering  <meyering@ascend.com>
77214
77215         * m4/jm-macros.m4: Use it here.
77216         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
77217
77218 1999-12-23  Jim Meyering  <meyering@ascend.com>
77219
77220         * m4/jm-macros.m4: Check for clock_gettime (moved from
77221         fileutils/configure.in)
77222         Check for gettimeofday.
77223
77224 1999-12-20  Jim Meyering  <meyering@ascend.com>
77225
77226         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
77227         autoconf-2.14a-1999-12-20.
77228
77229 1999-12-19  Jim Meyering  <meyering@ascend.com>
77230
77231         * m4/lstat-slash.m4: New file.
77232         * m4/jm-macros.m4: Use the new macro:
77233         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77234
77235 1999-12-07  Jim Meyering  <meyering@ascend.com>
77236
77237         * m4/perl.m4: Require that File::Compare be available, too.
77238         Too many systems seem to lack it.
77239
77240         * m4/strftime.m4: Add checks for most of the cpp macros tested in
77241         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
77242
77243 1999-11-18  Paul Eggert  <eggert@twinsun.com>
77244
77245         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
77246         problem with the QNX 4.25 shell, which doesn't propagate exit
77247         status of failed commands inside shell assignments.
77248
77249 1999-11-17  Jim Meyering  <meyering@ascend.com>
77250
77251         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
77252
77253 1999-11-07  Jim Meyering  <meyering@ascend.com>
77254
77255         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
77256
77257 1999-11-06  Jim Meyering  <meyering@ascend.com>
77258
77259         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
77260         * m4/jm-macros.m4 (jm_MACROS): Use it here.
77261
77262 1999-11-05  Jim Meyering  <meyering@ascend.com>
77263
77264         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
77265         configure.in of textutils, fileutils, and sh-utils into this one
77266         (shared between those packages) file.
77267         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
77268         AC_STRUCT_ST_BLKSIZE.
77269
77270 1999-11-03  Jim Meyering  <meyering@ascend.com>
77271
77272         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
77273         of AC_CHECK_TYPE checks includes unistd.h.
77274         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
77275         Suggestion from Akim Demaille.
77276
77277 1999-10-30  Jim Meyering  <meyering@ascend.com>
77278
77279         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
77280         m4-quoted string.
77281         * m4/ls-mntd-fs.m4: Likewise.
77282         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
77283         * m4/jm-winsz1.m4: Likewise.
77284
77285         * m4/const.m4: Remove file, since the fix made it into the experimental
77286         version of autoconf.
77287         * m4/mktime.m4: Likewise.
77288
77289         * m4/check-type.m4: Remove file, now that the latest version of
77290         AC_CHECK_TYPE takes a third arg to specify additional #includes.
77291
77292         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
77293         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
77294         AC_CHECK_TYPE.
77295
77296 1999-10-04  Jim Meyering  <meyering@ascend.com>
77297
77298         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
77299
77300 1999-09-22  Paul Eggert  <eggert@twinsun.com>
77301
77302         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
77303         2.95.1 bug with HP-UX 10.20.
77304
77305 1999-09-17  Jim Meyering  <meyering@ascend.com>
77306
77307         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
77308         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
77309         due to missing strdup (against sh-utils-2.0).
77310
77311 1999-08-29  Jim Meyering  <meyering@ascend.com>
77312
77313         * m4/jm-macros.m4: Require jm_BISON.
77314         * m4/bison.m4: New file.
77315
77316 1999-08-17  Paul Eggert  <eggert@twinsun.com>
77317
77318         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
77319         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
77320
77321 1999-08-05  Jim Meyering  <meyering@ascend.com>
77322
77323         * m4/getline.m4: Rename test file from conftestdata to conftest.data
77324         to avoid conflicts with `conftest' on 8+3 filesystems.
77325         Suggestion from Eli Zaretskii.
77326
77327 1999-08-04  Jim Meyering  <meyering@ascend.com>
77328
77329         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
77330         fileutils and sh-utils (textutils's getline test was inadequate).
77331         (AM_FUNC_GETLINE): Run this test.
77332         (AC_CHECK_FUNCS): Check for getdelim.
77333         Reported by Bob Proulx.
77334
77335 1999-08-02  Jim Meyering  <meyering@ascend.com>
77336
77337         * m4/jm-macros.m4: Add a comment.
77338
77339 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77340
77341         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
77342         <inttypes.h> defines strtoumax as a macro (and not as a
77343         function).
77344
77345 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77346
77347         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
77348         that we can shift, multiply and divide unsigned long long
77349         values; Ultrix cc can't do it.
77350
77351 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77352
77353         * m4/mktime.m4: New file, which is a preview of what should appear
77354         in the next public autoconf release.
77355
77356 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77357
77358         * m4/lfs.m4: Remove this file.
77359         * m4/largefile.m4: New file.  It contains the old contents of
77360         lfs.m4, except that all names with prefix AC_LFS have been
77361         changed to use the prefix AC_SYS_LARGEFILE instead, to be
77362         compatible with future autoconf versions.  Also, some minor m4
77363         quoting problems have been fixed.
77364
77365 1999-08-01  Paul Eggert  <eggert@twinsun.com>
77366
77367         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
77368         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
77369         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
77370         and simplify the shell code.
77371
77372 1999-08-01  Jim Meyering  <meyering@ascend.com>
77373
77374         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
77375         m4.
77376
77377 1999-07-20  Jim Meyering  <meyering@ascend.com>
77378
77379         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
77380
77381 1999-07-15  Jim Meyering  <meyering@ascend.com>
77382
77383         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
77384
77385 1999-05-22  Jim Meyering  <meyering@ascend.com>
77386
77387         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
77388
77389 1999-05-20  Jim Meyering  <meyering@ascend.com>
77390
77391         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
77392         Add a colon after each `then' in case $4 is empty.
77393
77394 1999-05-16  Jim Meyering  <meyering@ascend.com>
77395
77396         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
77397
77398 1999-05-10  Jim Meyering  <meyering@ascend.com>
77399
77400         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
77401
77402         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
77403         AC_FUNC_MKTIME.
77404
77405 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
77406
77407         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
77408
77409 1999-05-04  Paul Eggert  <eggert@twinsun.com>
77410
77411         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
77412         not CPPFLAGS, so that linking works correctly in IRIX.
77413
77414 1999-04-30  Paul Eggert  <eggert@twinsun.com>
77415
77416         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
77417
77418 1999-04-20  Paul Eggert  <eggert@twinsun.com>
77419
77420         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
77421         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
77422         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
77423         jm_AC_TYPE_UNSIGNED_LONG_LONG.
77424         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
77425
77426         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
77427
77428 1999-04-20  Jim Meyering  <meyering@ascend.com>
77429
77430         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
77431         AC_REPLACE xstroull if necessary.  From Paul Eggert.
77432         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
77433
77434 1999-04-18  Jim Meyering  <meyering@ascend.com>
77435
77436         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
77437         * m4/jm-macros.m4: Use it.
77438
77439 1999-04-06  Jim Meyering  <meyering@ascend.com>
77440
77441         * m4/strftime.m4: Remove test for %f.
77442
77443 1999-03-29  Jim Meyering  <meyering@ascend.com>
77444
77445         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
77446         superset of the AC_TYPE_* checks in the textutils, fileutils,
77447         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
77448         AC_TYPE_PID_T.
77449
77450 1999-03-28  Jim Meyering  <meyering@ascend.com>
77451
77452         * m4/jm-macros.m4: Define GNU_PACKAGE here.
77453         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
77454         replaced e.g., in the *.sh files of the sh-utils.
77455
77456 1999-03-20  Jim Meyering  <meyering@ascend.com>
77457
77458         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
77459         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
77460         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
77461
77462 1999-03-19  Jim Meyering  <meyering@ascend.com>
77463
77464         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
77465
77466 1999-03-12  Jim Meyering  <meyering@ascend.com>
77467
77468         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
77469
77470 1999-03-07  Jim Meyering  <meyering@ascend.com>
77471
77472         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
77473         declared.
77474
77475 1999-02-17  Jim Meyering  <meyering@ascend.com>
77476
77477         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
77478         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
77479
77480 1999-02-07  Jim Meyering  <meyering@ascend.com>
77481
77482         * m4/group-member.m4: New file -- extracted from sh-utils'
77483         configure.in.
77484
77485         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
77486         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
77487
77488 1999-02-06  Jim Meyering  <meyering@ascend.com>
77489
77490         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
77491         * m4/fnmatch.m4: Likewise.
77492         * m4/getgroups.m4: Likewise.
77493         * m4/lstat.m4: Likewise.
77494         * m4/malloc.m4: Likewise.
77495         * m4/putenv.m4: Likewise.
77496         * m4/realloc.m4: Likewise.
77497         * m4/regex.m4: Likewise.
77498         * m4/stat.m4: Likewise.
77499         * m4/strftime.m4: Likewise.
77500         Suggestion from Alain Magloire.
77501
77502         * m4/chown.m4: Use `.$ac_objext', not `.o'.
77503         * m4/fnmatch.m4: Likewise.
77504         * m4/getgroups.m4: Likewise.
77505         * m4/getline.m4: Likewise.
77506         * m4/lstat.m4: Likewise.
77507         * m4/malloc.m4: Likewise.
77508         * m4/memcmp.m4: Likewise.
77509         * m4/putenv.m4: Likewise.
77510         * m4/realloc.m4: Likewise.
77511         * m4/regex.m4: Likewise.
77512         * m4/stat.m4: Likewise.
77513         * m4/strftime.m4: Likewise.
77514         Suggestion from Alain Magloire.
77515
77516         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
77517         an argument.
77518
77519         * m4/regex.m4: Add a run-time Test for proper operation of
77520         re_compile_pattern.
77521
77522 1999-01-31  Jim Meyering  <meyering@ascend.com>
77523
77524         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
77525
77526 1999-01-30  Jim Meyering  <meyering@ascend.com>
77527
77528         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
77529
77530         * m4/jm-mktime.m4: Make this a wrapper around the official
77531         AM_FUNC_MKTIME rather than my private copy, now that the official one
77532         is up to date.
77533         * m4/mktime.m4: Remove file.
77534
77535         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
77536         * m4/uptime.m4: Likewise.
77537         * m4/uintmax_t.m4: Likewise.
77538
77539 1999-01-28  Jim Meyering  <meyering@ascend.com>
77540
77541         * m4/jm-macros.m4: Use jm_AFS.
77542         * m4/afs.m4: New file (from fileutils' configure.in).
77543
77544         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
77545         * m4/chown.m4: Likewise.
77546         * m4/d-ino.m4: Likewise.
77547         * m4/d-type.m4: Likewise.
77548         * m4/fnmatch.m4: Likewise.
77549         * m4/getgroups.m4: Likewise.
77550         * m4/gettext.m4: Likewise.
77551         * m4/jm-mktime.m4: Likewise.
77552         * m4/jm-winsz2.m4: Likewise.
77553         * m4/lcmessage.m4: Likewise.
77554         * m4/ls-mntd-fs.m4: Likewise.
77555         * m4/malloc.m4: Likewise.
77556         * m4/memcmp.m4: Likewise.
77557         * m4/putenv.m4: Likewise.
77558         * m4/realloc.m4: Likewise.
77559         * m4/st_mtim.m4: Likewise.
77560         * m4/strftime.m4: Likewise.
77561
77562 1999-01-16  Jim Meyering  <meyering@ascend.com>
77563
77564         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
77565         (ARGMATCH_DIE_DECL): Define.
77566
77567 1999-01-12  Jim Meyering  <meyering@ascend.com>
77568
77569         * m4/Makefile.am.in: Rewrite to avoid using fmt.
77570         Reported by Lars Hecking.
77571
77572 1999-01-10  Jim Meyering  <meyering@ascend.com>
77573
77574         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
77575         gross kludge.
77576         * m4/inttypes_h.m4: Likewise.
77577         * m4/lstat.m4: Likewise.
77578         * m4/malloc.m4: Likewise.
77579         * m4/readdir.m4: Likewise.
77580         * m4/realloc.m4: Likewise.
77581         * m4/st_dm_mode.m4: Likewise.
77582         * m4/stat.m4: Likewise.
77583         * m4/utimbuf.m4: Likewise.
77584         * m4/utimes.m4: Likewise.
77585
77586         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
77587         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
77588         comments in config.h.in are meaningful.
77589
77590         * m4/jm-macros.m4: Require autoconf-2.13 here.
77591
77592         * m4/regex.m4: By default, don't use the included regex.c on systems
77593         with glibc 2.  Suggestion from Uli Drepper.
77594
77595 1999-01-02  Jim Meyering  <meyering@ascend.com>
77596
77597         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
77598
77599 1998-12-18  Jim Meyering  <meyering@ascend.com>
77600
77601         * m4/Makefile.am.in (Makefile.am): Simplify rule.
77602         Based on a suggestion from Lars Hecking.
77603
77604 1998-11-16  Paul Eggert  <eggert@twinsun.com>
77605
77606         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
77607
77608 1998-11-16  Jim Meyering  <meyering@ascend.com>
77609
77610         * m4/lfs.m4: Double-quote the `uname...` expression.
77611
77612 1998-11-14  Jim Meyering  <meyering@ascend.com>
77613
77614         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
77615         * m4/stat.m4: Likewise.
77616
77617 1998-11-03  Jim Meyering  <meyering@ascend.com>
77618
77619         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
77620         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
77621
77622 1998-10-18  Jim Meyering  <meyering@ascend.com>
77623
77624         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
77625
77626 1998-10-17  Jim Meyering  <meyering@ascend.com>
77627
77628         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
77629         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
77630         calls for those previously hard-coded headers.  Instead, take a new
77631         parameter.
77632         (jm_CHECK_DECLARATIONS): Reflect interface change.
77633         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
77634         (jm_CHECK_DECL_LOCALTIME_R): New macro.
77635
77636         * m4/mktime.m4: Test for spring-forward gap before long-running test.
77637
77638 1998-10-14  Jim Meyering  <meyering@ascend.com>
77639
77640         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
77641         instead of "TZ=America/Vancouver".  From Paul Eggert.
77642
77643 1998-10-11  Jim Meyering  <meyering@ascend.com>
77644
77645         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
77646         This adds a test for a recently added compatibility fix for mktime.c.
77647         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
77648
77649 1998-09-27  Jim Meyering  <meyering@ascend.com>
77650
77651         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
77652
77653         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
77654         ../configure.in, including a change from Gordon Matzigkeit to allow
77655         cross-compiling for the Hurd.
77656
77657         * m4/glibc.m4: New file/macro to test for the GNU C Library
77658         versions 1 and 2.  From Gordon Matzigkeit.
77659         Indent.
77660
77661 1998-09-21  Jim Meyering  <meyering@ascend.com>
77662
77663         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
77664
77665 1998-08-18  Paul Eggert  <eggert@twinsun.com>
77666
77667         Port nanosecond-resolution times to UnixWare 2.1.2 and
77668         pedantic Solaris 2.6.
77669
77670         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
77671         AC_STRUCT_ST_MTIM.
77672         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
77673         Generate name of ns member, instead of just 1 or undef.
77674         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
77675
77676 1998-08-15  Jim Meyering  <meyering@ascend.com>
77677
77678         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
77679         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
77680         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
77681         instead of jm_TYPE_SSIZE_T.
77682
77683 1998-08-12  Jim Meyering  <meyering@ascend.com>
77684
77685         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
77686
77687 1998-08-02  Jim Meyering  <meyering@ascend.com>
77688
77689         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
77690         in acconfig.h manually.
77691
77692 1998-07-31  Paul Eggert  <eggert@twinsun.com>
77693
77694         * m4/st_mtim.m4: New file.
77695
77696 1998-07-28  Jim Meyering  <meyering@ascend.com>
77697
77698         * m4/utimes.m4: Undef stat.
77699
77700 1998-07-25  Jim Meyering  <meyering@ascend.com>
77701
77702         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
77703         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
77704
77705 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
77706
77707         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
77708         uid and gid actually remain unchanged.
77709
77710 1998-07-07  Jim Meyering  <meyering@ascend.com>
77711
77712         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
77713
77714 1998-07-04  Jim Meyering  <meyering@ascend.com>
77715
77716         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
77717         to prove that this macro can be used in packages without regex.c.
77718
77719 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
77720
77721         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
77722         is to be used.
77723
77724 1998-07-03  Jim Meyering  <meyering@ascend.com>
77725
77726         * m4/gettext.m4: Add -lintl if it's found to be necessary.
77727
77728         * m4/gettext.m4: New file -- from gettext-0.10.35.
77729         * m4/lcmessage.m4: Likewise.
77730         * m4/progtest.m4: Likewise.
77731
77732         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
77733         * m4/jm-macros.m4: Require the new macro.
77734
77735 1998-06-29  Jim Meyering  <meyering@ascend.com>
77736
77737         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
77738         for the definition of NGROUPS (used in a system header included
77739         by sys/mount.h).
77740
77741 1998-06-28  Jim Meyering  <meyering@ascend.com>
77742
77743         * m4/ls-mntd-fs.m4: New file.
77744         * m4/fstypename.m4: New file.
77745
77746         * m4/jm-macros.m4: Require the new macro.
77747         * m4/jm-glibc-io.m4: New file.
77748
77749 1998-05-19  Jim Meyering  <meyering@ascend.com>
77750
77751         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
77752         * m4/lchown.m4: New file.
77753
77754         * m4/Makefile.am.in: New file.
77755         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
77756
77757 1998-05-14  Jim Meyering  <meyering@ascend.com>
77758
77759         * m4/Makefile.am (EXTRA_DIST): Add them.
77760         * m4/jm-macros.m4: New file.
77761         * m4/utimbuf.m4: New file.
77762
77763 1998-05-12  Jim Meyering  <meyering@ascend.com>
77764
77765         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
77766
77767 1998-05-11  Jim Meyering  <meyering@ascend.com>
77768
77769         * m4/isc-posix.m4: New file.
77770
77771 1998-05-10  Jim Meyering  <meyering@ascend.com>
77772
77773         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
77774
77775 1998-05-09  Jim Meyering  <meyering@ascend.com>
77776
77777         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
77778         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
77779         with automake.
77780
77781         * m4/ssize_t.m4: New file.
77782         * m4/mktime.m4: Remove file -- the new automake has this now.
77783
77784 1998-04-26  Jim Meyering  <meyering@ascend.com>
77785
77786         * m4/assert.m4: New file.
77787         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
77788
77789 1998-04-05  Jim Meyering  <meyering@ascend.com>
77790
77791         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
77792         (jm_PREREQ): Use it here.
77793
77794 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
77795
77796         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
77797         in acconfig.h.
77798
77799 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
77800
77801         * m4/prereq.m4: New file.
77802         * m4/error.m4: New file.
77803         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
77804
77805 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
77806
77807         * m4/getline.m4: Don't set am_cv_func_working_getline before the
77808         cache-check for the same variable -- that defeated the purpose of
77809         the test; the test program was never run.  This was a problem only
77810         on systems with losing getline functions -- HP-UX 10.20 is one.
77811         Reported by Bjorn Helgaas.
77812
77813 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
77814
77815         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
77816
77817 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
77818
77819         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
77820
77821         * m4/const.m4: New file.  Use an initializer in this declaration
77822         typedef int charset[2]; const charset x;
77823         Reported by Bob Glickstein.
77824
77825 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
77826
77827         * m4/chown.m4: Fix reversed types on -1 args to chown.
77828         From Kaveh Ghazi.
77829
77830 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
77831
77832         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
77833         Add lseek and memchr.
77834
77835         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
77836         T.E.Dickey <dickey@clark.net> said that some older preprocessors
77837         have a 20-character limit on names.
77838
77839 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
77840
77841         * m4/inttypes_h.m4: New file.
77842         * m4/uintmax_t.m4: New file.
77843         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
77844
77845
77846         -----
77847
77848         Local Variables:
77849         coding: utf-8
77850         End:
77851
77852         Copyright (C) 1997-2011 Free Software Foundation, Inc.
77853
77854         Copying and distribution of this file, with or without
77855         modification, are permitted provided the copyright notice
77856         and this notice are preserved.